五月婷婷丁香性爱|j久久一级免费片|久久美女福利视频|中文观看在线观看|加勒比四区三区二|亚洲裸女视频网站|超碰97AV在线69网站免费观看|有码在线免费视频|久久青青日本视频|亚洲国产AAAA

時(shí)序數(shù)據(jù)庫GeminiDB Influx接口介紹

什么是云數(shù)據(jù)庫GeminiDB Influx接口

GeminiDB Influx接口是一款基于計(jì)算存儲(chǔ)分離架構(gòu),兼容InfluxDB生態(tài)的云原生NoSQL時(shí)序數(shù)據(jù)庫。在云計(jì)算平臺(tái)高性能、高可用、高可靠、高安全、可彈性伸縮的基礎(chǔ)上,提供了一鍵部署、快速備份恢復(fù)、計(jì)算存儲(chǔ)獨(dú)立擴(kuò)容、監(jiān)控告警等服務(wù)能力。廣泛應(yīng)用于資源監(jiān)控,業(yè)務(wù)監(jiān)控分析,物聯(lián)網(wǎng)設(shè)備實(shí)時(shí)監(jiān)控,工業(yè)生產(chǎn)監(jiān)控,生產(chǎn)質(zhì)量評(píng)估和故障回溯等。提供大并發(fā)的時(shí)序數(shù)據(jù)讀寫,壓縮存儲(chǔ)和類SQL查詢,并且支持多維聚合計(jì)算和數(shù)據(jù)可視化分析能力。

相比InfluxDB等開源時(shí)序數(shù)據(jù)庫,采用存儲(chǔ)與計(jì)算分離的云原生數(shù)據(jù)庫設(shè)計(jì)具備以下優(yōu)勢:


容忍N(yùn)-1節(jié)點(diǎn)故障,更高可用。

存儲(chǔ)與計(jì)算分離,可以復(fù)用成熟的分布式存儲(chǔ)系統(tǒng),提供系統(tǒng)的極致可靠性。時(shí)序數(shù)據(jù)通常會(huì)持續(xù)高性能寫入,同時(shí)還有大量的查詢業(yè)務(wù),任何系統(tǒng)故障導(dǎo)致業(yè)務(wù)中斷甚至數(shù)據(jù)丟失都會(huì)造成嚴(yán)重的業(yè)務(wù)影響,而利用經(jīng)過驗(yàn)證的成熟的分布式存儲(chǔ)系統(tǒng),能夠顯著的提升系統(tǒng)可靠性,降低數(shù)據(jù)丟失風(fēng)險(xiǎn)。


分鐘級(jí)計(jì)算節(jié)點(diǎn)擴(kuò)容,秒級(jí)存儲(chǔ)擴(kuò)容。

解除在傳統(tǒng)Shared Nothing架構(gòu)下,數(shù)據(jù)和節(jié)點(diǎn)物理綁定的約束,數(shù)據(jù)只是邏輯上歸宿于某個(gè)節(jié)點(diǎn),使的計(jì)算節(jié)點(diǎn)無狀態(tài)化。這樣在擴(kuò)容計(jì)算節(jié)點(diǎn)時(shí),可以避免在計(jì)算節(jié)點(diǎn)間遷移大量數(shù)據(jù),只需要邏輯上將部分?jǐn)?shù)據(jù)從一個(gè)節(jié)點(diǎn)移交給另一個(gè)節(jié)點(diǎn)即可,可以將集群擴(kuò)容的耗時(shí)從以天為單位縮短為分鐘級(jí)別。


消除多副本冗余,降低存儲(chǔ)成本。

通過將多副本復(fù)制從計(jì)算節(jié)點(diǎn)卸載到分布式存儲(chǔ)節(jié)點(diǎn),可以避免用戶以Cloud Hosting形態(tài)在云上自建數(shù)據(jù)庫時(shí),分布式數(shù)據(jù)庫和分布式存儲(chǔ)分別做3副本復(fù)制導(dǎo)致總共9副本的冗余問題,能夠顯著降低存儲(chǔ)成本。

云數(shù)據(jù)庫GeminiDB Influx接口5大特性

采用云原生存儲(chǔ)與計(jì)算分離架構(gòu),具有支持億級(jí)時(shí)間線、極致寫入性能、低存儲(chǔ)成本、高性能多維聚合查詢和極致彈性擴(kuò)縮容等5大特性。

支持億級(jí)時(shí)間線

在時(shí)序數(shù)據(jù)庫系統(tǒng)中,存在大量并發(fā)查詢和寫入操作,合理控制內(nèi)存的使用量顯得十分重要。

開源時(shí)序數(shù)據(jù)庫VictoriaMetrics、InfluxDB在寫入數(shù)據(jù)的時(shí)間線增加到千萬級(jí)別時(shí),進(jìn)程會(huì)因內(nèi)存耗盡而OOM退出。為了避免寫入海量時(shí)間線數(shù)據(jù)導(dǎo)致內(nèi)存資源被耗盡,GeminiDB Influx接口做了如下優(yōu)化:

1、在內(nèi)存分配上,大量使用內(nèi)存池復(fù)用技術(shù),減少臨時(shí)對象內(nèi)存申請,降低內(nèi)存碎片。


2、在內(nèi)存回收上,實(shí)現(xiàn)算法根據(jù)內(nèi)存負(fù)載,動(dòng)態(tài)調(diào)整GC頻率,加快內(nèi)存空間回收。


3、在單查詢上,實(shí)行Quota控制,避免單查詢耗盡內(nèi)存。


4、在緩存使用上,針對不同節(jié)點(diǎn)規(guī)格提供不同的最優(yōu)配置。


