29. Fast Response Time
• Critical for interactive user experience
• Avg query times ~500ms
• 90% percentile under 1 sec
• 99% percentile under 10 sec
• Handle 1000’s of concurrent queries
31. Scalability
• Ability to handle
• petabytes of data
• billions of events/day
• Largest druid cluster
• 50 Trillion+ events
• 50PB+ of raw data
• Over 500TB of compressed query-able data
• Ingestion Rate over 500,000 events/sec
• 10-100K events/sec/core
33. 資料串流處理層- Flink
• Apache Flink是分佈式高性能、高可用與提供準確
的數據流計算的開源流處理框架
• High Performance & Low Latency
• Support for Event Time and Out-of-Order Events
• Exactly-once Semantics for Stateful Computations
• Highly flexible Streaming Windows
• Continuous Streaming Model with Backpressure
• Fault-tolerance via Lightweight Distributed Snapshots
36. 串流處理 – Event Enrichment
Local Cache
(LRU)
Local Cache
(LRU)
Remote Cache
Or
Key/Value Store
參考: https://martin.kleppmann.com/2015/04/23/bottled-water-real-time-postgresql-kafka.html
M
M
M
快取裡頭的資料
會被更新的資料
所取代
M
檢查內部的LRU快取是否存在
相同的鍵值, 如果”是”則以最
新的資料取代
M
要被lookup的主檔資料是怎麼被即時處理與保存的?
37. 串流處理 – Event Enrichment
Local Cache
(LRU)
Local Cache
(LRU)
Remote Cache
Or
Key/Value Store
參考: https://martin.kleppmann.com/2015/04/23/bottled-water-real-time-postgresql-kafka.html
E
E
E
1. 檢查local cache是否存在所需要的鍵值, 如果
有就取出使用
2. 如果沒有, 則從remote cache取回所需要的參
考資料, 並將資料保留在local cache
3. Local cache的資料如果超過設定的size, LRU的
機制會移除最不常使用的資料
M
M
E
E
E
Event是怎麼被豐富化?
38. 總結 - 功能性需求
• 構建接近實時商業智能(BI)時間序列分析系統
• 很大量Operation層級的使用者
• Many users
• 很高的查詢/聚合需求的並發量
• High concurrency
• 很快的查詢/聚合結果產出
• Low latency , sub-second response
• 很大量的即時與歷史數據
• Large volume of history & current data