分析型數據庫(ApacheDoris)是如何實現高效的數據更新?

SelectDB 2024-04-26 15:28:13

SelectDB 是基于 Apache Doris (分析型數據庫)構建的現代化數據倉庫,支持大規模實時數據上的極速查詢分析,主要用于 OLAP 場景下對大規模數據進行快速分析和查詢,它支持多維分析、實時查詢、增量更新、高效的數據更新等功能。在實現高效的數據更新方面,SelectDB 是怎麽做到的呢,目前采用了哪幾種技術手段:

數據分片:將數據劃分爲多個分片,每個分片可以獨立進行數據更新。這樣可以在不影響其他分片的情況下,對特定分片進行更新,提高了數據更新的並行性和效率。

分布式事務:SelectDB 支持分布式事務,確保在多個分片上的數據更新是一致的。通過使用兩階段提交協議或類似的機制,可以保證數據的一致性和完整性。

智能索引:爲了提高數據更新的速度,SelectDB 采用了智能索引技術。通過智能索引,可以快速定位到需要更新的數據行,避免了全表掃描,從而提高了數據更新的效率。

數據壓縮:爲了減少存儲空間和網絡傳輸開銷,SelectDB 支持數據壓縮。通過數據壓縮,可以減少存儲成本和提高數據加載和查詢速度。

內存緩存:SelectDB 利用內存緩存技術來提高數據更新的性能。將經常訪問的數據存儲在內存中,可以減少磁盤IO 操作,從而提高數據更新的速度。

優化器:SelectDB 的查詢優化器可以根據查詢的特性和數據的分布情況,選擇最優的執行計劃。這有助于提高數據更新的效率,特別是在處理複雜查詢時。

持續集成/持續部署 (CI/CD):通過使用 CI/CD 工具,可以自動化數據庫的部署、測試和更新過程。這有助于減少錯誤和提高數據更新的可靠性。

監控與日志分析:SelectDB 提供了監控和日志分析功能,可以幫助開發者和運維人員及時發現和解決數據更新中的問題。

數據庫的技術升級更新爲企業帶來了全新的機遇和挑戰。通過分析型數據庫(Apache Doris)企業能夠更好地應對大規模數據處理和高並發查詢的挑戰,提高數據處理效率、實時分析能力和數據一致性可靠性。這有助于企業更好地應對市場變化和客戶需求,實現業務創新和發展。

不同的行業都有著訂單分析、運單分析、用戶畫像更新、數據刪除、數據覆蓋等訴求,這些訴求要想得到快速的滿足,就要依賴于高效的數據更新,分析型數據庫高效的數據更新在不同行業場景的表現是不一樣的:

遊戲行爲分析場景

存量數據幾百億,單副本數十 TB,表包含幾十個字段, MolW

數十級並發 Flink Connector 任務做 Upsert,峰值吞吐高達近五十萬行每秒

物流運單分析場景

半年的物流運單數據分析,寬表 200 字段,MoW

近十並發 Flink Connector 任務做 Upsert,秒級 Checkpoint,吞吐僅十萬每行

支付訂單分析場景

支持月統計(數據規模千億左右)、年統計(數據規模萬億左右)

Upsert 吞吐達每秒十萬行

消費金融場景

寬表拼接的場景,使用 MoW 表的部分列更新

幾百列數據,實現數十並發,每個並發更新達十列

平均數據可見時間降低明顯,數據縮短超 40%

某客戶PoC壓力測試

近 50 並發 Flink Connector 任務做 Upsert,秒級 Checkpoint

Doris MoW 表導入穩定,吞吐可達近十萬行每秒

某産品導入持續報 Too Many Versions 和 Publish Timeout,導入吞吐五萬行每秒,數據量大後 OOM

0 阅读:14

SelectDB

簡介:基于 Apache Doris 構建面向實時分析的現代化數據倉庫