本文為您介紹什麼是StarRocks,以及StarRocks的特性和應用情境。
StarRocks介紹
StarRocks是新一代極速全情境MPP(Massively Parallel Processing)資料庫,致力於構建極速和統一分析體驗。
StarRocks相容MySQL協議,可使用MySQL用戶端和常用BI工具對接StarRocks來分析資料。
StarRocks採用分布式架構:
對資料表進行水平劃分並以多副本儲存。
叢集規模可以靈活伸縮,支援10 PB層級的資料分析。
支援MPP架構,並行加速計算。
支援多副本,具有彈性容錯能力。
本文部分內容來源於開源StarRocks的What is StarRocks?。
StarRocks特性
StarRocks的架構設計融合了MPP資料庫,以及分布式系統的設計思想,其特性如下所示。
架構精簡
StarRocks內部通過MPP計算架構完成SQL的具體執行工作。MPP架構能夠充分的利用多節點的計算能力,整個查詢可以並存執行,從而實現良好的互動式分析體驗。
StarRocks叢集不需要依賴任何其他組件,易部署、易維護和極簡的架構設計,降低了StarRocks系統的複雜度和維護成本,同時也提升了系統的可靠性和擴充性。管理員只需要專註於StarRocks系統,無需學習和管理任何其他外部系統。
全面向量化引擎
StarRocks的計算層全面採用了向量化技術,將所有運算元、函數、掃描過濾和匯入匯出模組進行了系統性最佳化。通過列式的記憶體布局、適配CPU的SIMD指令集等手段,充分發揮了現代CPU的並行計算能力,從而實現亞秒層級的多維分析能力。
智能查詢最佳化
StarRocks通過CBO最佳化器(Cost Based Optimizer)可以對複雜查詢自動最佳化。無需人工幹預,就可以通過統計資訊合理估算執行成本,產生更優的執行計畫,大大提高了AdHoc和ETL情境的資料分析效率。
聯邦查詢
StarRocks支援使用外表的方式進行聯邦查詢,當前可以支援Hive、MySQL、Elasticsearch、Iceberg和Hudi類型的外表,您無需通過資料匯入,可以直接進行資料查詢加速。
高效更新
StarRocks支援明細模型、彙總模型、主鍵模型和更新模型,其中主鍵模型可以按照主鍵進行Upsert或Delete操作,通過儲存和索引的最佳化可以在並發更新的同時實現高效的查詢最佳化,更好的服務即時數倉的情境。
智能物化視圖
StarRocks支援智能的物化視圖。您可以通過建立物化視圖,預先計算產生預彙總表用於加速彙總類查詢請求。
StarRocks的物化視圖能夠在資料匯入時自動完成匯聚,與原始表資料保持一致。
查詢的時候,您無需指定物化視圖,StarRocks能夠自動選擇最優的物化視圖來滿足查詢請求。
標準SQL
StarRocks支援標準的SQL文法,包括彙總、JOIN、排序、視窗函數和自訂函數等功能。
StarRocks可以完整支援TPC-H的22個SQL和TPC-DS的99個SQL。
StarRocks相容MySQL協議文法,可以使用現有的各種用戶端工具、BI軟體訪問StarRocks,對StarRocks中的資料進行拖拽式分析。
流批一體
StarRocks支援即時和批量兩種資料匯入方式。
StarRocks支援的資料來源有Kafka、HDFS和本地檔案。
StarRocks支援的資料格式有ORC、Parquet和CSV等。
StarRocks可以即時消費Kafka資料來完成資料匯入,保證資料不丟不重(exactly once)。
StarRocks也可以從本地或者遠程(HDFS)大量匯入資料。
高可用易擴充
StarRocks的中繼資料和資料都是多副本儲存,並且叢集中服務有熱備,多執行個體部署,避免了單點故障。
叢集具有自愈能力,可彈性恢複,節點的宕機、下線和異常都不會影響StarRocks叢集服務的整體穩定性。
StarRocks採用分布式架構,儲存容量和計算能力可近乎線性水平擴充。StarRocks單叢集的節點規模可擴充到數百節點,資料規模可達到10 PB層級。
擴縮容期間無需停服,可以正常提供查詢服務。
StarRocks中表模式熱變更,可通過一條簡單SQL命令動態地修改表的定義,例如增加列、減少列和建立物化視圖等。同時,處於模式變更中的表也可以正常匯入和查詢資料。
應用情境
StarRocks可以滿足企業級使用者的多種分析需求,具體的業務情境如下所示:
OLAP多維分析
使用者行為分析
使用者畫像、標籤分析、圈人
高維業務指標報表
自助式報表平台
業務問題探查分析
跨主題業務分析
財務報表
系統監控分析
即時數倉
電商大促資料分析
教育行業的直播品質分析
物流行業的運單分析
金融行業績效分析、指標計算
廣告投放分析
管理駕駛艙
探針分析APM(Application Performance Management)
高並發查詢
廣告主報表分析
零售行業渠道人員分析
SaaS行業面向使用者分析報表
Dashboard多頁面分析
統一分析
通過使用一套系統解決多維分析、高並發查詢、預計算、即時分析和Ad-Hoc查詢等情境,降低系統複雜度和多技術棧開發與維護成本。