偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

StarRocks:一款開源的高性能分析型數(shù)據(jù)倉庫

開源 數(shù)據(jù)庫
StarRocks是一款高性能分析型數(shù)據(jù)倉庫,使用向量化、MPP 架構(gòu)、CBO(基于成本優(yōu)化)、智能物化視圖、可實(shí)時(shí)更新的列式存儲(chǔ)引擎等技術(shù)實(shí)現(xiàn)多維、實(shí)時(shí)、高并發(fā)的數(shù)據(jù)分析。

StarRocks 是一個(gè) Linux 基金會(huì)開源項(xiàng)目,采用 Apache 2.0 許可證。它和另一款數(shù)據(jù)倉庫產(chǎn)品Apache Doris有著相同的起源,最初都是來自百度廣告報(bào)表業(yè)務(wù)的 Palo 項(xiàng)目。

StarRocks 可以滿足企業(yè)級(jí)用戶的多種分析需求,包括 OLAP 多維分析、定制報(bào)表、實(shí)時(shí)數(shù)據(jù)分析和 Ad-hoc 數(shù)據(jù)分析等,目前已經(jīng)在大量各種行業(yè)的企業(yè)中獲得了應(yīng)用。

在這里插入圖片描述

架構(gòu)設(shè)計(jì)

StarRocks 架構(gòu)簡潔明了,整個(gè)系統(tǒng)僅由兩種組件組成:前端和后端。前端節(jié)點(diǎn)稱為 FE。后端節(jié)點(diǎn)有兩種類型,BE 和 CN (計(jì)算節(jié)點(diǎn))。當(dāng)使用本地存儲(chǔ)數(shù)據(jù)時(shí),需要部署 BE;當(dāng)數(shù)據(jù)存儲(chǔ)在對象存儲(chǔ)或 HDFS 時(shí),需要部署 CN。StarRocks 不依賴任何外部組件,簡化了部署和維護(hù)。節(jié)點(diǎn)可以水平擴(kuò)展而不影響服務(wù)正常運(yùn)行。此外,StarRocks 具有元數(shù)據(jù)和服務(wù)數(shù)據(jù)副本機(jī)制,提高了數(shù)據(jù)可靠性,有效防止單點(diǎn)故障 (SPOF)。

Architecture choices

StarRocks 兼容 MySQL 協(xié)議,支持標(biāo)準(zhǔn) SQL。用戶可以輕松地通過 MySQL 客戶端連接到 StarRocks 實(shí)時(shí)查詢分析數(shù)據(jù)。

存算一體

本地存儲(chǔ)為實(shí)時(shí)查詢提供了更低的查詢延遲。

作為典型的大規(guī)模并行處理 (MPP) 數(shù)據(jù)庫,StarRocks 支持存算一體架構(gòu)。在存算一體架構(gòu)中,BE 負(fù)責(zé)數(shù)據(jù)存儲(chǔ)和計(jì)算。將數(shù)據(jù)存儲(chǔ)在 BE 中使得數(shù)據(jù)可以在當(dāng)前節(jié)點(diǎn)中計(jì)算,避免了數(shù)據(jù)傳輸和復(fù)制,從而提供極快的查詢和分析性能。該架構(gòu)支持多副本數(shù)據(jù)存儲(chǔ),增強(qiáng)了集群處理高并發(fā)查詢的能力并確保數(shù)據(jù)可靠性,非常適合追求最佳查詢性能的場景。

在這里插入圖片描述

在存算一體架構(gòu)中,StarRocks 由兩種類型的節(jié)點(diǎn)組成:FE 和 BE。

  • FE 負(fù)責(zé)元數(shù)據(jù)管理、客戶端連接管理、查詢規(guī)劃和查詢調(diào)度。每個(gè) FE 使用 BDB JE (Berkeley DB Java Edition)在其內(nèi)存中存儲(chǔ)和維護(hù)元數(shù)據(jù)的完整副本,從而確保所有 FE 之間的服務(wù)一致。FE 可以作為領(lǐng)導(dǎo)者、追隨者和觀察者。如果 leader 節(jié)點(diǎn)崩潰,follower 根據(jù) Raft 協(xié)議選舉 leader。
  • BE 負(fù)責(zé)數(shù)據(jù)存儲(chǔ)和 SQL 執(zhí)行。數(shù)據(jù)存儲(chǔ):BE 具有等效的數(shù)據(jù)存儲(chǔ)能力。FE 根據(jù)預(yù)定義規(guī)則將數(shù)據(jù)分發(fā)到各個(gè) BE。BE 轉(zhuǎn)換導(dǎo)入的數(shù)據(jù),將數(shù)據(jù)寫入所需格式,并為數(shù)據(jù)生成索引。SQL 執(zhí)行:FE 根據(jù)查詢的語義將每個(gè) SQL 查詢解析為邏輯執(zhí)行計(jì)劃,然后將邏輯計(jì)劃轉(zhuǎn)換為可以在 BE 上執(zhí)行的物理執(zhí)行計(jì)劃。BE 在本地存儲(chǔ)數(shù)據(jù)以及執(zhí)行查詢,避免了數(shù)據(jù)傳輸和復(fù)制,極大地提高了查詢性能。

