Twitter Sparrow tackles data storage challenges of scale
Bài tóm tắt Twitter 2022 3. Quy mô lớn Độ khó: Cơ bản
Bài nửa kỹ thuật nửa văn hoá/tuyển dụng; chi tiết kiến trúc ít. Chi tiết đầy đủ nằm trong bài báo IEEE BigData 2021 mà bài trỏ tới.
Twitter · 2022 · 3. Quy mô lớn · Độ khó: Cơ bản — bài gốc
Bối cảnh
- Mọi tương tác (bấm, vuốt, cuộn) được log thành event từ hàng chục nghìn microservice ở nhiều data center; quy mô hàng chục nghìn node, hàng trăm petabyte, hàng nghìn tỉ event/ngày (2022).
- Pipeline nạp log cũ là batch, tối ưu thông lượng (hàng tỉ event/phút) nên dữ liệu mới tới tay kỹ sư dữ liệu sau tới vài giờ.
Thay đổi chính
- Sparrow bắt đầu từ Hack Week 2020: làm lại pipeline theo hướng streaming-first.
- Streaming Event Aggregator gom event từ service đẩy vào message queue (Kafka hoặc Google Pub/Sub); Streaming Event Processor chạy Apache Beam trên Google Dataflow đọc queue, biến đổi/đổi định dạng rồi ghi liên tục vào BigQuery và Cloud Storage.
- Pipeline phải phục vụ cả stream (dữ liệu tươi) lẫn dữ liệu lịch sử (báo cáo dài kỳ, vốn batch đơn giản và rẻ hơn).
- Độ trễ từ hàng giờ xuống vài phút, thậm chí vài giây. Theo Twitter, quy mô của họ đẩy dịch vụ Google Cloud tới giới hạn, công sức scale pipeline và hạ tầng đi kèm rất lớn.
Vì sao
- Muốn phân tích hành vi người dùng gần thời gian thực để làm sản phẩm và thử nghiệm nhanh hơn.
Bài học cho SWE
- Batch để tối ưu thông lượng đổi lấy độ trễ; khi nhu cầu đổi, thiết kế phải giữ được cả hai đường tiêu thụ (stream và lịch sử).
- Dịch vụ cloud managed cũng có giới hạn ở quy mô rất lớn; cần thời gian scale cùng nhà cung cấp.
Liên quan
- Pipeline dữ liệu và analytics · Stream processing
- Bối cảnh chuyển dữ liệu lên GCP: Twitter 2022
#log pipeline#batch sang streaming#Kafka#Google Pub/Sub#Apache Beam#Dataflow#BigQuery#GCS#độ tươi dữ liệu
Được nhắc tới trong
Công ty (1)