《開(kāi)源時(shí)間序列數(shù)據(jù)庫(kù)發(fā)布,兼具RDBMS和NoSQL特性》要點(diǎn):
本文介紹了開(kāi)源時(shí)間序列數(shù)據(jù)庫(kù)發(fā)布,兼具RDBMS和NoSQL特性,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
近日,使用Postgres引擎構(gòu)建的一個(gè)新的開(kāi)源時(shí)間序列數(shù)據(jù)庫(kù)TimeScaleDB已經(jīng)發(fā)布了, TimeScaleDB可用于單節(jié)點(diǎn)版本,并且針對(duì)快速采集和復(fù)雜查詢進(jìn)行了優(yōu)化.
TimeScaleDB數(shù)據(jù)庫(kù)架構(gòu)
開(kāi)發(fā)人員表示TimeScaleDB的優(yōu)勢(shì)特別明顯,與傳統(tǒng)RDBMS相比,它可以在多個(gè)服務(wù)器之間水平擴(kuò)展,與NoSQL數(shù)據(jù)庫(kù)相比,它支持所有的SQL.創(chuàng)建TimeScaleDB數(shù)據(jù)庫(kù)的初衷其實(shí)是他們需要處理大量且復(fù)雜的時(shí)間尺度數(shù)據(jù),且短時(shí)間內(nèi)需要多次拜訪數(shù)據(jù),所以存儲(chǔ)這樣的時(shí)間序列數(shù)據(jù)需要規(guī)模和有效的復(fù)雜查詢.而他們不愿意在NoSQL的水平可擴(kuò)展性和關(guān)系數(shù)據(jù)庫(kù)的查詢能力之間進(jìn)行權(quán)衡和將就,所以就自主開(kāi)發(fā)了TimeScaleDB.
TimeScaleDB的SQL支持由PostgreSQL引擎提供,同時(shí)包括了二次索引,JOIN和窗口函數(shù)等功能. TimescaleDB的使用與PostgreSQL數(shù)據(jù)庫(kù)類似,用戶可以像PostgreSQL一樣連接到數(shù)據(jù)庫(kù)以及管理數(shù)據(jù)庫(kù),另外,與PostgreSQL連接的工具和庫(kù)在TimescaleDB也能正常工作.
開(kāi)發(fā)人員表示TimescaleDB比PostgreSQL更具優(yōu)勢(shì),因?yàn)镻ostgreSQL不能很好地適應(yīng)大多數(shù)時(shí)間序列應(yīng)用產(chǎn)生的數(shù)據(jù)量,特別是在單個(gè)服務(wù)器上運(yùn)行時(shí).他們特別指出, PostgreSQL對(duì)大型表格的寫入性能差,如果數(shù)據(jù)量是隨時(shí)間呈線性增長(zhǎng),那么隨著數(shù)據(jù)量的增長(zhǎng),這個(gè)問(wèn)題會(huì)越來(lái)越嚴(yán)重.當(dāng)表索引不再適合內(nèi)存時(shí),那么之后的每次插入都會(huì)替代掉原來(lái)索引“B-Trees”的一部分.
SQL數(shù)據(jù)庫(kù)的這些問(wèn)題間接造成了NoSQL數(shù)據(jù)庫(kù)的蓬勃發(fā)展,TimescaleDB的開(kāi)發(fā)人員表示時(shí)間序列工作負(fù)載在兩個(gè)關(guān)鍵方面是不同的.首先,時(shí)間序列數(shù)據(jù)在很大程度上是不變的,到達(dá)的新數(shù)據(jù)通常是對(duì)應(yīng)于最近的時(shí)間段.換句話說(shuō),寫入主要作為新的插入,而不是對(duì)現(xiàn)有行進(jìn)行更新.
其次,工作負(fù)載在時(shí)間和空間上都有自然的劃分.寫入通常被制成最新的時(shí)間間隔,并跨越空間維度(例如數(shù)據(jù)源,設(shè)備,用戶等)中的“分區(qū)鍵”.查詢通常會(huì)通過(guò)特定的時(shí)間序列或者數(shù)據(jù)源或者跨越多個(gè)數(shù)據(jù)源.
TimescaleD自動(dòng)將數(shù)據(jù)分割為跨多個(gè)節(jié)點(diǎn)(或單個(gè)節(jié)點(diǎn))的二維塊,通過(guò)所有塊執(zhí)行并行操作和優(yōu)化查詢計(jì)劃,并將單個(gè)表格接口暴露于此數(shù)據(jù)(“hypertable”).
TimescaleDB提供了所有時(shí)間和空間中單個(gè)連續(xù)數(shù)據(jù)庫(kù)表的錯(cuò)覺(jué),實(shí)際上這個(gè)表在服務(wù)器之間分為多個(gè)塊. 您可以針對(duì)此超級(jí)表運(yùn)行標(biāo)準(zhǔn)SQL查詢,TimescaleDB分布式查詢計(jì)劃程序會(huì)自動(dòng)優(yōu)化查詢以拜訪正確的組塊. 數(shù)據(jù)庫(kù)可以有多個(gè)hypertable,,其中每個(gè)具有自己的模式和分區(qū).
《開(kāi)源時(shí)間序列數(shù)據(jù)庫(kù)發(fā)布,兼具RDBMS和NoSQL特性》是否對(duì)您有啟發(fā),歡迎查看更多與《開(kāi)源時(shí)間序列數(shù)據(jù)庫(kù)發(fā)布,兼具RDBMS和NoSQL特性》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.snjht.com/jiaocheng/10134.html