Thuật toán Ứng dụng — DP, String, Big Data & hơn nữa
~12 phútBig data & streaming — Khi RAM không đủAll-Access

Big data & streaming: tổng kết và cheat sheet

Recap streaming: bảng chọn sketch/sampling theo bài toán (distinct, tần suất, mẫu, window), thuật ngữ, tự kiểm tra.

TL;DR: Module này trang bị năm kỹ thuật cho thế giới dữ liệu lớn hơn RAM: external merge sort chia dữ liệu thành chunk vừa bộ nhớ rồi k-way merge tuần tự; reservoir sampling lấy mẫu đại diện O(k) từ stream chưa biết độ dài; HyperLogLog đếm distinct với 12 KB và sai số 0.81%; Count-Min Sketch ước lượng tần suất trong ma trận d×w; sliding window duy trì thống kê cửa sổ N phần tử gần nhất với deque đơn điệu O(1). Redis HyperLogLog là bản triển khai production của một sketch; Kafka cho thấy cùng nguyên lý ghi đọc tuần tự mà external sort khai thác. Trang này là cheat sheet để bookmark: bảng chọn thuật toán, 12 thuật ngữ, các bẫy hay gặp, và 6 câu tự kiểm tra liên bài.

Đã đi qua những gì

Bảy bài, mỗi bài bán đi một thứ để lấy bộ nhớ nhỏ hoặc I/O tuần tự:

BàiCông cụBán đi thứ gìCon số neo
01External sortSố lượt đọc ghi đĩaSố lượt = ⌈log_k(N/M)⌉, 100 GB với RAM 8 GB
02Reservoir samplingViệc nhìn toàn bộ dữ liệuO(k) bộ nhớ, mỗi phần tử vào mẫu với xác suất k/n
03HyperLogLogKhả năng liệt kê phần tử16.384 register, 12 KB, sai số chuẩn 1.04/√m ≈ 0.81%
04Count-Min SketchĐộ chính xác (chỉ đếm dư)Ma trận d×w, estimate(x) >= freq(x)
05Sliding windowLịch sử ngoài cửa sổDeque O(1) amortized; rate limiter chọn log hay counter
06Mini-challenge top-KThứ hạng chính xácCMS + min-heap, bộ nhớ O(d×w + K)
07Redis HLL và KafkaRedis bán độ chính xác, Kafka bán dung lượng đĩa12 KB tối đa mỗi key; log giữ đến hết retention

Bảng đánh đổi năm công cụ: mỗi công cụ từ bỏ một thứ để đổi lấy bộ nhớ nhỏ

Cả module quy về một luật: không công cụ nào cho không bộ nhớ hằng số, mỗi cái đều bán đi một thứ. Chọn công cụ nghĩa là chọn món mình chịu mất được.

All-Access Pass

Phần còn lại của bài dành cho All-Access Pass

Bạn vừa đọc phần xem trước. Hai bài đầu của mỗi khoá luôn đọc trọn miễn phí.

  • Đọc trọn mọi bài trong 6 khoá System Design và dữ liệu phân tán
  • AI Mentor trả lời theo toàn bộ nội dung bài
  • Trả một lần, không tự gia hạn, không tự trừ tiền

Trọn đời

1.690.000 ₫

Trả một lần, dùng mãi mãi

Gói năm

699.000 ₫

365 ngày · ≈ 58.000 ₫/tháng

Thanh toán bằng thẻ Visa/Master/JCB qua Polar. Xem bảng giá

Đã mua? Đăng nhập để đọc tiếp

Bài này có giúp bạn hiểu bản chất không?

Bài này đáng gửi cho bạn học cùng?

Copy link đã gắn nguồn — dán group, chat, hoặc LinkedIn.

Thảo luận & góp ý

Hỏi đáp về bài này

Bài tiếp theo

Module 9 — Thuật toán phân tán: tổng quan