<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          時(shí)序數(shù)據(jù)庫(kù) CeresDB 1.0 正式發(fā)布

          共 2857字,需瀏覽 6分鐘

           ·

          2023-03-04 05:38

          經(jīng)過近一年的開源研發(fā)工作,我們很高興地和大家同步:時(shí)序數(shù)據(jù)庫(kù) CeresDB 1.0 正式發(fā)布,達(dá)到生產(chǎn)可用標(biāo)準(zhǔn)。


          代碼主倉(cāng)庫(kù)的GitHub 地址為:https://github.com/CeresDB/ceresdb


          CeresDB 1.0 官方文檔:https://docs.ceresdb.io


          1.

           設(shè)計(jì)目標(biāo)


          CeresDB 團(tuán)隊(duì)已經(jīng)在時(shí)序數(shù)據(jù)領(lǐng)域進(jìn)行了5年的深耕。但是隨著在領(lǐng)域內(nèi)研究的深入以及用戶場(chǎng)景的逐漸復(fù)雜化,我們發(fā)現(xiàn)了若干傳統(tǒng)時(shí)序數(shù)據(jù)庫(kù)尚未很好解決的一些技術(shù)問題,比如:

          • 高效處理高基數(shù) Tag 組合(時(shí)間線膨脹問題)與分析型工作負(fù)載

          • 現(xiàn)代且完備的分布式技術(shù)方案

          • 云原生與計(jì)算存儲(chǔ)分離


          因此,CeresDB 開源項(xiàng)目發(fā)起之初,我們就將其定義為下一代的云原生時(shí)序數(shù)據(jù)庫(kù)。希望它能同時(shí)較好支持傳統(tǒng)時(shí)間序列工作負(fù)載(timeseries workload)與分析型工作負(fù)載(analytic workload),并且能擁有一個(gè)現(xiàn)代的云原生分布式技術(shù)架構(gòu),支持從簡(jiǎn)單的單節(jié)點(diǎn)到龐大分布式集群等各種部署場(chǎng)景。


          這樣的設(shè)計(jì)目標(biāo),也直接決定了我們過去一年在研發(fā) CeresDB 1.0 過程中主要的精力投入方向。目前,隨著 CeresDB 1.0 的正式發(fā)布,我們認(rèn)為以上問題均得到了基本的解決。


          2.

          CeresDB 1.0 核心特性介紹


          存儲(chǔ)引擎

          • 支持列式混合存儲(chǔ)

          • 高效 XOR 過濾器


          云原生分布式

          • 實(shí)現(xiàn)了計(jì)算存儲(chǔ)分離(支持 OSS 作為數(shù)據(jù)存儲(chǔ),WAL 實(shí)現(xiàn)支持 OBKV、Kafka)

          • 支持 HASH 分區(qū)表


          部署與運(yùn)維

          • 支持單機(jī)部署

          • 支持分布式集群部署

          • 支持 Prometheus + Grafana 搭建自監(jiān)控


          讀寫協(xié)議

          • 支持 SQL 查詢與寫入

          • 實(shí)現(xiàn)了 CeresDB 內(nèi)置高性能讀寫協(xié)議,提供多語(yǔ)言 SDK

          • 支持 Prometheus,可以作為 Prometheus 的 remote storage 進(jìn)行使用


          多語(yǔ)言讀寫 SDK

          • 實(shí)現(xiàn)了四種語(yǔ)言的客戶端SDK:Java、Python、Go、Rust


          3.

          核心技術(shù)方案


          這里簡(jiǎn)單介紹一下 CeresDB 在過去一年投入的幾個(gè)重點(diǎn)方向的技術(shù)方案。由于篇幅限制,這里僅作簡(jiǎn)要說明。本文的最后包含 CeresDB 發(fā)布會(huì)技術(shù)分享視頻,里面有更加詳細(xì)的介紹。


          存儲(chǔ)引擎探索

          經(jīng)典時(shí)序模型會(huì)使用倒排索引的方式對(duì)數(shù)據(jù)進(jìn)行組織。然而在某些場(chǎng)景如短生命周期 pod 監(jiān)控、業(yè)務(wù)數(shù)據(jù)監(jiān)控等,會(huì)產(chǎn)生高基數(shù)時(shí)間線,進(jìn)而導(dǎo)致倒排索引膨脹問題,寫入查詢性能會(huì)急劇變差。

          • 寫入時(shí)由于索引的復(fù)雜性高,寫入耗時(shí)變高

          • 查詢時(shí)由于索引的有效性低,查詢耗時(shí)變高


          下圖為經(jīng)典時(shí)序模型的示意圖:


          為了解決高基數(shù)的問題,CeresDB 受 InfluxDB IOx 以及各類分析型數(shù)據(jù)庫(kù)的啟發(fā),采用以下方式對(duì)時(shí)序數(shù)據(jù)進(jìn)行組織來實(shí)現(xiàn)存儲(chǔ)和查詢:

          • 列式存儲(chǔ) + 混合存儲(chǔ)

          • 分區(qū)掃描 + 剪枝 + 高效 fitler


          下圖展示了 CeresDB 內(nèi)部的數(shù)據(jù)組織形式:


          分布式方案

          CeresDB 采用存儲(chǔ)計(jì)算分離架構(gòu),如下圖所示。CeresDB 實(shí)例本身可以不存儲(chǔ)任何數(shù)據(jù),在此基礎(chǔ)上可以較好實(shí)現(xiàn)關(guān)鍵的幾項(xiàng)分布式特性,比如:計(jì)算存儲(chǔ)彈性擴(kuò)縮容、服務(wù)高可用和負(fù)載均衡等等。



          CeresDB 分布式集群主要由以下部分組成:

          • CeresMeta Cluster:集群的元數(shù)據(jù)中心,負(fù)責(zé)集群的整體調(diào)度;

          • CeresDB:一個(gè) CeresDB 實(shí)例, 負(fù)責(zé)時(shí)序數(shù)據(jù)組織與存儲(chǔ);

          • WAL Service(外部):WAL 服務(wù),在集群方案中,用于存儲(chǔ)實(shí)時(shí)寫入的數(shù)據(jù);

          • Object Storage(外部):對(duì)象存儲(chǔ)服務(wù),用于存儲(chǔ)從 memtable 生成的 SST 文件。


          詳細(xì)的集群方案可以參看官方文檔(https://docs.ceresdb.io/cn/design/clustering.html)


          4.

          性能優(yōu)化與實(shí)驗(yàn)結(jié)果


          CeresDB 組合使用了列式混合存儲(chǔ)、數(shù)據(jù)分區(qū)、剪枝、高效掃描等技術(shù),解決海量時(shí)間線(high cardinality)下寫入查詢性能變差的問題。


          寫入優(yōu)化

          CeresDB 采用類 LSM(Log-structured merge-tree)寫入模型,無需在寫入時(shí)處理復(fù)雜的倒排索引,因此寫入性能上較好。


          查詢優(yōu)化

          主要采用以下技術(shù)手段提高查詢性能:

          剪枝:

          • min/max 剪枝:構(gòu)建代價(jià)比較低,在特定場(chǎng)景,性能較好

          • XOR 過濾器:提高對(duì) parquet 文件中的 row group 的篩選精度


          高效掃描:

          • 多個(gè) SST 間并發(fā):同時(shí)掃描多個(gè) SST 文件

          • 單個(gè) SST 內(nèi)部并發(fā):支持 Parquet 層并行拉取多個(gè) row group

          • 合并小 IO:針對(duì) OSS 上的文件,合并小 IO 請(qǐng)求,提高拉取效率

          • 本地 cache:緩存 OSS 拉取文件,支持內(nèi)存和磁盤緩存


          性能測(cè)試結(jié)果

          采用 TSBS 進(jìn)行性能測(cè)試。壓測(cè)參數(shù)如下:

          • 10個(gè) Tag  

          • 10 個(gè) Field

          • 時(shí)間線(Tags 組合數(shù))100w 量級(jí)


          壓測(cè)機(jī)器配置:24c90g

          InfluxDB 版本:1.8.5

          CeresDB 版本:1.0.0


          寫入性能對(duì)比

          InfluxDB 寫入性能隨著時(shí)間下降較多。CeresDB 在寫入穩(wěn)定后,寫入速率趨于平穩(wěn),并且總體寫入性能表現(xiàn)為 InfluxDB 的 1.5 倍以上(一段時(shí)間后可達(dá) 2 倍以上差距)


          下圖中,單行 row 包含 10 個(gè) Field。

          左圖為Influxdb,右圖為CeresDB


          查詢性能對(duì)比

          低篩選度條件(條件:os=Ubuntu15.10),CeresDB 比 InfluxDB 快 26 倍,具體數(shù)據(jù)如下:

          • CeresDB 查詢耗時(shí):15s

          • InfluxDB 查詢耗時(shí):6m43s


          高篩選度條件(命中的數(shù)據(jù)較少,條件:hostname=[8個(gè)],此時(shí)理論上傳統(tǒng)倒排索引會(huì)更有效),這是 InfluxDB 更有優(yōu)勢(shì)的場(chǎng)景,此時(shí)在預(yù)熱完成條件下,CeresDB 比 InfluxDB 慢 5 倍。

          • CeresDB:85ms

          • InfluxDB:15ms


          5.

           2023 年 roadmap


          2023 年,在 CeresDB 1.0 發(fā)布之后,我們的大部分工作將聚焦在性能、分布式與周邊生態(tài)方面的工作。尤其周邊生態(tài)的對(duì)接支持工作,希望能讓各種不同的用戶更加簡(jiǎn)單的用上 CeresDB:


          周邊生態(tài)

          • 生態(tài)兼容,包括 PromQL、InfluxdbQL、OpenTSDB 等常用時(shí)序數(shù)據(jù)庫(kù)協(xié)議兼容

          • 運(yùn)維工具支持,包括 k8s 支持、CeresDB 運(yùn)維系統(tǒng)、自監(jiān)控等

          • 開發(fā)者工具,包括數(shù)據(jù)導(dǎo)入導(dǎo)出等


          性能

          • 探索新的存儲(chǔ)格式

          • 增強(qiáng)不同類型索引,強(qiáng)化 CeresDB 在不同工作負(fù)載下的表現(xiàn)


          分布式

          • 自動(dòng)負(fù)載均衡

          • 提高可用性、可靠性


          6.

          加入我們


          CeresDB 團(tuán)隊(duì)致力于將開源社區(qū)打造成一個(gè)開放和有創(chuàng)造力的社區(qū)。歡迎任何形式的參與,包括且不限于提問、代碼貢獻(xiàn)、技術(shù)討論等。期待收到社區(qū)想法和反饋,以推動(dòng)項(xiàng)目往前進(jìn)一步發(fā)展。

          • 釘釘群:

          瀏覽 70
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  豆花视频在线观看一区二区三区 | 亚洲无码在线视频观看 | 国产做爰XXXⅩ久久久精华液 | 操逼视频色版 | 超碰成人在播放 |