--- title: "目錄" linkTitle: "目錄" weight: 10 breadcrumbs: false --- ![](/title.jpg) ## [序言](/tw/preface) - [本書的目標讀者](/tw/preface#本書的目標讀者) - [本書涉及的領域](/tw/preface#本書涉及的領域) - [本書綱要](/tw/preface#本書綱要) - [參考文獻與延伸閱讀](/tw/preface#參考文獻與延伸閱讀) - [O‘Reilly Safari](/tw/preface#oreilly-safari) - [致謝](/tw/preface#致謝) ## [1. 資料系統架構中的權衡](/tw/ch1) - [分析型與事務型系統](/tw/ch1#sec_introduction_analytics) - [事務處理與分析的特徵](/tw/ch1#sec_introduction_oltp) - [資料倉庫](/tw/ch1#sec_introduction_dwh) - [從資料倉庫到資料湖](/tw/ch1#from-data-warehouse-to-data-lake) - [超越資料湖](/tw/ch1#beyond-the-data-lake) - [權威資料來源與派生資料](/tw/ch1#sec_introduction_derived) - [雲服務與自託管](/tw/ch1#sec_introduction_cloud) - [雲服務的利弊](/tw/ch1#sec_introduction_cloud_tradeoffs) - [雲原生系統架構](/tw/ch1#sec_introduction_cloud_native) - [雲服務的分層](/tw/ch1#layering-of-cloud-services) - [儲存與計算的分離](/tw/ch1#sec_introduction_storage_compute) - [雲時代的運維](/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) - [參考](/tw/ch1#參考) ## [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#tolerating-hardware-faults-through-redundancy) - [軟體故障](/tw/ch2#software-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) - [參考](/tw/ch2#參考) ## [3. 資料模型與查詢語言](/tw/ch3) - [關係模型與文件模型](/tw/ch3#sec_datamodels_history) - [物件關係不匹配](/tw/ch3#sec_datamodels_document) - [物件關係對映(ORM)](/tw/ch3#object-relational-mapping-orm) - [用於一對多關係的文件資料模型](/tw/ch3#the-document-data-model-for-one-to-many-relationships) - [規範化、反規範化與連線](/tw/ch3#sec_datamodels_normalization) - [規範化的權衡](/tw/ch3#trade-offs-of-normalization) - [社交網路案例研究中的反規範化](/tw/ch3#denormalization-in-the-social-networking-case-study) - [多對一與多對多關係](/tw/ch3#sec_datamodels_many_to_many) - [星型與雪花型:分析模式](/tw/ch3#sec_datamodels_analytics) - [何時使用哪種模型](/tw/ch3#sec_datamodels_document_summary) - [文件模型中的模式靈活性](/tw/ch3#sec_datamodels_schema_flexibility) - [讀寫的資料區域性](/tw/ch3#sec_datamodels_document_locality) - [文件的查詢語言](/tw/ch3#query-languages-for-documents) - [文件和關係資料庫的融合](/tw/ch3#convergence-of-document-and-relational-databases) - [圖資料模型](/tw/ch3#sec_datamodels_graph) - [屬性圖](/tw/ch3#id56) - [Cypher 查詢語言](/tw/ch3#id57) - [SQL 中的圖查詢](/tw/ch3#id58) - [三元組儲存與 SPARQL](/tw/ch3#id59) - [RDF 資料模型](/tw/ch3#the-rdf-data-model) - [SPARQL 查詢語言](/tw/ch3#the-sparql-query-language) - [Datalog:遞迴關係查詢](/tw/ch3#id62) - [GraphQL](/tw/ch3#id63) - [事件溯源與 CQRS](/tw/ch3#sec_datamodels_events) - [資料框、矩陣與陣列](/tw/ch3#sec_datamodels_dataframes) - [總結](/tw/ch3#summary) - [參考](/tw/ch3#參考) ## [4. 儲存與檢索](/tw/ch4) - [OLTP 系統的儲存與索引](/tw/ch4#sec_storage_oltp) - [日誌結構儲存](/tw/ch4#sec_storage_log_structured) - [SSTable 檔案格式](/tw/ch4#the-sstable-file-format) - [構建和合並 SSTable](/tw/ch4#constructing-and-merging-sstables) - [布隆過濾器](/tw/ch4#bloom-filters) - [壓實策略](/tw/ch4#sec_storage_lsm_compaction) - [B 樹](/tw/ch4#sec_storage_b_trees) - [使 B 樹可靠](/tw/ch4#sec_storage_btree_wal) - [B 樹變體](/tw/ch4#b-tree-variants) - [比較 B 樹與 LSM 樹](/tw/ch4#sec_storage_btree_lsm_comparison) - [讀取效能](/tw/ch4#read-performance) - [順序與隨機寫入](/tw/ch4#sidebar_sequential) - [寫放大](/tw/ch4#write-amplification) - [磁碟空間使用](/tw/ch4#disk-space-usage) - [多列索引與二級索引](/tw/ch4#sec_storage_index_multicolumn) - [在索引中儲存值](/tw/ch4#sec_storage_index_heap) - [全記憶體儲存](/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_column_compression) - [列儲存中的排序順序](/tw/ch4#sort-order-in-column-storage) - [寫入列式儲存](/tw/ch4#writing-to-column-oriented-storage) - [查詢執行:編譯與向量化](/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) - [參考](/tw/ch4#參考) ## [5. 編碼與演化](/tw/ch5) - [編碼資料的格式](/tw/ch5#sec_encoding_formats) - [特定語言的格式](/tw/ch5#id96) - [JSON、XML 及其二進位制變體](/tw/ch5#sec_encoding_json) - [JSON 模式](/tw/ch5#json-schema) - [二進位制編碼](/tw/ch5#binary-encoding) - [Protocol Buffers](/tw/ch5#sec_encoding_protobuf) - [欄位標籤與模式演化](/tw/ch5#field-tags-and-schema-evolution) - [Avro](/tw/ch5#sec_encoding_avro) - [寫入者模式與讀取者模式](/tw/ch5#the-writers-schema-and-the-readers-schema) - [模式演化規則](/tw/ch5#schema-evolution-rules) - [但什麼是寫入者模式?](/tw/ch5#but-what-is-the-writers-schema) - [動態生成的模式](/tw/ch5#dynamically-generated-schemas) - [模式的優點](/tw/ch5#sec_encoding_schemas) - [資料流的模式](/tw/ch5#sec_encoding_dataflow) - [流經資料庫的資料流](/tw/ch5#sec_encoding_dataflow_db) - [不同時間寫入的不同值](/tw/ch5#different-values-written-at-different-times) - [歸檔儲存](/tw/ch5#archival-storage) - [流經服務的資料流:REST 與 RPC](/tw/ch5#sec_encoding_dataflow_rpc) - [Web 服務](/tw/ch5#sec_web_services) - [遠端過程呼叫(RPC)的問題](/tw/ch5#sec_problems_with_rpc) - [負載均衡器、服務發現和服務網格](/tw/ch5#sec_encoding_service_discovery) - [RPC 的資料編碼與演化](/tw/ch5#data-encoding-and-evolution-for-rpc) - [持久化執行與工作流](/tw/ch5#sec_encoding_dataflow_workflows) - [持久化執行](/tw/ch5#durable-execution) - [事件驅動的架構](/tw/ch5#sec_encoding_dataflow_msg) - [訊息代理](/tw/ch5#message-brokers) - [分散式 actor 框架](/tw/ch5#distributed-actor-frameworks) - [總結](/tw/ch5#summary) - [參考](/tw/ch5#參考) ## [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#follower-failure-catch-up-recovery) - [領導者故障:故障轉移](/tw/ch6#leader-failure-failover) - [複製日誌的實現](/tw/ch6#sec_replication_implementation) - [基於語句的複製](/tw/ch6#statement-based-replication) - [預寫日誌(WAL)傳輸](/tw/ch6#write-ahead-log-wal-shipping) - [邏輯(基於行)日誌複製](/tw/ch6#logical-row-based-log-replication) - [複製延遲的問題](/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_topologies) - [不同拓撲的問題](/tw/ch6#problems-with-different-topologies) - [同步引擎與本地優先軟體](/tw/ch6#sec_replication_offline_clients) - [即時協作、離線優先和本地優先應用](/tw/ch6#real-time-collaboration-offline-first-and-local-first-apps) - [同步引擎的利弊](/tw/ch6#pros-and-cons-of-sync-engines) - [處理寫入衝突](/tw/ch6#sec_replication_write_conflicts) - [衝突避免](/tw/ch6#conflict-avoidance) - [最後寫入者勝(丟棄併發寫入)](/tw/ch6#sec_replication_lww) - [手動衝突解決](/tw/ch6#manual-conflict-resolution) - [自動衝突解決](/tw/ch6#automatic-conflict-resolution) - [CRDT 與操作變換](/tw/ch6#sec_replication_crdts) - [什麼是衝突?](/tw/ch6#what-is-a-conflict) - [無主複製](/tw/ch6#sec_replication_leaderless) - [當節點故障時寫入資料庫](/tw/ch6#id287) - [追趕錯過的寫入](/tw/ch6#sec_replication_read_repair) - [讀寫仲裁](/tw/ch6#sec_replication_quorum_condition) - [仲裁一致性的侷限](/tw/ch6#sec_replication_quorum_limitations) - [監控陳舊性](/tw/ch6#monitoring-staleness) - [單主與無主複製的效能](/tw/ch6#sec_replication_leaderless_perf) - [多地區操作](/tw/ch6#multi-region-operation) - [檢測併發寫入](/tw/ch6#sec_replication_concurrent) - ["先發生"關係與併發](/tw/ch6#sec_replication_happens_before) - [捕獲先發生關係](/tw/ch6#capturing-the-happens-before-relationship) - [版本向量](/tw/ch6#version-vectors) - [總結](/tw/ch6#summary) - [參考](/tw/ch6#參考) ## [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#rebalancing-key-range-sharded-data) - [按鍵的雜湊分片](/tw/ch7#sec_sharding_hash) - [雜湊取模節點數](/tw/ch7#hash-modulo-number-of-nodes) - [固定數量的分片](/tw/ch7#fixed-number-of-shards) - [按雜湊範圍分片](/tw/ch7#sharding-by-hash-range) - [一致性雜湊](/tw/ch7#sec_sharding_consistent_hashing) - [傾斜的工作負載與緩解熱點](/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) - [References](/tw/ch7#references) ## [8. 事務](/tw/ch8) - [事務到底是什麼?](/tw/ch8#sec_transactions_overview) - [ACID 的含義](/tw/ch8#sec_transactions_acid) - [原子性](/tw/ch8#sec_transactions_acid_atomicity) - [一致性](/tw/ch8#sec_transactions_acid_consistency) - [隔離性](/tw/ch8#sec_transactions_acid_isolation) - [永續性](/tw/ch8#durability) - [單物件與多物件操作](/tw/ch8#sec_transactions_multi_object) - [單物件寫入](/tw/ch8#sec_transactions_single_object) - [多物件事務的需求](/tw/ch8#sec_transactions_need) - [處理錯誤和中止](/tw/ch8#handling-errors-and-aborts) - [弱隔離級別](/tw/ch8#sec_transactions_isolation_levels) - [讀已提交](/tw/ch8#sec_transactions_read_committed) - [沒有髒讀](/tw/ch8#no-dirty-reads) - [沒有髒寫](/tw/ch8#sec_transactions_dirty_write) - [實現讀已提交](/tw/ch8#sec_transactions_read_committed_impl) - [快照隔離與可重複讀](/tw/ch8#sec_transactions_snapshot_isolation) - [多版本併發控制(MVCC)](/tw/ch8#sec_transactions_snapshot_impl) - [觀察一致快照的可見性規則](/tw/ch8#sec_transactions_mvcc_visibility) - [索引與快照隔離](/tw/ch8#indexes-and-snapshot-isolation) - [快照隔離、可重複讀和命名混淆](/tw/ch8#snapshot-isolation-repeatable-read-and-naming-confusion) - [防止丟失更新](/tw/ch8#sec_transactions_lost_update) - [原子寫操作](/tw/ch8#atomic-write-operations) - [顯式鎖定](/tw/ch8#explicit-locking) - [自動檢測丟失的更新](/tw/ch8#automatically-detecting-lost-updates) - [條件寫入(比較並設定)](/tw/ch8#sec_transactions_compare_and_set) - [衝突解決與複製](/tw/ch8#conflict-resolution-and-replication) - [寫偏斜與幻讀](/tw/ch8#sec_transactions_write_skew) - [描述寫偏斜](/tw/ch8#characterizing-write-skew) - [更多寫偏斜的例子](/tw/ch8#more-examples-of-write-skew) - [導致寫偏斜的幻讀](/tw/ch8#sec_transactions_phantom) - [物化衝突](/tw/ch8#materializing-conflicts) - [可序列化](/tw/ch8#sec_transactions_serializability) - [實際序列執行](/tw/ch8#sec_transactions_serial) - [將事務封裝在儲存過程中](/tw/ch8#encapsulating-transactions-in-stored-procedures) - [儲存過程的利弊](/tw/ch8#sec_transactions_stored_proc_tradeoffs) - [分片](/tw/ch8#sharding) - [序列執行總結](/tw/ch8#summary-of-serial-execution) - [兩階段鎖定(2PL)](/tw/ch8#sec_transactions_2pl) - [兩階段鎖定的實現](/tw/ch8#implementation-of-two-phase-locking) - [兩階段鎖定的效能](/tw/ch8#performance-of-two-phase-locking) - [謂詞鎖](/tw/ch8#predicate-locks) - [索引範圍鎖](/tw/ch8#sec_transactions_2pl_range) - [可序列化快照隔離(SSI)](/tw/ch8#sec_transactions_ssi) - [悲觀併發控制與樂觀併發控制](/tw/ch8#pessimistic-versus-optimistic-concurrency-control) - [基於過時前提的決策](/tw/ch8#decisions-based-on-an-outdated-premise) - [檢測陳舊的 MVCC 讀取](/tw/ch8#detecting-stale-mvcc-reads) - [檢測影響先前讀取的寫入](/tw/ch8#sec_detecting_writes_affect_reads) - [可序列化快照隔離的效能](/tw/ch8#performance-of-serializable-snapshot-isolation) - [分散式事務](/tw/ch8#sec_transactions_distributed) - [兩階段提交(2PC)](/tw/ch8#sec_transactions_2pc) - [系統性的承諾](/tw/ch8#a-system-of-promises) - [協調器故障](/tw/ch8#coordinator-failure) - [三階段提交](/tw/ch8#three-phase-commit) - [跨不同系統的分散式事務](/tw/ch8#sec_transactions_xa) - [精確一次訊息處理](/tw/ch8#sec_transactions_exactly_once) - [XA 事務](/tw/ch8#xa-transactions) - [存疑時持有鎖](/tw/ch8#holding-locks-while-in-doubt) - [從協調器故障中恢復](/tw/ch8#recovering-from-coordinator-failure) - [XA 事務的問題](/tw/ch8#problems-with-xa-transactions) - [資料庫內部的分散式事務](/tw/ch8#sec_transactions_internal) - [再談精確一次訊息處理](/tw/ch8#exactly-once-message-processing-revisited) - [總結](/tw/ch8#summary) - [參考](/tw/ch8#參考) ## [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#network-congestion-and-queueing) - [同步與非同步網路](/tw/ch9#sec_distributed_sync_networks) - [我們不能簡單地使網路延遲可預測嗎?](/tw/ch9#can-we-not-simply-make-network-delays-predictable) - [不可靠的時鐘](/tw/ch9#sec_distributed_clocks) - [單調時鐘與日曆時鐘](/tw/ch9#sec_distributed_monotonic_timeofday) - [日曆時鐘](/tw/ch9#time-of-day-clocks) - [單調時鐘](/tw/ch9#monotonic-clocks) - [時鐘同步和準確性](/tw/ch9#sec_distributed_clock_accuracy) - [對同步時鐘的依賴](/tw/ch9#sec_distributed_clocks_relying) - [用於事件排序的時間戳](/tw/ch9#sec_distributed_lww) - [帶置信區間的時鐘讀數](/tw/ch9#clock-readings-with-a-confidence-interval) - [用於全域性快照的同步時鐘](/tw/ch9#sec_distributed_spanner) - [程序暫停](/tw/ch9#sec_distributed_clocks_pauses) - [響應時間保證](/tw/ch9#sec_distributed_clocks_realtime) - [限制垃圾回收的影響](/tw/ch9#sec_distributed_gc_impact) - [知識、真相和謊言](/tw/ch9#sec_distributed_truth) - [多數派原則](/tw/ch9#sec_distributed_majority) - [分散式鎖和租約](/tw/ch9#sec_distributed_lock_fencing) - [隔離殭屍程序和延遲請求](/tw/ch9#sec_distributed_fencing_tokens) - [多副本隔離](/tw/ch9#fencing-with-multiple-replicas) - [拜占庭故障](/tw/ch9#sec_distributed_byzantine) - [弱形式的謊言](/tw/ch9#weak-forms-of-lying) - [系統模型與現實](/tw/ch9#sec_distributed_system_model) - [定義演算法的正確性](/tw/ch9#defining-the-correctness-of-an-algorithm) - [安全性與活性](/tw/ch9#sec_distributed_safety_liveness) - [將系統模型對映到現實世界](/tw/ch9#mapping-system-models-to-the-real-world) - [形式化方法和隨機測試](/tw/ch9#sec_distributed_formal) - [模型檢查與規範語言](/tw/ch9#model-checking-and-specification-languages) - [故障注入](/tw/ch9#sec_fault_injection) - [確定性模擬測試](/tw/ch9#deterministic-simulation-testing) - [總結](/tw/ch9#summary) - [參考](/tw/ch9#參考) ## [10. 一致性與共識](/tw/ch10) - [線性一致性](/tw/ch10#sec_consistency_linearizability) - [什麼使系統具有線性一致性?](/tw/ch10#sec_consistency_lin_definition) - [依賴線性一致性](/tw/ch10#sec_consistency_linearizability_usage) - [鎖定與領導者選舉](/tw/ch10#locking-and-leader-election) - [約束與唯一性保證](/tw/ch10#sec_consistency_uniqueness) - [跨通道時序依賴](/tw/ch10#cross-channel-timing-dependencies) - [實現線性一致性系統](/tw/ch10#sec_consistency_implementing_linearizable) - [線性一致性與仲裁](/tw/ch10#sec_consistency_quorum_linearizable) - [線性一致性的代價](/tw/ch10#sec_linearizability_cost) - [CAP 定理](/tw/ch10#the-cap-theorem) - [線性一致性與網路延遲](/tw/ch10#linearizability-and-network-delays) - [ID 生成器和邏輯時鐘](/tw/ch10#sec_consistency_logical) - [邏輯時鐘](/tw/ch10#sec_consistency_timestamps) - [Lamport 時間戳](/tw/ch10#lamport-timestamps) - [混合邏輯時鐘](/tw/ch10#hybrid-logical-clocks) - [Lamport/混合邏輯時鐘 vs. 向量時鐘](/tw/ch10#lamporthybrid-logical-clocks-vs-vector-clocks) - [線性一致的 ID 生成器](/tw/ch10#sec_consistency_linearizable_id) - [實現線性一致的 ID 生成器](/tw/ch10#implementing-a-linearizable-id-generator) - [使用邏輯時鐘強制約束](/tw/ch10#enforcing-constraints-using-logical-clocks) - [共識](/tw/ch10#sec_consistency_consensus) - [共識的多面性](/tw/ch10#sec_consistency_faces) - [單值共識](/tw/ch10#single-value-consensus) - [比較並設定作為共識](/tw/ch10#compare-and-set-as-consensus) - [共享日誌作為共識](/tw/ch10#sec_consistency_shared_logs) - [獲取並增加作為共識](/tw/ch10#fetch-and-add-as-consensus) - [原子提交作為共識](/tw/ch10#atomic-commitment-as-consensus) - [共識的實踐](/tw/ch10#sec_consistency_total_order) - [使用共享日誌](/tw/ch10#sec_consistency_smr) - [從單主複製到共識](/tw/ch10#from-single-leader-replication-to-consensus) - [共識的微妙之處](/tw/ch10#subtleties-of-consensus) - [共識的利弊](/tw/ch10#pros-and-cons-of-consensus) - [總結](/tw/ch10#summary) - [參考文獻](/tw/ch10#參考文獻) ## [第十一章:批處理](/tw/ch11) - [使用Unix工具的批處理](/tw/ch11#使用unix工具的批處理) - [簡單日誌分析](/tw/ch11#簡單日誌分析) - [命令鏈與自定義程式](/tw/ch11#命令鏈與自定義程式) - [排序 VS 記憶體中的聚合](/tw/ch11#排序-vs-記憶體中的聚合) - [Unix哲學](/tw/ch11#unix哲學) - [統一的介面](/tw/ch11#統一的介面) - [邏輯與佈線相分離](/tw/ch11#邏輯與佈線相分離) - [透明度和實驗](/tw/ch11#透明度和實驗) - [MapReduce和分散式檔案系統](/tw/ch11#mapreduce和分散式檔案系統) - [MapReduce作業執行](/tw/ch11#mapreduce作業執行) - [分散式執行MapReduce](/tw/ch11#分散式執行mapreduce) - [MapReduce工作流](/tw/ch11#mapreduce工作流) - [Reduce側連線與分組](/tw/ch11#reduce側連線與分組) - [示例:使用者活動事件分析](/tw/ch11#示例使用者活動事件分析) - [排序合併連線](/tw/ch11#排序合併連線) - [把相關資料放在一起](/tw/ch11#把相關資料放在一起) - [分組](/tw/ch11#分組) - [處理偏斜](/tw/ch11#處理偏斜) - [Map側連線](/tw/ch11#map側連線) - [廣播雜湊連線](/tw/ch11#廣播雜湊連線) - [分割槽雜湊連線](/tw/ch11#分割槽雜湊連線) - [Map側合併連線](/tw/ch11#map側合併連線) - [MapReduce工作流與Map側連線](/tw/ch11#mapreduce工作流與map側連線) - [批處理工作流的輸出](/tw/ch11#批處理工作流的輸出) - [建立搜尋索引](/tw/ch11#建立搜尋索引) - [鍵值儲存作為批處理輸出](/tw/ch11#鍵值儲存作為批處理輸出) - [批處理輸出的哲學](/tw/ch11#批處理輸出的哲學) - [Hadoop與分散式資料庫的對比](/tw/ch11#hadoop與分散式資料庫的對比) - [儲存多樣性](/tw/ch11#儲存多樣性) - [處理模型的多樣性](/tw/ch11#處理模型的多樣性) - [針對頻繁故障設計](/tw/ch11#針對頻繁故障設計) - [MapReduce之後](/tw/ch11#mapreduce之後) - [物化中間狀態](/tw/ch11#物化中間狀態) - [資料流引擎](/tw/ch11#資料流引擎) - [容錯](/tw/ch11#容錯) - [關於物化的討論](/tw/ch11#關於物化的討論) - [圖與迭代處理](/tw/ch11#圖與迭代處理) - [Pregel處理模型](/tw/ch11#pregel處理模型) - [容錯](/tw/ch11#容錯) - [並行執行](/tw/ch11#並行執行) - [高階API和語言](/tw/ch11#高階api和語言) - [向宣告式查詢語言的轉變](/tw/ch11#向宣告式查詢語言的轉變) - [專業化的不同領域](/tw/ch11#專業化的不同領域) - [本章小結](/tw/ch11#本章小結) - [參考文獻](/tw/ch11#參考文獻) ## [第十二章:流處理](/tw/ch12) - [傳遞事件流](/tw/ch12#傳遞事件流) - [訊息傳遞系統](/tw/ch12#訊息傳遞系統) - [直接從生產者傳遞給消費者](/tw/ch12#直接從生產者傳遞給消費者) - [訊息代理](/tw/ch12#訊息代理) - [訊息代理與資料庫的對比](/tw/ch12#訊息代理與資料庫的對比) - [多個消費者](/tw/ch12#多個消費者) - [確認與重新傳遞](/tw/ch12#確認與重新傳遞) - [分割槽日誌](/tw/ch12#分割槽日誌) - [使用日誌進行訊息儲存](/tw/ch12#使用日誌進行訊息儲存) - [日誌與傳統的訊息傳遞相比](/tw/ch12#日誌與傳統的訊息傳遞相比) - [消費者偏移量](/tw/ch12#消費者偏移量) - [磁碟空間使用](/tw/ch12#磁碟空間使用) - [當消費者跟不上生產者時](/tw/ch12#當消費者跟不上生產者時) - [重播舊訊息](/tw/ch12#重播舊訊息) - [資料庫與流](/tw/ch12#資料庫與流) - [保持系統同步](/tw/ch12#保持系統同步) - [變更資料捕獲](/tw/ch12#變更資料捕獲) - [變更資料捕獲的實現](/tw/ch12#變更資料捕獲的實現) - [初始快照](/tw/ch12#初始快照) - [日誌壓縮](/tw/ch12#日誌壓縮) - [變更流的API支援](/tw/ch12#變更流的api支援) - [事件溯源](/tw/ch12#事件溯源) - [從事件日誌中派生出當前狀態](/tw/ch12#從事件日誌中派生出當前狀態) - [命令和事件](/tw/ch12#命令和事件) - [狀態、流和不變性](/tw/ch12#狀態流和不變性) - [不可變事件的優點](/tw/ch12#不可變事件的優點) - [從同一事件日誌中派生多個檢視](/tw/ch12#從同一事件日誌中派生多個檢視) - [併發控制](/tw/ch12#併發控制) - [不變性的侷限性](/tw/ch12#不變性的侷限性) - [流處理](/tw/ch12#流處理) - [流處理的應用](/tw/ch12#流處理的應用) - [複合事件處理](/tw/ch12#複合事件處理) - [流分析](/tw/ch12#流分析) - [維護物化檢視](/tw/ch12#維護物化檢視) - [在流上搜索](/tw/ch12#在流上搜索) - [訊息傳遞和RPC](/tw/ch12#訊息傳遞和rpc) - [時間推理](/tw/ch12#時間推理) - [事件時間與處理時間](/tw/ch12#事件時間與處理時間) - [知道什麼時候準備好了](/tw/ch12#知道什麼時候準備好了) - [你用的是誰的時鐘?](/tw/ch12#你用的是誰的時鐘) - [視窗的型別](/tw/ch12#視窗的型別) - [流連線](/tw/ch12#流連線) - [流流連線(視窗連線)](/tw/ch12#流流連線視窗連線) - [流表連線(流擴充)](/tw/ch12#流表連線流擴充) - [表表連線(維護物化檢視)](/tw/ch12#表表連線維護物化檢視) - [連線的時間依賴性](/tw/ch12#連線的時間依賴性) - [容錯](/tw/ch12#容錯) - [微批次與存檔點](/tw/ch12#微批次與存檔點) - [原子提交再現](/tw/ch12#原子提交再現) - [冪等性](/tw/ch12#冪等性) - [失敗後重建狀態](/tw/ch12#失敗後重建狀態) - [本章小結](/tw/ch12#本章小結) - [參考文獻](/tw/ch12#參考文獻) ## [第十三章:資料系統的未來](/ch13) - [資料整合](/ch13#資料整合) - [組合使用派生資料的工具](/ch13#組合使用派生資料的工具) - [理解資料流](/ch13#理解資料流) - [派生資料與分散式事務](/ch13#派生資料與分散式事務) - [全序的限制](/ch13#全序的限制) - [排序事件以捕獲因果關係](/ch13#排序事件以捕獲因果關係) - [批處理與流處理](/ch13#批處理與流處理) - [維護衍生狀態](/ch13#維護衍生狀態) - [應用演化後重新處理資料](/ch13#應用演化後重新處理資料) - [Lambda架構](/ch13#lambda架構) - [統一批處理和流處理](/ch13#統一批處理和流處理) - [分拆資料庫](/ch13#分拆資料庫) - [組合使用資料儲存技術](/ch13#組合使用資料儲存技術) - [建立索引](/ch13#建立索引) - [一切的元資料庫](/ch13#一切的元資料庫) - [開展分拆工作](/ch13#開展分拆工作) - [分拆系統vs整合系統](/ch13#分拆系統vs整合系統) - [少了什麼?](/ch13#少了什麼) - [圍繞資料流設計應用](/ch13#圍繞資料流設計應用) - [應用程式碼作為衍生函式](/ch13#應用程式碼作為衍生函式) - [應用程式碼和狀態的分離](/ch13#應用程式碼和狀態的分離) - [資料流:應用程式碼與狀態變化的互動](/ch13#資料流應用程式碼與狀態變化的互動) - [流處理器和服務](/ch13#流處理器和服務) - [觀察派生資料狀態](/ch13#觀察派生資料狀態) - [物化檢視和快取](/ch13#物化檢視和快取) - [有狀態、可離線的客戶端](/ch13#有狀態可離線的客戶端) - [將狀態變更推送給客戶端](/ch13#將狀態變更推送給客戶端) - [端到端的事件流](/ch13#端到端的事件流) - [讀也是事件](/ch13#讀也是事件) - [多分割槽資料處理](/ch13#多分割槽資料處理) - [將事情做正確](/ch13#將事情做正確) - [資料庫的端到端原則](/ch13#資料庫的端到端原則) - [正好執行一次操作](/ch13#正好執行一次操作) - [抑制重複](/ch13#抑制重複) - [操作識別符號](/ch13#操作識別符號) - [端到端原則](/ch13#端到端原則) - [在資料系統中應用端到端思考](/ch13#在資料系統中應用端到端思考) - [強制約束](/ch13#強制約束) - [唯一性約束需要達成共識](/ch13#唯一性約束需要達成共識) - [基於日誌訊息傳遞中的唯一性](/ch13#基於日誌訊息傳遞中的唯一性) - [多分割槽請求處理](/ch13#多分割槽請求處理) - [及時性與完整性](/ch13#及時性與完整性) - [資料流系統的正確性](/ch13#資料流系統的正確性) - [寬鬆地解釋約束](/ch13#寬鬆地解釋約束) - [無協調資料系統](/ch13#無協調資料系統) - [信任但驗證](/ch13#信任但驗證) - [維護完整性,儘管軟體有Bug](/ch13#維護完整性儘管軟體有bug) - [不要盲目信任承諾](/ch13#不要盲目信任承諾) - [驗證的文化](/ch13#驗證的文化) - [為可審計性而設計](/ch13#為可審計性而設計) - [端到端原則重現](/ch13#端到端原則重現) - [用於可審計資料系統的工具](/ch13#用於可審計資料系統的工具) - [做正確的事情](/ch13#做正確的事情) - [預測性分析](/ch13#預測性分析) - [偏見與歧視](/ch13#偏見與歧視) - [責任與問責](/ch13#責任與問責) - [反饋迴圈](/ch13#反饋迴圈) - [隱私和追蹤](/ch13#隱私和追蹤) - [監視](/ch13#監視) - [同意與選擇的自由](/ch13#同意與選擇的自由) - [隱私與資料使用](/ch13#隱私與資料使用) - [資料資產與權力](/ch13#資料資產與權力) - [回顧工業革命](/ch13#回顧工業革命) - [立法與自律](/ch13#立法與自律) - [本章小結](/ch13#本章小結) - [參考文獻](/ch13#參考文獻) ## [術語表](/tw/glossary) ## [後記](/tw/colophon) - [關於作者](/tw/colophon#關於作者) - [關於譯者](/tw/colophon#關於譯者) - [後記](/tw/colophon#後記)