Cách Facebook tăng tốc SQL
(datanami.com)- Facebook đang sử dụng Presto ở quy mô rất lớn: 40.000 máy chủ, quét khoảng 1 ExaByte dữ liệu mỗi ngày, hơn 80% là ETL mới
→ Tách biệt Compute và Storage
- Presto hoạt động tốt, nhưng để có các truy vấn nhanh hơn (dưới 1 giây), Facebook đã phát triển Raptor
→ Lưu đệm trên SSD cục bộ, metastore theo đơn vị tệp
→ Compute và Storage lại bị gắn kết với nhau → việc mở rộng quy mô và quản lý trở nên khó khăn
- Từ mùa thu năm ngoái, Facebook bắt đầu phát triển một giải pháp thay thế Raptor dựa trên việc chỉnh sửa Alluxio: Alluxio Local Cache
→ Hiệu năng tương tự Raptor nhưng không cần lưu đệm trên SSD cục bộ
→ Alluxio là một hệ thống tệp phân tán ảo, đóng vai trò cầu nối trung gian dựa trên bộ nhớ để kết nối nhiều engine tính toán với nhiều hệ thống lưu trữ
- Alluxio Local Cache
→ Được đưa vào bản phát hành chính thức từ phiên bản 2.2
→ Là thư viện có thể nhúng trực tiếp vào JVM của Presto Server mà không cần dùng toàn bộ Alluxio
- Facebook đã gần như loại bỏ toàn bộ Raptor khỏi toàn bộ cụm Presto và triển khai Alluxio Local Cache
→ Dữ liệu của Facebook có thể được truy cập qua giao diện HDFS dưới định dạng tệp ORC
→ Vẫn dùng SSD cục bộ, nhưng nếu không có trong cache thì cũng có thể truy cập kho lưu trữ từ xa
→ Cải thiện hiệu năng cho Presto khoảng 30%~50%
→ Giảm 57% số lần truy cập kho lưu trữ từ xa so với Raptor
→ Tỷ lệ cache hit của Alluxio Cache vượt 90%
→ Dự kiến sẽ loại bỏ hoàn toàn Raptor trong vòng 6 tháng
Chưa có bình luận nào.