Phân mảnh (partitioning)

DDIA Ch6 — khi dữ liệu quá lớn cho một node, chia nó ra: partition theo key-range vs hash (hot spot, skew), consistent hashing & rebalancing, secondary-index partitioning (local vs global), và request routing. Recall consistent-hashing, hash-function, inverted-index.

6 bài · ~66 phútMiễn phí

Nội dung

Danh sách bài học

  1. 01

    Module 3 — Phân mảnh (Partitioning): tổng quan

    Khi dữ liệu quá lớn cho một node, chia nó ra nhiều partition. Cách chia (range vs hash), consistent hashing & rebalancing, secondary index và request routing.

    ~10 phút
  2. 02

    Partition theo key-range vs hash — và bài toán hot spot

    Hai cách chia dữ liệu ra partition: theo dải khoá (range) giữ thứ tự nhưng dễ hot spot, hay theo hash phân bố đều nhưng mất range query. Đánh đổi và skew.

    ~12 phút
  3. 03

    Consistent hashing & rebalancing — thêm/bớt node ít xáo trộn

    Hash mod N làm thêm/bớt node phải xáo lại gần hết dữ liệu. Consistent hashing chỉ di chuyển phần nhỏ; virtual node cân bằng tải. Chiến lược rebalancing.

    ~12 phút
  4. 04

    Secondary index phân mảnh — local (document) vs global (term)

    Index phụ khó phân mảnh vì nó cắt ngang cách chia dữ liệu chính. Hai cách: local (document-partitioned) rẻ ghi đắt đọc, global (term-partitioned) ngược lại.

    ~12 phút
  5. 05

    Request routing — tìm đúng node giữ dữ liệu

    Chia dữ liệu ra nhiều node xong, client làm sao biết hỏi node nào cho một khoá? Ba cách route, dịch vụ coordination, và giữ mapping đúng khi partition di chuyển.

    ~11 phút
  6. 06

    Module 3 — Tổng kết & cheat sheet

    Recap partitioning: range vs hash, consistent hashing & rebalancing, secondary index (local/global), request routing. Cheat sheet, glossary, self-assessment.

    ~9 phút