存算分離

在存算分離架構(gòu)中,BE 被“計(jì)算節(jié)點(diǎn) (CN)”取代,后者僅負(fù)責(zé)數(shù)據(jù)計(jì)算任務(wù)和緩存熱數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)在低成本且可靠的遠(yuǎn)端存儲(chǔ)系統(tǒng)中,如 Amazon S3、GCP、Azure Blob Storage、MinIO 等。當(dāng)緩存命中時(shí),查詢性能可與存算一體架構(gòu)相媲美。CN 節(jié)點(diǎn)可以根據(jù)需要在幾秒鐘內(nèi)添加或刪除。這種架構(gòu)降低了存儲(chǔ)成本,確保更好的資源隔離,并具有高度的彈性和可擴(kuò)展性。

在這里插入圖片描述

存算分離架構(gòu)與存算一體架構(gòu)一樣簡單。它僅由兩種類型的節(jié)點(diǎn)組成:FE 和 CN。唯一的區(qū)別是用戶必須配置后端對象存儲(chǔ)。對象存儲(chǔ)和 HDFS 提供低成本、高可靠性和可擴(kuò)展性等優(yōu)勢。除了可以擴(kuò)展存儲(chǔ)外,還可以隨時(shí)添加和刪除 CN 節(jié)點(diǎn)。因?yàn)榇鎯?chǔ)和計(jì)算分離,增刪節(jié)點(diǎn)也無需重新平衡數(shù)據(jù)。

功能特性

MPP

StarRocks 采用 MPP (Massively Parallel Processing) 分布式執(zhí)行框架。在 MPP 執(zhí)行框架中,一條查詢請求會(huì)被拆分成多個(gè)物理計(jì)算單元,在多機(jī)并行執(zhí)行。每個(gè)執(zhí)行節(jié)點(diǎn)擁有獨(dú)享的資源(CPU、內(nèi)存)。MPP 執(zhí)行框架能夠使得單個(gè)查詢請求可以充分利用所有執(zhí)行節(jié)點(diǎn)的資源,所以單個(gè)查詢的性能可以隨著集群的水平擴(kuò)展而不斷提升。

在這里插入圖片描述

向量化

StarRocks 通過實(shí)現(xiàn)全面向量化引擎,充分發(fā)揮了 CPU 的處理能力。全面向量化引擎按照列式的方式組織和處理數(shù)據(jù)。StarRocks 的數(shù)據(jù)存儲(chǔ)、內(nèi)存中數(shù)據(jù)的組織方式,以及 SQL 算子的計(jì)算方式,都是列式實(shí)現(xiàn)的。按列的數(shù)據(jù)組織也會(huì)更加充分的利用 CPU 的 Cache,按列計(jì)算會(huì)有更少的虛函數(shù)調(diào)用以及更少的分支判斷從而獲得更加充分的 CPU 指令流水。

另一方面,StarRocks 的全面向量化引擎通過向量化算法充分的利用 CPU 提供的 SIMD(Single Instruction Multiple Data)指令。這樣 StarRocks 可以用更少的指令數(shù)目,完成更多的數(shù)據(jù)操作。經(jīng)過標(biāo)準(zhǔn)測試集的驗(yàn)證,StarRocks的全面向量化引擎可以將執(zhí)行算子的性能,整體提升 3~10 倍。

CBO

StarRocks 從零設(shè)計(jì)并實(shí)現(xiàn)了一款全新的,基于代價(jià)的優(yōu)化器 CBO(Cost Based Optimizer)。該優(yōu)化器是 Cascades Like 的,在設(shè)計(jì)時(shí),針對 StarRocks 的全面向量化執(zhí)行引擎進(jìn)行了深度定制,并進(jìn)行了多項(xiàng)優(yōu)化和創(chuàng)新。該優(yōu)化器內(nèi)部實(shí)現(xiàn)了公共表達(dá)式復(fù)用,相關(guān)子查詢重寫,Lateral Join,Join Reorder,Join 分布式執(zhí)行策略選擇,低基數(shù)字典優(yōu)化等重要功能和優(yōu)化。目前,該優(yōu)化器已可以完整支持 TPC-DS 99 條 SQL 語句。

在這里插入圖片描述

