前言
我們已經進入大數據實時分析時代。
今天聊聊一種列式數據庫,基于 MPP 和真正列式數據庫技術,創建了面向大數據實時分析的全新架構:Vertica。
1、傳統分析系統面臨巨大挑戰
隨著大數據時代的到來,目前傳統的行式數據庫面臨巨大的挑戰:
- 隨著數據量的爆發式增長,加重 I/O 瓶頸的問題,已經達到了 I/O 瓶頸
- 分析查詢性能差,查詢時間以天為單位
- 數據分析浮于表面,無法滿足深度挖掘分析需求
- 數據量的暴漲使得批處理時間越來越長,甚至無法完成,無法滿足時效性要求
傳統分析系統面臨巨大挑戰,究其根源,在于傳統分析系統的架構過于陳舊,跟不上時代的發展。
2、Vertica 介紹
Vertica 是驅動全球許多數據驅動型企業的背后核心支持。
它的本質是高性能的統一分析平臺。Vertica 廣泛服務于全球各行各業高要求的旗艦級客戶——從飛利浦到 The Trade Desk、Uber 以及許多其他公司,為它們提供高性能數據存儲及分析服務,并能夠輕松地將這些強大的功能運用至最大規模和最苛刻的分析工作上來。
得益于 Vertica,眾多企業及其客戶能夠比市場上任何分析數據平臺都更快地獲得預測性的業務洞察。
關系數據庫大師 Michael Stonebraker (2014 年圖靈獎獲得者) 基于自己多年的關系數據庫經驗,滿足大數據實時分析的要求,基于全新的無共享大規模并行架構(MPP)和真正列式數據庫技術,創建了 Vertica 這個面向大數據實時分析的分析平臺。
- 采用無共享 MPP 架構
- 基于標準 x86 服務器
- 列式存儲,高性能,極大降低 I/O
- 高可用,高壓縮率
- 可擴展性強,節點無限制
- 高安全性
- 高兼容性
- 機器學習和高級分析
與傳統的解決方案相比,Vertica 可以以 30% 的成本,實現 50 倍-1000 倍 的性能提高。
3、Vertica 優勢
作為全新架構的實時分析平臺,Veritca 有很多的創新,最為突出特點:
- 列式粗存儲和計算
- 無共享大規模并行處理(MPP)
- 分鐘級故障節點修復、彈性擴展和高并發彈性負載
- 實時分析
- 完整的關系數據庫功能和SQL標準支持
- 自動實現高可用性
- 自動優化和性能管理
- 高性能并行計算的基于庫內機器學習的預測分析和高級分析
- 基礎設施透明的開放統一分析平臺
Veritca 具有強大的功能,可迅速、可靠地管理大量數據,為您提供實時的業務智能以進行先進的大數據分析,從而將您的所有數據轉變為效益。
4、Vertica 技術
Vertica 采用高性能的列式存儲和計算技術,支持主動數據壓縮,支持準實時分析,自帶豐富的高級分析 機器學習預測分析功能,具有彈性擴展以及自定義外部擴展等先進特性,是支撐大數據實時分析的理想平臺。
延遲物化:節省 I/O 消耗延遲解壓縮:節省 CPU 開銷主動壓縮:12種壓縮算法,壓縮比可達 10:1在線群集擴展:在線一鍵加入刪除節點,自動完成數據重分布K級容錯系數(K-safety):自動維護 K+1 個副本,容忍任意 K 個節點故障可選熱備節點:當有節點發生故障無法修復,熱備節點自動接管故障節點容錯組和機構感知:避免機柜掉電等大規模硬件故障對整個集群可用性的傷害,集群規模超過 120 個節點,自動啟用容錯組讀優化存儲(ROS):數據按列式存儲在磁盤中寫優化存儲(WOS):為實時裝載的數據在內存中開辟一塊存儲區域,通過內存快速讀寫能力提升數據實時裝載能力,實現 7*24 不間斷實時數據加載直接裝載 kafka:kafka 分布式消息系統實時裝載海量數據流,以支持秒級實時分析實時聚合計算:在數據裝載的同時,自動完成當前加載批數據的分組和 Top-k 排名等,后臺服務自動完成小批量聚合數據合并扁平表:在表中增加包含通過外鍵從其他維度表關聯獲取缺省值的列,自動完成寬表實時轉換,大幅提升性能和并發吞吐能力分級存儲:可以為不同的 Schema 、表等對象、以及表分區指定不同的存儲策略,指定不同的存儲位置自動層次分區:熱數據采用細粒度分區,自動提高不常用數據的分區粒度,自動化簡化分區管理, 避免了繁瑣的手工合并歷史分區工作,減輕運維負擔多租戶分鐘級快速部署:同時支持縱向和橫向多租戶隔離自動優化設計:內置包含專家知識的數據庫優化設計器,提供負載分析器來收集數據庫運行負載數據,隨時提供自動化建議,從而大大降低 DBA 管理的成本備份、恢復和集群復制:提供全面和高性能的備份和恢復功能,速度取決于磁盤和網絡 I/O 能力Apache Hadoop、 Amazon S3集成和數據湖:充分利用數據湖中的海量數據進行就地快速分析和預測,全面發掘所有數據資產的價值SQL on Hadoop:可以作為 SQL 引擎直接部署到 Hadoop 平臺上 ,與 Hadoop 生態無縫集成Spark集成:原生提供 Spark 連接器,支持 Spark 的 RDD 和 DataFrame 存取數據庫的表數據機器學習和高級分析的預測分析:強調將分析算法置與數據庫中,采用庫內機器學習方法,將模型放到數據所在的地方運行,而不是將數據傳輸到開發模型的單獨平臺基礎設施透明的統一分析平臺:采用單一產品、相同的代碼庫,支持不同的部署選項
Vertica 的列式存儲和計算技術,通過針對列數據特點的主動壓縮技術和延遲物化、延遲解壓,節省了近 2 個量級 CPU 和 I/O 資源消耗,分析查詢性能比傳統行式數據庫快 50 到1000 倍。同時,CPU 和 I/O 資源的大幅節約,也大幅提升了數據裝載、數據導出、數據處理和備份恢復等操作的性能。
只要集群中故障的節點數目不超過集群的總數目的一半, Vertica 集群的仍然是可用的。
Vertica 響應查詢請求時,會同時從 ROS 和 WOS 中查詢,合并結果后返回客戶端。在系統不繁忙時,Vertica 有一個后臺異步任務( Tuple Mover )會把 WOS 區的數據批量地寫到 ROS 中。
5、Vertica 應用市場
Vertica業務發展迅速,業務遍及金融、電信、消費市場、在線網站和游戲、醫療和零售等多個行業,目前已有包括 Tweeter、Zynga、 Uber、 AT&T、 Bank of America、 Guess Inc., Verizon, Capital IQ 等在內的 2000 多個全球客戶。
隨著互聯網、移動互聯網、物聯網和各種智能終端、穿戴設備的大發展,各種數據無時不刻地生成,新數據的產生成大爆炸趨勢;法規要求必須保留更長時間的歷史數據,以便更多的歷史數據中更有效地分析各種業務變化的歷史趨勢,為未來業務發展提供科學依據;企業需要對原始數據進行深入分析和挖掘,以便即時改進業務決策。




