#116 - Tại sao Cloudflare bắt đầu cache dữ liệu "ít truy cập" lên RAM?
Do ảnh hưởng của dịch bệnh, nên từ đầu năm nay, các hoạt động TechTalk, Workshop, InterviewDay của Grokking đã ngưng lại và sẽ chỉ mở lại sau khi dịch bệnh kết thúc.
Trong thời gian này, các hoạt động của Grokking chủ yếu trên càng nền tảng online như Webinar, Newsletter, Survey, v.v...
Cùng theo dõi và cập nhật những tin tức mới nhất và chính xác về dịch bệnh tại website của Bộ Y Tế nhé: https://ncov.moh.gov.vn/
Những bài viết hay
Why We Started Putting Unpopular Assets in Memory? — blog.cloudflare.com
Dữ liệu truy cập thường xuyên sẽ được lưu vào cache (SSD & RAM) để giảm độ trễ đọc.
Ở CloudFlare các kĩ sư thấy việc ghi dữ liệu không phổ biến (ít được truy cập) vào bộ nhớ SSD không những giảm tuổi thọ của chip nhớ NAND (SSD) mà tốc độ đọc cũng bị ảnh hưởng. Họ đã thử nghiệm phương án cache lai giữa: Transient Cache (RAM) và Permanent Cache (SSD) . Dữ liệu trước tiên sẽ được được ưu tiên lưu vào RAM (đi kèm cơ chế tự động loại bỏ), sau đó sẽ được "đề cử" để ghi vào SSD nếu được truy cập thường xuyên hơn.
Phương án này có thực sự hiệu quả, và đối với lượng lớn dữ liệu thì việc đánh đổi chi phí RAM & hao mòn SSD có đem lại hiệu quả?
Component-Driven Collaboration — hackernoon.com
Component-Driven Collaboration (CDC) là một phương thức để xây dựng front-end code, bằng cách chia thành nhiều team đảm nhận phát triển một hoặc một nhóm component độc lập khác nhau. CDC là một cách để tối ưu hoá và tăng thêm lợi ích cho Component-Driven Development.
How to Scope Down PRs — www.netlify.com
Trong thực tế code review có thể là một quá trình cực kì mệt mỏi đối với cả tác giả của Pull Request(PR) lẫn reviewer. Một giải pháp đơn giản để tránh được điều đó là giảm phạm vi của một PR(Scope down). Một PR với scope nhỏ có những ưu điểm như dễ theo dõi, test nhanh, mất ít thời gian để review. Một task lớn nếu được chia nhỏ thành nhiều PRs sẽ giúp cho quá trình phát triển nhanh hơn, đồng thời vẫn đảm bảo được chất lượng.
Slowly Changing Dimensions (SCDs) In The Age of The Cloud Data Warehouse — www.holistics.io
Trong quá trình thiết kế data warehouse, việc xác định Slowly Change Dimension và tổ chức lưu trữ những thay đổi này phù hợp sẽ giúp cho dữ liệu được phân tích rõ ràng hơn, tránh nhập nhằng. Có một vài hướng tiếp cận cho vấn đề này được đề cập trong bài viết từ Holistic
Góc Database
B+ tree và columnstore là một trong hai khuynh hướng lưu trữ index gần đây của các hệ quản trị cơ sở dữ liệu. Và một trong những nhận định phổ biến đó là B+ tree sẽ phù hợp hơn với các tác vụ OLTP (OnLine Transaction Processing), còn columnstore thì lại phù hợp hơn cho nhu cầu OLAP (OnLine Analytical Processing). Tuy nhiên, liệu việc kết hợp cả 2 kiểu index này có khả thi và có mang lại tác dụng nào hay không?
Một nhóm tác giả đã tiến hành triển khai benchmark sử dụng các tình huống queries khác nhau để so sánh, đánh giá hiệu quả của việc sử dụng một trong hai phương án index, hoặc là cách dùng hybrid kết hợp cả 2 kiểu index lại với nhau.
Một vài kinh nghiệm họ rút tỉa ra được:
B+ tree index phù hợp cho việc duyệt các điểm dữ liệu hoặc scan các cụm dữ liệu ngắn. B+ tree index cũng hiệu quả cho các tác vụ update các dòng riêng lẻ.
Columnstore index (CSI) dùng dưới dạng khoá chính thì lại phù hợp cho việc scan các khoảng dữ liệu lớn hoặc các thao tác bulk updates.
Ngoài ra, khi kết hợp CSI dùng dưới dạng khoá phụ kết hợp với B+ tree ở dạng khoá chính sẽ giúp tăng tốc độ cho các thao tác phân tích dữ liệu (operational analytics) trên cùng database.
Dựa vào kết quả này, họ cũng đưa ra một vài khuyến nghị để nâng cấp DTA (Database Engine Tuning Advisor), công cụ giúp tối ưu hiệu quả query dùng trên nền SQL Server của họ.
Bài viết khác về Database
Khi nào thì nên sử dụng MyRocks? (MyRocks là một storage engine dùng cho MySQL, tương tự InnoDB Engine, có tích hợp RocksDB. Sự tích hợp này mang đến nhiều lợi ích trong việc lưu trữ trên các bộ nhớ flash cho các thao tác đọc, ghi, hiệu quả lưu trữ)
Code & Tools
Tin tức khác
Quote
A computer is like a mischievous genie. It will give you exactly what you ask for, but not always what you want.
― Joe Sondow
Để giúp cải thiện chất lượng nội dung của newsletter, mong bạn dành ít thời gian phản hồi cũng như đóng góp ý tưởng giúp team thông qua link khảo sát hàng tuần tại đây.