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?