【廣告】
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ù)的快速寫入、持久化、多緯度的查詢等功能。據(jù)DB-Engines 2019年12月的新報(bào)告顯示,近一年內(nèi)時(shí)序數(shù)據(jù)庫(kù)的受歡迎程度穩(wěn)居前列。
時(shí)間序列數(shù)據(jù)庫(kù)水平切分的優(yōu)點(diǎn)
水平切分的優(yōu)點(diǎn):不存在單庫(kù)數(shù)據(jù)量過(guò)大、高并發(fā)的性能瓶頸,提升系統(tǒng)穩(wěn)定性和負(fù)載能力應(yīng)用端改造較小,不需要拆分業(yè)務(wù)模塊缺點(diǎn):跨分片的事務(wù)一致性難以保證跨庫(kù)的join關(guān)聯(lián)查詢性能較差數(shù)據(jù)多次擴(kuò)展難度和維護(hù)量極大水平切分后同一張表會(huì)出現(xiàn)在多個(gè)數(shù)據(jù)庫(kù)/表中,每個(gè)庫(kù)/表的內(nèi)容不同。。
時(shí)間序列數(shù)據(jù)庫(kù)
根據(jù)數(shù)值取模一般采用hash取模mod的切分方式,例如:將 Customer 表根據(jù) cusno 字段切分到4個(gè)庫(kù)中,余數(shù)為0的放到個(gè)庫(kù),余數(shù)為1的放到第二個(gè)庫(kù),以此類推。這樣同一個(gè)用戶的數(shù)據(jù)會(huì)分散到同一個(gè)庫(kù)中,如果查詢條件帶有cusno字段,則可明確定位到相應(yīng)庫(kù)去查詢。
優(yōu)點(diǎn):數(shù)據(jù)分片相對(duì)比較均勻,不容易出現(xiàn)熱點(diǎn)和并發(fā)訪問(wèn)的瓶頸缺點(diǎn):后期分片集群擴(kuò)容時(shí),需要遷移舊的數(shù)據(jù)(使用一致性hash算法能較好的避免這個(gè)問(wèn)題)容易面臨跨分片查詢的復(fù)雜問(wèn)題。比如上例中,如果頻繁用到的查詢條件中不帶cusno時(shí),將會(huì)導(dǎo)致無(wú)法定位數(shù)據(jù)庫(kù),從而需要同時(shí)向4個(gè)庫(kù)發(fā)起查詢,再在內(nèi)存中合并數(shù)據(jù),取小集返回給應(yīng)用,分庫(kù)反而成為拖累。