Designing Data-Intensive Applications

Mục tiêu học

  • Hiểu các nguyên lý bền vững phía sau hệ thống dữ liệu: reliability, scalability, maintainability.
  • Xây được mental model cho database internals, distributed data, transactions, consistency, batch/stream processing.
  • Biết đặt câu hỏi trade-off khi chọn công cụ dữ liệu thay vì chạy theo buzzword.

Nguồn

Bản đồ đọc

Part I — Foundations of Data Systems

Part II — Distributed Data

Part III — Derived Data

Khái niệm trọng tâm cần gom về concept note

Tiến độ

TABLE date, status, pages_planned, pages_read, current_page_after, section
FROM "03 - Daily Reading/Designing Data-Intensive Applications"
WHERE book = [[Designing Data-Intensive Applications]]
SORT date ASC

Câu hỏi lớn khi đọc

  • Khi nào bottleneck là dữ liệu thay vì compute?
  • Reliability, scalability, maintainability có xung đột nhau ở những quyết định thiết kế nào?
  • Khi nào nên chọn relational, document, graph, log, batch, stream, hoặc phối hợp nhiều hệ thống?
  • Những guarantee nào thực sự có ý nghĩa trong hệ phân tán khi network, clock, process đều không đáng tin tuyệt đối?