您好,歡迎來(lái)到易龍商務(wù)網(wǎng)!
全國(guó)咨詢(xún)熱線(xiàn):13611579799

云南BlueSky時(shí)序數(shù)據(jù)庫(kù)價(jià)格承諾守信「多圖」

【廣告】

發(fā)布時(shí)間:2021-10-26 11:16  
企業(yè)視頻展播,請(qǐng)點(diǎn)擊播放
視頻作者:北京美信時(shí)代科技有限公司









時(shí)序數(shù)據(jù)庫(kù)的秘密 —— 快速檢索

碼洞是通過(guò) Lucene 的倒排索引技術(shù)實(shí)現(xiàn)比關(guān)系型數(shù)據(jù)庫(kù)更快的過(guò)濾。特別是它對(duì)多條件的過(guò)濾支持非常好,比如年齡在 18 和 30 之間,性別為女性這樣的組合查詢(xún)。倒排索引很多地方都有介紹,但是其比關(guān)系型數(shù)據(jù)庫(kù)的 b-tree 索引快在哪里?到底為什么快呢?

籠統(tǒng)的來(lái)說(shuō),b-tree 索引是為寫(xiě)入優(yōu)化的索引結(jié)構(gòu)。當(dāng)我們不需要支持快速的更新的時(shí)候,可以用預(yù)先排序等方式換取更小的存儲(chǔ)空間,更快的檢索速度等好處,其代價(jià)就是更新慢。要進(jìn)一步深入的化,還是要看一下 Lucene 的倒排索引是怎么構(gòu)成的




BlueSky時(shí)間序列化數(shù)據(jù)庫(kù)時(shí)序數(shù)據(jù)庫(kù)對(duì)IoT的價(jià)值

BlueSky時(shí)間序列化數(shù)據(jù)庫(kù)時(shí)序數(shù)據(jù)是指基于時(shí)間的一系列數(shù)據(jù),隨著IoT、5G等技術(shù)的發(fā)展,工業(yè)物聯(lián)網(wǎng)、智能家居、監(jiān)控等行業(yè)對(duì)時(shí)序數(shù)據(jù)的需求呈現(xiàn)爆發(fā)式的增長(zhǎng),而傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)難以對(duì)此進(jìn)行有效的處理。不僅因?yàn)閿?shù)據(jù)量比之前可能要多數(shù)萬(wàn)倍,實(shí)時(shí)采集、高頻度、高密度的動(dòng)態(tài)數(shù)據(jù)也導(dǎo)致模型隨時(shí)可變。

為了更好的支持時(shí)序數(shù)據(jù)的存儲(chǔ)分析,各種時(shí)序數(shù)據(jù)庫(kù)(TimeSeries Database)應(yīng)運(yùn)而生,時(shí)序數(shù)據(jù)庫(kù)可以基于時(shí)間區(qū)間進(jìn)行聚合分析和檢索,實(shí)現(xiàn)對(duì)時(shí)序數(shù)據(jù)的快速寫(xiě)入、持久化、多緯度的查詢(xún)等功能。據(jù)DB-Engines 2019年12月的新報(bào)告顯示,近一年內(nèi)時(shí)序數(shù)據(jù)庫(kù)的受歡迎程度穩(wěn)居前列。




BlueSky時(shí)間序列化數(shù)據(jù)庫(kù)背景

BlueSky時(shí)間序列化數(shù)據(jù)庫(kù)引擎在服務(wù)于集團(tuán)內(nèi)的客戶(hù)時(shí),根據(jù)集團(tuán)業(yè)務(wù)特性做了很多針對(duì)性的優(yōu)化。 然而在HiTSDB云產(chǎn)品的打磨過(guò)程中逐漸發(fā)現(xiàn),很多針對(duì)性的優(yōu)化很難在公有云上針對(duì)特定用戶(hù)去實(shí)施。

于此同時(shí), 在公有云客戶(hù)使用BlueSky時(shí)間序列化數(shù)據(jù)庫(kù)的過(guò)程中,發(fā)現(xiàn)了越來(lái)越多由于聚合查詢(xún)導(dǎo)致的問(wèn)題,比如: 返回?cái)?shù)據(jù)點(diǎn)過(guò)多會(huì)出現(xiàn)棧溢出等錯(cuò)誤,聚合點(diǎn)過(guò)多導(dǎo)致OOM, 或者無(wú)法完成聚合,實(shí)例完全卡死等等問(wèn)題。這些問(wèn)題主要由于原始的聚合引擎架構(gòu)上的缺陷導(dǎo)致。

因此開(kāi)發(fā)團(tuán)隊(duì)評(píng)估后決定圍繞新的聚合引擎架構(gòu)對(duì)BlueSky時(shí)間序列化數(shù)據(jù)庫(kù)引擎進(jìn)行升級(jí),包含: 存儲(chǔ)模型的改造,索引方式的升級(jí),實(shí)現(xiàn)全新的流式聚合,數(shù)據(jù)遷移,性能評(píng)測(cè)。 本文主要圍繞這5個(gè)方面進(jìn)行梳理,重點(diǎn)在“全新的流式聚合部分





時(shí)間序列數(shù)據(jù)庫(kù)跨節(jié)點(diǎn)關(guān)聯(lián)查詢(xún) join 問(wèn)題

跨節(jié)點(diǎn)關(guān)聯(lián)查詢(xún) join 問(wèn)題切分之前,系統(tǒng)中很多列表和詳情頁(yè)所需的數(shù)據(jù)可以通過(guò)sql join來(lái)完成。而切分之后,數(shù)據(jù)可能分布在不同的節(jié)點(diǎn)上,此時(shí)join帶來(lái)的問(wèn)題就比較麻煩了,考慮到性能,盡量避免使用join查詢(xún)。

解決這個(gè)問(wèn)題的一些方法:1)全局表全局表,也可看做是"數(shù)據(jù)字典表",就是系統(tǒng)中所有模塊都可能依賴(lài)的一些表,為了避免跨庫(kù)join查詢(xún),可以將這類(lèi)表在每個(gè)數(shù)據(jù)庫(kù)中都保存一份。這些數(shù)據(jù)通常很少會(huì)進(jìn)行修改,所以也不擔(dān)心一致性的問(wèn)題。2)字段冗余一種典型的反范式設(shè)計(jì),利用空間換時(shí)間,為了性能而避免join查詢(xún)。例如:訂單表保存userId時(shí)候,也將userName冗余保存一份,這樣查詢(xún)訂單詳情時(shí)就不需要再去查詢(xún)"買(mǎi)家user表"了。

但這種方法適用場(chǎng)景也有限,比較適用于依賴(lài)字段比較少的情況。而冗余字段的數(shù)據(jù)一致性也較難保證,就像上面訂單表的例子,買(mǎi)家修改了userName后,是否需要在歷史訂單中同步更新呢?這也要結(jié)合實(shí)際業(yè)務(wù)場(chǎng)景進(jìn)行考慮。



行業(yè)推薦