#67 - Dùng Kafka, Dataflow và BigQuery để theo dõi hơn 10 tỷ event mỗi ngày
Mời bạn tham gia cộng tác viên với Grokking Newsletter để có thể đóng góp bài viết tới hàng ngàn bạn đọc mỗi tuần nhé. Link đăng ký tại đây.
Những bài viết hay
A one size fits all database doesn't fit anyone — www.allthingsdistributed.com
Một câu hỏi thường được đặt ra là tại sao chúng ta lại luôn có quá nhiều cơ sở dữ liệu (database)? Câu trả lời rất đơn giản: Các lập trình viên muốn ứng dụng của họ được thiết kế tốt, có khả năng mở rộng hiệu quả. Để làm được điều này, họ cần khả năng sử dụng nhiều cơ sở dữ liệu trong một ứng dụng. Ít khi nào một cơ sở dữ liệu có thể phù hợp với toàn bộ nhu cầu của một sản phẩm.
Give meaning to 100 billion analytics events a day — medium.com
Đối với ngành quảng cáo kỹ thuật số, các hoạt động hằng ngày tạo ra rất nhiều sự kiện cần được theo dõi để đảm bảo sự minh bạch. Các sự kiện này đến từ việc người dùng tương tác với quảng cáo, được gửi bởi trình duyệt. Với hơn 10 tỷ sự kiện mỗi ngày, việc tracking đã trở thành một phần quan trọng. Trong bài viết này, tác giả đã mô tả cách phối hợp Kafka, Dataflow và BigQuery cùng nhau để giải quyết bài toán.
Các kĩ sư Pinterest đã xây dựng Progressive Web App như thế nào — kipalog.com
Ý tưởng xây dựng một Progressive Web App (viết tắt là PWA) không phải là mới, được Google giới thiệu lần đầu vào năm 2015 với mục đích mang lại thật nhiều lợi ích cho cả người dùng và các nhà phát triển. Sau nhiều quá trình cố gắng, các kỹ sư tại Pinterest đã xây dựng thành công Progressive Web App với trải nghiệm người dùng tuyệt vời trong trình duyệt trên mobile.
Có thể bạn chưa biết
Bài toán "Hai vị tướng" trong thiết kế hệ thống phân tán
Bài toán "Hai vị tướng" là một thử nghiệm tư duy nhằm minh họa những cạm bẫy và thách thức trong thiết kế khi cố gắng phối hợp hành động bằng cách giao tiếp qua một liên kết không đáng tin cậy. Trong thí nghiệm, hai vị tướng chỉ có thể liên lạc với nhau bằng cách gửi một người đưa tin qua lãnh thổ của kẻ thù. Thí nghiệm hỏi làm thế nào họ có thể đạt được thỏa thuận về thời gian tiến hành một cuộc tấn công, trong khi biết rằng bất kỳ tin nhắn nào họ gửi đều có thể bị bắt.
Sách hay nên đọc
What every developer should know about SQL performance — use-the-index-luke.com
Một blog với rất nhiều bài viết hay và hữu ích về SQL indexing.
Code & Tools
Thư viện tách từ tiếng Việt — github.com
Cốc Cốc chia sẻ mã nguồn mở trên github của thư viện tách từ tiếng Việt (tokenizer) vốn dĩ được sử dụng trong công cụ tìm kiếm Cốc Cốc.
Những tính năng chính:
1. Thư viện tokenizer này xử hữu tốc độ dữ liệu nhanh hơn so với những thư viện khác – đây cũng là mục đích mà Cốc Cốc nhắm tới khi bắt đầu dự án. Hiện tại tốc độ xử lý vào khoảng 15 triệu ký tự một giây trên một máy tính cá nhân phổ thông.
2. Chức năng quan trọng nhất hiển nhiên là tách từ tiếng Việt (cả có dấu lẫn không dấu).
3. Chức năng tách các từ được viết liền, ví dụ như “dantri” hay “machinelearningcoban”.
Ở Cốc Cốc, thư viện này là một trong những thành phần trọng yếu, được sử dụng trong những dịch vụ như thêm dấu tự động và kiểm tra lỗi chính tả, trong những bài toán phân loại văn bản, trong định hướng quảng cáo theo hành vi, trong xếp hạng kết quả tìm kiếm...
QUOTABLE
It is incorrect to point to the human mind as an example of "general intelligence". That's why I prefer talking about "strong AI" or "human-level AI", rather than "AGI", which is a made-up science-fiction idea already discredited by the available evidence.
—François Chollet, a leading deep learning researcher at Google, on why AGI—artificial general intelligence—is but a pipe dream