[閱讀筆記] Design Data-Intensive Application - Storage and Retrieval (OLAP)
前言 本篇繼續探討 Design Data-Intensive Application 這本書的第三章:Storage and Retrieval 簡單整理一下本小節主要談論的架構: OLTP(Transaction) Row-orient storage Database engine Log-structure -> ex: LSM, SSTable, Lucene… page-orient(B tree) -> some RDBMs and NoSQL OLAP(Analytic) data warehouse(ETL) Column-orient storage bitmap encoding run-length encoding Column Families(Cassandra) 今天這篇主要要談論的是 OLAP 的部分 OLTP vs OLAP 兩者比較的關鍵是 事務處理(Transaction)還是分析(Analytic)? OLTP(OnLine Transaction Processing) 以往來說,資料庫交互都圍繞在商業交易這類跟錢相關的交易(commercial transcation),當應用拓展到不同領域後,漸漸已經跟錢無關,最後就剩下保留 交易/事務(transcation) 這個術語與概念,用於描述一組讀寫操作的邏輯單元 使用上,應用程式會需要透過索引(index)的方式查找某個鍵值對應的少量資料,依據 user 的 input(insert, update, delete)來更新紀錄 這種交互式的方式關心的是能否快速的回應 user 的 query 或 insert,在大量負載時能降低操作時的延遲,所以 disk search time 會是瓶頸,而 OLTP 應付的資料量相對於 OLAP 來說更少,也比較關心的是即時的資料....