列式存儲(chǔ)

StarRocks 實(shí)現(xiàn)了可實(shí)時(shí)更新的列式存儲(chǔ)引擎,數(shù)據(jù)以按列的方式進(jìn)行存儲(chǔ)。通過這樣的方式,相同類型的數(shù)據(jù)連續(xù)存放。一方面,數(shù)據(jù)可以使用更加高效的編碼方式,獲得更高的壓縮比,降低存儲(chǔ)成本。另一方面,也降低了系統(tǒng)讀取數(shù)據(jù)的 I/O 總量,提升了查詢性能。此外,在大部分 OLAP 場景中,查詢只會(huì)涉及部分列。相對于行存,列存只需要讀取部分列的數(shù)據(jù),能夠極大地降低磁盤 I/O 吞吐。

在這里插入圖片描述

StarRocks 存儲(chǔ)引擎不僅能夠提供高效的 Partial Update 操作,也能高效處理 Upsert 類操作。使用 Delete-and-insert 的實(shí)現(xiàn)方式,通過主鍵索引快速過濾數(shù)據(jù),避免讀取時(shí)的 Sort 和 Merge 操作,同時(shí)還可以充分利用其他二級(jí)索引,在大量更新的場景下,仍然可以保證查詢的極速性能。

智能物化視圖

StarRocks 支持用戶使用物化視圖(materialized view)進(jìn)行查詢加速和數(shù)倉分層。不同于一些同類產(chǎn)品的物化視圖需要手動(dòng)和原表做數(shù)據(jù)同步,StarRocks 的物化視圖可以自動(dòng)根據(jù)原始表更新數(shù)據(jù)。只要原始表數(shù)據(jù)發(fā)生變更,物化視圖的更新也同步完成,不需要額外的維護(hù)操作就可以保證物化視圖能夠維持與原表一致。不僅如此,物化視圖的選擇也是自動(dòng)進(jìn)行的。StarRocks 在進(jìn)行查詢規(guī)劃時(shí),如果有合適的物化視圖能夠加速查詢,StarRocks 自動(dòng)進(jìn)行查詢改寫(query rewrite),將查詢自動(dòng)定位到最適合的物化視圖上進(jìn)行查詢加速。

在這里插入圖片描述

數(shù)據(jù)湖分析

StarRocks 不僅能高效的分析本地存儲(chǔ)的數(shù)據(jù),也可以作為計(jì)算引擎直接分析數(shù)據(jù)湖中的數(shù)據(jù)。用戶可以通過 StarRocks 提供的 External Catalog,輕松查詢存儲(chǔ)在 Apache Hive、Apache Iceberg、Apache Hudi、Delta Lake 等數(shù)據(jù)湖上的數(shù)據(jù),無需進(jìn)行數(shù)據(jù)遷移。支持的存儲(chǔ)系統(tǒng)包括 HDFS、S3、OSS,支持的文件格式包括 Parquet、ORC、CSV。

在這里插入圖片描述

官方網(wǎng)址:https://www.starrocks.io/

責(zé)任編輯:龐桂玉 來源: SQL編程思想
相關(guān)推薦

2021-06-09 09:52:29

開源Pyroscope代碼

2017-11-24 17:20:37

數(shù)據(jù)庫數(shù)據(jù)倉庫讀寫分離

2020-12-30 09:20:26

Redis數(shù)據(jù)庫開源

2024-08-16 08:31:05

2021-02-25 09:02:29

FacebookZstd應(yīng)用

2023-12-12 13:50:00

代碼業(yè)務(wù)狀態(tài)

2021-07-23 16:50:19

httpJava框架

2010-06-25 18:41:14

teradatamaybank

2021-04-22 09:20:20

KubernetesKubectl FlaLinux

2016-02-15 11:44:23

源碼開源項(xiàng)目watch

2018-11-20 09:00:00

TiDBNewSQL數(shù)據(jù)庫

2022-03-04 09:05:55

StarRocks數(shù)據(jù)湖數(shù)據(jù)質(zhì)量

2019-05-24 11:51:18

BI數(shù)據(jù)倉庫數(shù)據(jù)分析

2023-12-13 07:26:24

數(shù)據(jù)湖倉數(shù)據(jù)倉庫性能

2020-07-07 16:58:21

開源技術(shù) 工具

2021-09-01 10:03:44

數(shù)據(jù)倉庫云數(shù)據(jù)倉庫數(shù)據(jù)庫

2024-02-23 08:13:25

Excalidraw白板工具開源

2015-12-03 10:51:16

2016-11-08 09:16:54

數(shù)據(jù)倉庫優(yōu)化

2016-12-21 12:46:47

數(shù)據(jù)倉庫SQLHive
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)