經(jīng)過改進(jìn),在海量時(shí)間線下,系統(tǒng)寫入性能保持穩(wěn)定,大幅超出InfluxDB開源實(shí)現(xiàn)。對于涉及海量時(shí)間線的聚合查詢,如高散列聚合查詢,查詢性能提升更為顯著。

超高寫入性能

相比單機(jī)模式,集群模式可以將寫入負(fù)載分散到集群中各個(gè)計(jì)算節(jié)點(diǎn)上,從而支持更大規(guī)模的數(shù)據(jù)寫入。GeminiDB Influx接口支持每天萬億條數(shù)據(jù)寫入,在工程實(shí)現(xiàn)上進(jìn)行了以下優(yōu)化:

1、時(shí)序數(shù)據(jù)按照時(shí)間線做Hash Partition,利用所有節(jié)點(diǎn)并行寫入,充分發(fā)揮集群優(yōu)勢。


2、Shard節(jié)點(diǎn)采用針對寫場景優(yōu)化的LSM-Tree布局,寫WAL后確保日志持久化,再寫入內(nèi)存Buffer即可返回。


3、數(shù)據(jù)庫多副本復(fù)制卸載到分布式存儲(chǔ),降低計(jì)算節(jié)點(diǎn)到存儲(chǔ)節(jié)點(diǎn)的網(wǎng)絡(luò)流量。


4、在大規(guī)模寫入場景下,GeminiDB Influx接口的寫入性能線性擴(kuò)展度大于80%。

低存儲(chǔ)成本

GeminiDB Influx接口 對數(shù)據(jù)采用列式存儲(chǔ),相同類型的數(shù)據(jù)被集中存儲(chǔ),更有利于數(shù)據(jù)壓縮。采用自研的時(shí)序數(shù)據(jù)自適應(yīng)壓縮算法,在壓縮前對數(shù)據(jù)進(jìn)行抽樣分析,根據(jù)數(shù)據(jù)量、數(shù)據(jù)分布以及數(shù)據(jù)類型選擇最合適的數(shù)據(jù)壓縮算法。在壓縮算法上,相比原生的InfluxDB,重點(diǎn)針對Float、String、Timestamp這三種數(shù)據(jù)類型進(jìn)行了優(yōu)化和改進(jìn)。

Float數(shù)據(jù)類型: 對Gorilla壓縮算法進(jìn)行了優(yōu)化,將可以無損轉(zhuǎn)換的數(shù)值轉(zhuǎn)為整數(shù),再根據(jù)數(shù)據(jù)特點(diǎn),選擇最合適的數(shù)據(jù)壓縮算法。


String數(shù)據(jù)類型:采用了壓縮效率更好的ZSTD壓縮算法,并根據(jù)待壓縮數(shù)據(jù)的Length使用不同Level的編碼方法。


Timestamp數(shù)據(jù)類型:采用差量壓縮方法,最后還針對數(shù)據(jù)文件內(nèi)的Timestamp進(jìn)行相似性壓縮,進(jìn)一步降低時(shí)序數(shù)據(jù)存儲(chǔ)成本。

高性能多維聚合查詢

在提升聚合查詢整體性能方面,GeminiDB Influx接口做了如下優(yōu)化:

采用MPP架構(gòu):一條查詢語句可以在多節(jié)點(diǎn)及多核并發(fā)執(zhí)行。


向量化查詢引擎:在查詢結(jié)果數(shù)據(jù)量很大時(shí),傳統(tǒng)的火山模型每次迭代返回一條數(shù)據(jù),存在過多的開銷導(dǎo)致性能瓶頸。GaussDB(for Influx)內(nèi)部實(shí)現(xiàn)了向量化查詢引擎,每次迭代批量返回?cái)?shù)據(jù),大大減少了額外開銷。


增量聚合引擎:基于滑動(dòng)窗口的聚合查詢,大部分從聚合結(jié)果緩存中直接命中,僅需要聚合增量數(shù)據(jù)部分即可。


多維倒排索引:支持多維多條件組合查詢,避免大量Scan數(shù)據(jù)。


存儲(chǔ)摘要索引:加快數(shù)據(jù)查詢中過濾無關(guān)數(shù)據(jù)。

分鐘級(jí)彈性擴(kuò)縮容

在時(shí)序數(shù)據(jù)庫的運(yùn)行過程中,隨著業(yè)務(wù)量的增加,常常需要對數(shù)據(jù)庫進(jìn)行在線擴(kuò)容,以滿足業(yè)務(wù)的要求。傳統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)存儲(chǔ)在本地,擴(kuò)容后往往需要遷移數(shù)據(jù)。當(dāng)數(shù)據(jù)量達(dá)到一定規(guī)模時(shí),數(shù)據(jù)遷移所耗費(fèi)的時(shí)間往往按天計(jì)算,給運(yùn)維帶來了很大的困難。


如圖所示,每個(gè)Database邏輯上由多個(gè)Partition組成,每個(gè)Partition獨(dú)立存儲(chǔ),且都可自描述。所有Partition數(shù)據(jù)都存儲(chǔ)在分布式共享存儲(chǔ)上,數(shù)據(jù)庫Shard節(jié)點(diǎn)和數(shù)據(jù)沒有物理綁定關(guān)系。擴(kuò)容時(shí)首先offload源節(jié)點(diǎn)Partition,再在目標(biāo)節(jié)點(diǎn)assign即可。

時(shí)序數(shù)據(jù)庫GeminiDB Influx接口常見問題

時(shí)序數(shù)據(jù)庫GeminiDB Influx接口 必讀文檔