mirror of
https://github.com/Vonng/ddia.git
synced 2026-06-21 17:07:12 +08:00
218 lines
No EOL
10 KiB
Markdown
218 lines
No EOL
10 KiB
Markdown
---
|
||
title: "目錄"
|
||
linkTitle: "目錄"
|
||
weight: 10
|
||
breadcrumbs: false
|
||
---
|
||
|
||
|
||
|
||

|
||
|
||
|
||
## [序言](/tw/preface)
|
||
|
||
## [1. 資料系統架構中的權衡](/tw/ch1)
|
||
|
||
- [分析型與事務型系統](/tw/ch1#sec_introduction_analytics)
|
||
- [事務處理與分析的特徵](/tw/ch1#sec_introduction_oltp)
|
||
- [資料倉庫](/tw/ch1#sec_introduction_dwh)
|
||
- [權威資料來源與派生資料](/tw/ch1#sec_introduction_derived)
|
||
- [雲服務與自託管](/tw/ch1#sec_introduction_cloud)
|
||
- [雲服務的利弊](/tw/ch1#sec_introduction_cloud_tradeoffs)
|
||
- [雲原生系統架構](/tw/ch1#sec_introduction_cloud_native)
|
||
- [雲時代的運維](/tw/ch1#sec_introduction_operations)
|
||
- [分散式與單節點系統](/tw/ch1#sec_introduction_distributed)
|
||
- [分散式系統的問題](/tw/ch1#sec_introduction_dist_sys_problems)
|
||
- [微服務與 Serverless](/tw/ch1#sec_introduction_microservices)
|
||
- [雲計算與超級計算](/tw/ch1#id17)
|
||
- [資料系統、法律與社會](/tw/ch1#sec_introduction_compliance)
|
||
- [總結](/tw/ch1#summary)
|
||
|
||
|
||
## [2. 定義非功能性需求](/tw/ch2)
|
||
|
||
- [案例研究:社交網路首頁時間線](/tw/ch2#sec_introduction_twitter)
|
||
- [表示使用者、帖子與關注關係](/tw/ch2#id20)
|
||
- [時間線的物化與更新](/tw/ch2#sec_introduction_materializing)
|
||
- [描述效能](/tw/ch2#sec_introduction_percentiles)
|
||
- [延遲與響應時間](/tw/ch2#id23)
|
||
- [平均值、中位數與百分位數](/tw/ch2#id24)
|
||
- [響應時間指標的應用](/tw/ch2#sec_introduction_slo_sla)
|
||
- [可靠性與容錯](/tw/ch2#sec_introduction_reliability)
|
||
- [容錯](/tw/ch2#id27)
|
||
- [硬體與軟體故障](/tw/ch2#sec_introduction_hardware_faults)
|
||
- [人類與可靠性](/tw/ch2#id31)
|
||
- [可伸縮性](/tw/ch2#sec_introduction_scalability)
|
||
- [描述負載](/tw/ch2#id33)
|
||
- [共享記憶體、共享磁碟與無共享架構](/tw/ch2#sec_introduction_shared_nothing)
|
||
- [可伸縮性原則](/tw/ch2#id35)
|
||
- [可維護性](/tw/ch2#sec_introduction_maintainability)
|
||
- [可操作性:讓運維更輕鬆](/tw/ch2#id37)
|
||
- [簡單性:管理複雜度](/tw/ch2#id38)
|
||
- [可演化性:讓變化更容易](/tw/ch2#sec_introduction_evolvability)
|
||
- [總結](/tw/ch2#summary)
|
||
|
||
|
||
## [3. 資料模型與查詢語言](/tw/ch3)
|
||
|
||
- [關係模型與文件模型](/tw/ch3#sec_datamodels_history)
|
||
- [物件關係不匹配](/tw/ch3#sec_datamodels_document)
|
||
- [規範化、反規範化與連線](/tw/ch3#sec_datamodels_normalization)
|
||
- [多對一與多對多關係](/tw/ch3#sec_datamodels_many_to_many)
|
||
- [星型與雪花型:分析模式](/tw/ch3#sec_datamodels_analytics)
|
||
- [何時使用哪種模型](/tw/ch3#sec_datamodels_document_summary)
|
||
- [圖資料模型](/tw/ch3#sec_datamodels_graph)
|
||
- [屬性圖](/tw/ch3#id56)
|
||
- [Cypher 查詢語言](/tw/ch3#id57)
|
||
- [SQL 中的圖查詢](/tw/ch3#id58)
|
||
- [三元組儲存與 SPARQL](/tw/ch3#id59)
|
||
- [Datalog:遞迴關係查詢](/tw/ch3#id62)
|
||
- [GraphQL](/tw/ch3#id63)
|
||
- [事件溯源與 CQRS](/tw/ch3#sec_datamodels_events)
|
||
- [資料框、矩陣與陣列](/tw/ch3#sec_datamodels_dataframes)
|
||
- [總結](/tw/ch3#summary)
|
||
|
||
|
||
## [4. 儲存與檢索](/tw/ch4)
|
||
|
||
- [OLTP 系統的儲存與索引](/tw/ch4#sec_storage_oltp)
|
||
- [日誌結構儲存](/tw/ch4#sec_storage_log_structured)
|
||
- [B 樹](/tw/ch4#sec_storage_b_trees)
|
||
- [比較 B 樹與 LSM 樹](/tw/ch4#sec_storage_btree_lsm_comparison)
|
||
- [多列索引與二級索引](/tw/ch4#sec_storage_index_multicolumn)
|
||
- [全記憶體儲存](/tw/ch4#sec_storage_inmemory)
|
||
- [分析型資料儲存](/tw/ch4#sec_storage_analytics)
|
||
- [雲資料倉庫](/tw/ch4#sec_cloud_data_warehouses)
|
||
- [列式儲存](/tw/ch4#sec_storage_column)
|
||
- [查詢執行:編譯與向量化](/tw/ch4#sec_storage_vectorized)
|
||
- [物化檢視與多維資料集](/tw/ch4#sec_storage_materialized_views)
|
||
- [多維索引與全文索引](/tw/ch4#sec_storage_multidimensional)
|
||
- [全文檢索](/tw/ch4#sec_storage_full_text)
|
||
- [向量嵌入](/tw/ch4#id92)
|
||
- [總結](/tw/ch4#summary)
|
||
|
||
|
||
## [5. 編碼與演化](/tw/ch5)
|
||
|
||
- [編碼資料的格式](/tw/ch5#sec_encoding_formats)
|
||
- [特定語言的格式](/tw/ch5#id96)
|
||
- [JSON、XML 及其二進位制變體](/tw/ch5#sec_encoding_json)
|
||
- [Protocol Buffers](/tw/ch5#sec_encoding_protobuf)
|
||
- [Avro](/tw/ch5#sec_encoding_avro)
|
||
- [模式的優點](/tw/ch5#sec_encoding_schemas)
|
||
- [資料流的模式](/tw/ch5#sec_encoding_dataflow)
|
||
- [流經資料庫的資料流](/tw/ch5#sec_encoding_dataflow_db)
|
||
- [流經服務的資料流:REST 與 RPC](/tw/ch5#sec_encoding_dataflow_rpc)
|
||
- [持久化執行與工作流](/tw/ch5#sec_encoding_dataflow_workflows)
|
||
- [事件驅動的架構](/tw/ch5#sec_encoding_dataflow_msg)
|
||
- [總結](/tw/ch5#summary)
|
||
|
||
|
||
## [6. 複製](/tw/ch6)
|
||
|
||
- [單主複製](/tw/ch6#sec_replication_leader)
|
||
- [同步複製與非同步複製](/tw/ch6#sec_replication_sync_async)
|
||
- [設定新的副本](/tw/ch6#sec_replication_new_replica)
|
||
- [處理節點故障](/tw/ch6#sec_replication_failover)
|
||
- [複製日誌的實現](/tw/ch6#sec_replication_implementation)
|
||
- [複製延遲的問題](/tw/ch6#sec_replication_lag)
|
||
- [讀己之寫](/tw/ch6#sec_replication_ryw)
|
||
- [單調讀](/tw/ch6#sec_replication_monotonic_reads)
|
||
- [一致字首讀](/tw/ch6#sec_replication_consistent_prefix)
|
||
- [複製延遲的解決方案](/tw/ch6#id131)
|
||
- [多主複製](/tw/ch6#sec_replication_multi_leader)
|
||
- [跨地域執行](/tw/ch6#sec_replication_multi_dc)
|
||
- [同步引擎與本地優先軟體](/tw/ch6#sec_replication_offline_clients)
|
||
- [處理寫入衝突](/tw/ch6#sec_replication_write_conflicts)
|
||
- [CRDT 與操作變換](/tw/ch6#sec_replication_crdts)
|
||
- [無主複製](/tw/ch6#sec_replication_leaderless)
|
||
- [當節點故障時寫入資料庫](/tw/ch6#id287)
|
||
- [仲裁一致性的侷限](/tw/ch6#sec_replication_quorum_limitations)
|
||
- [單主與無主複製的效能](/tw/ch6#sec_replication_leaderless_perf)
|
||
- [檢測併發寫入](/tw/ch6#sec_replication_concurrent)
|
||
- [總結](/tw/ch6#summary)
|
||
|
||
|
||
## [7. 分片](/tw/ch7)
|
||
|
||
- [分片的利與弊](/tw/ch7#sec_sharding_reasons)
|
||
- [面向多租戶的分片](/tw/ch7#sec_sharding_multitenancy)
|
||
- [鍵值資料的分片](/tw/ch7#sec_sharding_key_value)
|
||
- [按鍵的範圍分片](/tw/ch7#sec_sharding_key_range)
|
||
- [按鍵的雜湊分片](/tw/ch7#sec_sharding_hash)
|
||
- [傾斜的工作負載與緩解熱點](/tw/ch7#sec_sharding_skew)
|
||
- [運維:自動/手動再均衡](/tw/ch7#sec_sharding_operations)
|
||
- [請求路由](/tw/ch7#sec_sharding_routing)
|
||
- [分片與二級索引](/tw/ch7#sec_sharding_secondary_indexes)
|
||
- [本地二級索引](/tw/ch7#id166)
|
||
- [全域性二級索引](/tw/ch7#id167)
|
||
- [總結](/tw/ch7#summary)
|
||
|
||
|
||
## [8. 事務](/tw/ch8)
|
||
|
||
- [事務到底是什麼?](/tw/ch8#sec_transactions_overview)
|
||
- [ACID 的含義](/tw/ch8#sec_transactions_acid)
|
||
- [單物件與多物件操作](/tw/ch8#sec_transactions_multi_object)
|
||
- [弱隔離級別](/tw/ch8#sec_transactions_isolation_levels)
|
||
- [讀已提交](/tw/ch8#sec_transactions_read_committed)
|
||
- [快照隔離與可重複讀](/tw/ch8#sec_transactions_snapshot_isolation)
|
||
- [防止丟失更新](/tw/ch8#sec_transactions_lost_update)
|
||
- [寫偏斜與幻讀](/tw/ch8#sec_transactions_write_skew)
|
||
- [可序列化](/tw/ch8#sec_transactions_serializability)
|
||
- [實際序列執行](/tw/ch8#sec_transactions_serial)
|
||
- [兩階段鎖定(2PL)](/tw/ch8#sec_transactions_2pl)
|
||
- [可序列化快照隔離(SSI)](/tw/ch8#sec_transactions_ssi)
|
||
- [分散式事務](/tw/ch8#sec_transactions_distributed)
|
||
- [兩階段提交(2PC)](/tw/ch8#sec_transactions_2pc)
|
||
- [跨不同系統的分散式事務](/tw/ch8#sec_transactions_xa)
|
||
- [資料庫內部的分散式事務](/tw/ch8#sec_transactions_internal)
|
||
- [總結](/tw/ch8#summary)
|
||
|
||
|
||
## [9. 分散式系統的麻煩](/tw/ch9)
|
||
|
||
- [故障與部分失效](/tw/ch9#sec_distributed_partial_failure)
|
||
- [不可靠的網路](/tw/ch9#sec_distributed_networks)
|
||
- [TCP 的侷限性](/tw/ch9#sec_distributed_tcp)
|
||
- [實踐中的網路故障](/tw/ch9#sec_distributed_network_faults)
|
||
- [故障檢測](/tw/ch9#id307)
|
||
- [超時與無界延遲](/tw/ch9#sec_distributed_queueing)
|
||
- [同步網路與非同步網路](/tw/ch9#sec_distributed_sync_networks)
|
||
- [不可靠的時鐘](/tw/ch9#sec_distributed_clocks)
|
||
- [單調時鐘與日曆時鐘](/tw/ch9#sec_distributed_monotonic_timeofday)
|
||
- [時鐘同步與準確性](/tw/ch9#sec_distributed_clock_accuracy)
|
||
- [對同步時鐘的依賴](/tw/ch9#sec_distributed_clocks_relying)
|
||
- [程序暫停](/tw/ch9#sec_distributed_clocks_pauses)
|
||
- [知識、真相與謊言](/tw/ch9#sec_distributed_truth)
|
||
- [多數派原則](/tw/ch9#sec_distributed_majority)
|
||
- [分散式鎖與租約](/tw/ch9#sec_distributed_lock_fencing)
|
||
- [拜占庭故障](/tw/ch9#sec_distributed_byzantine)
|
||
- [系統模型與現實](/tw/ch9#sec_distributed_system_model)
|
||
- [形式化方法與隨機測試](/tw/ch9#sec_distributed_formal)
|
||
- [總結](/tw/ch9#summary)
|
||
|
||
|
||
## [10. 一致性與共識](/tw/ch10)
|
||
|
||
- [線性一致性](/tw/ch10#sec_consistency_linearizability)
|
||
- [什麼使系統具有線性一致性?](/tw/ch10#sec_consistency_lin_definition)
|
||
- [依賴線性一致性](/tw/ch10#sec_consistency_linearizability_usage)
|
||
- [實現線性一致性系統](/tw/ch10#sec_consistency_implementing_linearizable)
|
||
- [線性一致性的代價](/tw/ch10#sec_linearizability_cost)
|
||
- [ID 生成器與邏輯時鐘](/tw/ch10#sec_consistency_logical)
|
||
- [邏輯時鐘](/tw/ch10#sec_consistency_timestamps)
|
||
- [線性一致的 ID 生成器](/tw/ch10#sec_consistency_linearizable_id)
|
||
- [共識](/tw/ch10#sec_consistency_consensus)
|
||
- [共識的多面性](/tw/ch10#sec_consistency_faces)
|
||
- [共識的實踐](/tw/ch10#sec_consistency_total_order)
|
||
- [協調服務](/tw/ch10#sec_consistency_coordination)
|
||
- [總結](/tw/ch10#summary)
|
||
|
||
|
||
## [11. 批處理](/tw/ch11)(未釋出)
|
||
## [12. 流處理](/tw/ch12)(未釋出)
|
||
## [13. 做正確的事](/ch13)(未釋出)
|
||
## [術語表](/tw/glossary)
|
||
## [後記](/tw/colophon) |