新聞中心
時(shí)序數(shù)據(jù)庫是一種高效存儲(chǔ)時(shí)間序列數(shù)據(jù)的數(shù)據(jù)庫,它能夠有效地存儲(chǔ)和查詢時(shí)間序列數(shù)據(jù)。隨著物聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)、金融科技等行業(yè)的發(fā)展,時(shí)序數(shù)據(jù)存儲(chǔ)和分析需求不斷增長,時(shí)序數(shù)據(jù)庫應(yīng)運(yùn)而生。本文將。

1. InfluxDB
InfluxDB是一種比較流行的開源時(shí)序數(shù)據(jù)庫,基于Go語言編寫。它的優(yōu)點(diǎn)是:易于使用、響應(yīng)速度快、存儲(chǔ)數(shù)據(jù)的高效性強(qiáng)、支持高可用性和可擴(kuò)展性。此外,InfluxDB支持多樣的數(shù)據(jù)存儲(chǔ)格式,包括ON格式、Line協(xié)議等,還支持在SD卡上運(yùn)行。
然而,InfluxDB也存在一些缺點(diǎn)。它不支持跨機(jī)器數(shù)據(jù)的查詢,這意味著只能在本地或同一網(wǎng)絡(luò)內(nèi)進(jìn)行查詢;InfluxDB缺乏細(xì)致且詳實(shí)的文檔,對(duì)于初學(xué)者而言不太友好。
2. OpenTSDB
OpenTSDB是一種高性能、分布式的時(shí)序數(shù)據(jù)庫,基于HBase和Zookeeper。它的優(yōu)勢在于:支持分布式存儲(chǔ)和水平擴(kuò)展、支持大規(guī)模數(shù)據(jù)集的快速查詢和分析、具有多種靈活的查詢方式和圖形報(bào)表生成方式。此外,OpenTSDB還支持Java、Python等多語言的API接口,方便數(shù)據(jù)的讀寫和分析。
但OpenTSDB的局限性也不容忽視。它的數(shù)據(jù)存儲(chǔ)格式較為固定,只支持一些常用的格式,無法自定義;OpenTSDB的使用門檻較高,需要運(yùn)維人員具有一定的技術(shù)水平。
3. TimescaleDB
TimescaleDB是一種流行的開源時(shí)序數(shù)據(jù)庫,基于PostgreSQL架構(gòu)。它有效地兼顧了PostgreSQL的傳統(tǒng)強(qiáng)項(xiàng):關(guān)系型、ACID兼容、擴(kuò)展性穩(wěn)定等特點(diǎn),以及時(shí)序數(shù)據(jù)庫的高效性和靈活性。TimescaleDB的優(yōu)勢在于:支持SQL查詢語言,給用戶提供了廣泛的查詢和分析工具;支持二次索引和壓縮算法,提高數(shù)據(jù)的存儲(chǔ)效率;支持插入式持久化模塊,方便數(shù)據(jù)的備份和恢復(fù)。
但TimescaleDB的缺陷也有所體現(xiàn)。它的支持者數(shù)量不多,開發(fā)團(tuán)隊(duì)不夠強(qiáng)大,更新不夠及時(shí);它對(duì)于查詢結(jié)果的排序和分組效率較低,需要使用高級(jí)索引技術(shù)才能提高效率。
4. KrosDB
KrosDB是一種基于Cassandra架構(gòu)的開源時(shí)序數(shù)據(jù)庫,具有高效的數(shù)據(jù)存儲(chǔ)和查詢性能。它的優(yōu)點(diǎn)在于:支持多種數(shù)據(jù)存儲(chǔ)方式,包括ON、CSV等格式;支持多種查詢語言,包括SQL、CQL等;支持標(biāo)簽查詢和時(shí)間范圍查詢,方便進(jìn)行數(shù)據(jù)分析。
但KrosDB也存在一些不足之處。它的安全性和可靠性較低,存在數(shù)據(jù)丟失和損壞的風(fēng)險(xiǎn);它的數(shù)據(jù)存儲(chǔ)和查詢效率較低,需要使用分布式計(jì)算和緩存技術(shù)才能提高效率。
總體來說,時(shí)序數(shù)據(jù)庫是一種重要的數(shù)據(jù)存儲(chǔ)和查詢工具,不同的時(shí)序數(shù)據(jù)庫有著各自的特點(diǎn)和優(yōu)缺點(diǎn)。使用者應(yīng)該根據(jù)自身的需求和實(shí)際情況來選擇合適的時(shí)序數(shù)據(jù)庫,在使用時(shí)要注意安全性、穩(wěn)定性、可靠性等方面的細(xì)節(jié),才能充分利用時(shí)序數(shù)據(jù)庫的優(yōu)勢。
相關(guān)問題拓展閱讀:
- 綜合使用時(shí)序數(shù)據(jù)與截面數(shù)據(jù)能解決多重共線性嗎?
- 關(guān)系數(shù)據(jù)庫轉(zhuǎn)換為時(shí)序的方法
綜合使用時(shí)序數(shù)據(jù)與截面數(shù)據(jù)能解決多重共線性嗎?
時(shí)序數(shù)據(jù)與截面數(shù)據(jù)能解決多重共線性 請參考下面時(shí)序數(shù)據(jù)庫白皮書。
思極有容數(shù)據(jù)庫
時(shí)序數(shù)據(jù)庫技術(shù)白皮書
北京中電普華信息技術(shù)有限公司
2023年4月
目 錄
1 大數(shù)據(jù)時(shí)代的挑戰(zhàn) 1
2 產(chǎn)品特點(diǎn) 1
3 系統(tǒng)結(jié)構(gòu) 2
4 存儲(chǔ)結(jié)構(gòu) 4
5 數(shù)據(jù)分區(qū)、水平擴(kuò)展 6
6 高可靠系統(tǒng) 7
7 STable:多表聚合 9
8 數(shù)據(jù)模型 10
9 實(shí)時(shí)流式計(jì)算 11
10 便捷的安裝、部署、維護(hù) 12
11 更多亮點(diǎn) 13
12 參數(shù)指標(biāo) 13
13 應(yīng)用場景 14
1 大數(shù)據(jù)時(shí)代的挑戰(zhàn)
隨著移動(dòng)互聯(lián)網(wǎng)的普及,數(shù)據(jù)通訊成本的急劇下降,以及各種低成本的傳感技術(shù)和智能設(shè)備的出現(xiàn),除傳統(tǒng)的手機(jī)、計(jì)算機(jī)在實(shí)時(shí)采集數(shù)據(jù)之外,手環(huán)、共享單車、出租車、智能電表、環(huán)境監(jiān)測設(shè)備、電梯、大型設(shè)備、工業(yè)生產(chǎn)線等也都在源源不斷的產(chǎn)生海量的實(shí)時(shí)數(shù)據(jù)并發(fā)往云端。這些海量數(shù)據(jù)是企業(yè)寶貴的財(cái)富,能夠幫助企業(yè)實(shí)時(shí)監(jiān)控業(yè)務(wù)或設(shè)備的運(yùn)行情況,生成各種維度的報(bào)表,而且通過大數(shù)據(jù)分析和機(jī)器學(xué)習(xí),對(duì)業(yè)務(wù)進(jìn)行預(yù)測和預(yù)警,能夠幫助企業(yè)進(jìn)行科學(xué)決策、節(jié)約成本并創(chuàng)造新的價(jià)值。
仔細(xì)研究發(fā)現(xiàn),所有機(jī)器、設(shè)備、傳感器、以及交易系統(tǒng)所產(chǎn)生的數(shù)據(jù)都是時(shí)序的,而且很多還帶有位置信息。這些數(shù)據(jù)具有明顯的特征,1: 數(shù)據(jù)是時(shí)序的,一定帶有時(shí)間戳;2:數(shù)據(jù)是結(jié)構(gòu)化的;3: 數(shù)據(jù)極少有更新或刪除操作;4:無需傳統(tǒng)數(shù)據(jù)庫的事務(wù)處理;5:相對(duì)互聯(lián)網(wǎng)應(yīng)用,寫多讀少;6:用戶關(guān)注的是一搭簡滑段時(shí)間的趨勢,而不是某一特點(diǎn)時(shí)間點(diǎn)的值;7: 數(shù)據(jù)是有保留期限的;8:數(shù)據(jù)的查詢分析一定是基于時(shí)間段和地理區(qū)域的;9:除存儲(chǔ)查詢外,往往還需要各種統(tǒng)計(jì)和實(shí)時(shí)計(jì)算操作;10:數(shù)據(jù)量巨大,一天采集的數(shù)據(jù)就可以超過100億條。
看似簡單的事情,但由于數(shù)據(jù)記錄條數(shù)巨大,導(dǎo)致數(shù)據(jù)的實(shí)時(shí)寫入成為瓶頸,查詢分析極為緩慢,成為新的技術(shù)挑戰(zhàn)。傳統(tǒng)的關(guān)系型數(shù)據(jù)庫或NoSQL數(shù)據(jù)庫以及流式計(jì)算引擎由于沒有充分利用這些數(shù)據(jù)的特點(diǎn),性能提升極為有限,只能依靠集群技術(shù),投入更多的計(jì)算資源和存儲(chǔ)資源來處理,企業(yè)運(yùn)營維護(hù)成本急劇上升。
2 產(chǎn)品特點(diǎn)
思極有容時(shí)序數(shù)據(jù)庫正是普華公司面對(duì)這一高速增長的物聯(lián)網(wǎng)大數(shù)據(jù)市場和技術(shù)挑戰(zhàn)推出的創(chuàng)新性的大數(shù)據(jù)處理產(chǎn)品,它不依賴任何第三方軟件,也不是優(yōu)化或包裝了一個(gè)開源的數(shù)據(jù)庫或流式計(jì)算產(chǎn)品,而是在吸取眾多傳統(tǒng)關(guān)系型數(shù)據(jù)庫、NoSQL數(shù)據(jù)庫、流式計(jì)算引擎、消息隊(duì)列等軟件的優(yōu)點(diǎn)之后自主開發(fā)的產(chǎn)品,在時(shí)序空間大數(shù)據(jù)處理上,有著自己獨(dú)到的優(yōu)勢。
· 10倍以上的性能提升:定義了創(chuàng)新的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),單核每秒就能處理至少2萬次請求,插入數(shù)百萬個(gè)數(shù)據(jù)點(diǎn),讀出一千萬以上數(shù)據(jù)點(diǎn),比現(xiàn)有通用數(shù)據(jù)庫快了十倍以上。
· 硬件或云服務(wù)成本降至1/5:由于超強(qiáng)性能,計(jì)算資源不到通用大數(shù)據(jù)方案的1/5;通過列式存儲(chǔ)和先進(jìn)的壓縮算法,存儲(chǔ)空間不到通用數(shù)據(jù)庫的1/10。
· 全棧時(shí)序數(shù)據(jù)處理引擎:將數(shù)據(jù)庫、消息隊(duì)列、緩存、流式計(jì)算等功能融合一起,應(yīng)用無需再集成Kafka/Redis/HBase/HDFS等軟件,大幅降低應(yīng)用開發(fā)和維護(hù)的復(fù)雜度成本。
· 強(qiáng)大的分析功能:無論是十年前還是一秒鐘前的數(shù)據(jù),指定時(shí)間范圍即可查詢。數(shù)據(jù)可在時(shí)間軸上或多個(gè)設(shè)備上進(jìn)行聚合。臨時(shí)查詢可通過Shell, Python, R, Matlab隨時(shí)進(jìn)行。
· 與第三方工具無縫連接:不用一行代碼,即可與Telegraf, Grafana, Matlab, R等工具集成。后續(xù)將支持MQTT, OPC等工具, 與BI工具也能夠無縫連接。
· 零運(yùn)維成本、零學(xué)習(xí)成本:安裝、集群一秒搞定,無需分庫分表,實(shí)時(shí)備份。支持標(biāo)準(zhǔn)SQL語句,支持JDBC, RESTful連接, 支持Python/Java/C/C++/Go等開發(fā)語言, 與MySQL相似,零學(xué)習(xí)成本。
采用思極有容時(shí)序數(shù)據(jù)庫,可將典咐慎型的物聯(lián)網(wǎng)、車聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)大數(shù)據(jù)平臺(tái)的整體成本降至現(xiàn)有的1/5。同樣的硬件資源,思極有容時(shí)知臘序數(shù)據(jù)庫能將系統(tǒng)處理能力和容量增加五倍以上。
3 系統(tǒng)結(jié)構(gòu)
思極有容時(shí)序數(shù)據(jù)庫是基于硬件、軟件系統(tǒng)不可靠、一定會(huì)有故障的假設(shè)進(jìn)行設(shè)計(jì)的,是基于任何單臺(tái)計(jì)算機(jī)都無足夠能力處理海量數(shù)據(jù)的假設(shè)進(jìn)行設(shè)計(jì)的,因此思極有容時(shí)序數(shù)據(jù)庫從研發(fā)的之一天起,就是按照分布式高可靠架構(gòu)進(jìn)行設(shè)計(jì)的,是完全去中心化的。思極有容時(shí)序數(shù)據(jù)庫整個(gè)系統(tǒng)結(jié)構(gòu)如下圖所示,下面對(duì)一些基本概念進(jìn)行介紹。
物理節(jié)點(diǎn):集群里的任何一臺(tái)物理機(jī)器(dnode),根據(jù)其具體的CPU、內(nèi)存、存儲(chǔ)和其它物理資源,思極有容時(shí)序數(shù)據(jù)庫將自動(dòng)配置多個(gè)虛擬節(jié)點(diǎn)。
虛擬數(shù)據(jù)節(jié)點(diǎn):存儲(chǔ)具體的時(shí)序數(shù)據(jù),所有針對(duì)時(shí)序數(shù)據(jù)的插入和查詢操作,都在虛擬數(shù)據(jù)節(jié)點(diǎn)上進(jìn)行(圖例中用V標(biāo)明)。位于不同物理機(jī)器上的虛擬數(shù)據(jù)節(jié)點(diǎn)可以組成一個(gè)虛擬數(shù)據(jù)節(jié)點(diǎn)組(如圖例中dnode0中的V0, dnode1中的V1, dnode6中的V2組成了一個(gè)組),虛擬節(jié)點(diǎn)組里的虛擬節(jié)點(diǎn)的數(shù)據(jù)以異步的方式進(jìn)行同步,并實(shí)現(xiàn)數(shù)據(jù)的最終一致性,以保證一份數(shù)據(jù)在多臺(tái)物理機(jī)器上有拷貝,而且即使一臺(tái)物理機(jī)器宕機(jī),總有位于其他物理機(jī)器上的虛擬節(jié)點(diǎn)能處理數(shù)據(jù)請求,從而保證系統(tǒng)運(yùn)行的高可靠性。
虛擬管理節(jié)點(diǎn):負(fù)責(zé)所有節(jié)點(diǎn)運(yùn)行狀態(tài)的采集、節(jié)點(diǎn)的負(fù)載均衡,以及所有Meta Data的管理,包括用戶、數(shù)據(jù)庫、表的管理(圖例中用M標(biāo)明)。當(dāng)應(yīng)用需要插入或查詢一張表時(shí),如果不知道這張表位于哪個(gè)數(shù)據(jù)節(jié)點(diǎn),應(yīng)用會(huì)連接管理節(jié)點(diǎn)來獲取該信息。Meta Data的管理也需要有高可靠的保證,系統(tǒng)采用Master-Slave的機(jī)制,容許多到5個(gè)虛擬管理節(jié)點(diǎn)組成一個(gè)虛擬管理節(jié)點(diǎn)集群(如圖例中的M0, M1, M2)。這個(gè)虛擬管理節(jié)點(diǎn)集群的創(chuàng)建是完全自動(dòng)的,無需任何人工干預(yù),應(yīng)用也無需知道虛擬管理節(jié)點(diǎn)具體在哪臺(tái)物理機(jī)器上運(yùn)行。
集群對(duì)外服務(wù)IP:整個(gè)系統(tǒng)可以由多臺(tái)甚至數(shù)萬臺(tái)服務(wù)器組成,但對(duì)于應(yīng)用而言,只需要提供整個(gè)集群中任何一臺(tái)或兩臺(tái)服務(wù)器的IP地址即可。 集群將根據(jù)應(yīng)用的請求,自動(dòng)的將請求轉(zhuǎn)發(fā)到相應(yīng)的一個(gè)甚至多個(gè)節(jié)點(diǎn)進(jìn)行處理,包括聚合、計(jì)算操作等。這些復(fù)雜的分發(fā)和路由對(duì)應(yīng)用是完全透明的。
4 存儲(chǔ)結(jié)構(gòu)
為提高壓縮和查詢效率,思極有容時(shí)序數(shù)據(jù)庫采用列式存儲(chǔ)。與眾多時(shí)序數(shù)據(jù)庫不同的是,思極有容時(shí)序數(shù)據(jù)庫基于時(shí)序數(shù)據(jù)的特點(diǎn),將每一個(gè)采集點(diǎn)的數(shù)據(jù)作為數(shù)據(jù)庫中的一張獨(dú)立的表來存儲(chǔ)。這樣對(duì)于一個(gè)采集點(diǎn)的數(shù)據(jù)而言,無論在內(nèi)存還是硬盤上,數(shù)據(jù)點(diǎn)在介質(zhì)上是連續(xù)存放的,這樣大幅減少隨機(jī)讀取操作,減少IO操作次數(shù),數(shù)量級(jí)的提升讀取和查詢效率。而且由于不同數(shù)據(jù)采集設(shè)備產(chǎn)生數(shù)據(jù)的過程完全獨(dú)立,每個(gè)設(shè)備只產(chǎn)生屬于自己的數(shù)據(jù),一張表也就只有一個(gè)寫入者。這樣每個(gè)表就可以采用無鎖方式來寫,寫入速度就能大幅提升。同時(shí),對(duì)于一個(gè)數(shù)據(jù)采集點(diǎn)而言,其產(chǎn)生的數(shù)據(jù)是時(shí)序的,因此寫的操作可用追加的方式實(shí)現(xiàn),進(jìn)一步大幅提高數(shù)據(jù)寫入速度。
數(shù)據(jù)具體寫如流程如圖所示:
寫入數(shù)據(jù)時(shí),先將數(shù)據(jù)點(diǎn)寫進(jìn)Commit日志,然后轉(zhuǎn)發(fā)給同一虛擬節(jié)點(diǎn)組里的其他節(jié)點(diǎn),再按列寫入分配的內(nèi)存塊。當(dāng)內(nèi)存塊的剩余空間達(dá)到一定臨界值或設(shè)定的commit時(shí)間時(shí), 內(nèi)存塊的數(shù)據(jù)將寫入硬盤。內(nèi)存塊是固定大小(如16K)的, 但依據(jù)系統(tǒng)內(nèi)存的大小,每個(gè)采集點(diǎn)可以分配一個(gè)到多個(gè)內(nèi)存塊,采取LRU策略進(jìn)行管理。在一個(gè)內(nèi)存塊里,數(shù)據(jù)是連續(xù)存放的,但塊與塊是不連續(xù)的,因此思極有容時(shí)序數(shù)據(jù)庫為每一個(gè)表在內(nèi)存里建立有塊的索引,以方便寫入和查詢。
數(shù)據(jù)寫入硬盤是以添加日志的方式進(jìn)行的,以求大幅提高落盤的速度。為避免合并操作,每個(gè)采集點(diǎn)(表)的數(shù)據(jù)也是按塊存儲(chǔ),在一個(gè)塊內(nèi),數(shù)據(jù)點(diǎn)是按列連續(xù)存放的,但塊與塊之間可以不是連續(xù)的。思極有容時(shí)序數(shù)據(jù)庫對(duì)每張表會(huì)維護(hù)一索引,保存每個(gè)數(shù)據(jù)塊在文件中的偏移量,起始時(shí)間、數(shù)據(jù)點(diǎn)數(shù)、壓縮算法等信息。每個(gè)數(shù)據(jù)文件僅僅保存固定一段時(shí)間的數(shù)據(jù)(比如一周,可以配置),因此一個(gè)表的數(shù)據(jù)會(huì)分布在多個(gè)數(shù)據(jù)文件中。查詢時(shí),根據(jù)給定的時(shí)間段,思極有容時(shí)序數(shù)據(jù)庫將計(jì)算出查找的數(shù)據(jù)會(huì)在哪個(gè)數(shù)據(jù)文件,然后讀取。這樣大幅減少了硬盤操作次數(shù)。多個(gè)數(shù)據(jù)文件的設(shè)計(jì)還有利于數(shù)據(jù)同步、數(shù)據(jù)恢復(fù)、數(shù)據(jù)自動(dòng)刪除操作,更有利于數(shù)據(jù)按照新舊程度在不同物理介質(zhì)上存儲(chǔ),比如最新的數(shù)據(jù)存放在SSD盤上,最老的數(shù)據(jù)存放在大容量但慢速的硬盤上。通過這樣的設(shè)計(jì),思極有容時(shí)序數(shù)據(jù)庫將硬盤的隨機(jī)讀取幾乎降為零,從而大幅提升寫入和查詢效率,讓思極有容時(shí)序數(shù)據(jù)庫在很廉價(jià)的存儲(chǔ)設(shè)備上也有超強(qiáng)的性能。
為減少文件個(gè)數(shù),一個(gè)虛擬節(jié)點(diǎn)內(nèi)的所有表在同一時(shí)間段的數(shù)據(jù)都是存儲(chǔ)在同一個(gè)數(shù)據(jù)文件里,而不是一張表一個(gè)數(shù)據(jù)文件。但是對(duì)于一個(gè)數(shù)據(jù)節(jié)點(diǎn),每個(gè)虛擬節(jié)點(diǎn)都會(huì)有自己獨(dú)立的數(shù)據(jù)文件。
5 數(shù)據(jù)分區(qū)、水平擴(kuò)展
為處理每日高達(dá)數(shù)億條的海量數(shù)據(jù),數(shù)據(jù)必須在多個(gè)節(jié)點(diǎn)存放。在思極有容時(shí)序數(shù)據(jù)庫里,數(shù)據(jù)是按照每個(gè)采集點(diǎn)(表)來存放的。一張表(一個(gè)采集點(diǎn))的數(shù)據(jù),即使每秒產(chǎn)生一百個(gè)字節(jié)的數(shù)據(jù)量,一年也才3G的數(shù)據(jù)量,壓縮后,往往還不到300M,因此在思極有容時(shí)序數(shù)據(jù)庫里,一個(gè)表的數(shù)據(jù)是不跨節(jié)點(diǎn)存儲(chǔ)的,以便于單張表的快速高效的插入、查詢和計(jì)算。
為更好的數(shù)據(jù)分區(qū),思極有容時(shí)序數(shù)據(jù)庫采用了虛擬數(shù)據(jù)節(jié)點(diǎn)的設(shè)計(jì)。一個(gè)虛擬數(shù)據(jù)節(jié)點(diǎn)包含多個(gè)表,表的數(shù)量可以配置。根據(jù)其計(jì)算和存儲(chǔ)資源,一個(gè)物理節(jié)點(diǎn)將被劃分為多個(gè)虛擬數(shù)據(jù)節(jié)點(diǎn)。虛擬數(shù)據(jù)節(jié)點(diǎn)的設(shè)計(jì)帶來幾大優(yōu)勢:
1)更好的支持硬件異構(gòu)環(huán)境,資源多的服務(wù)器可以創(chuàng)建更多的虛擬節(jié)點(diǎn);
2)恢復(fù)一個(gè)宕機(jī)的節(jié)點(diǎn),可以讓眾多的其他節(jié)點(diǎn)參與進(jìn)來,大大加快速度;
3)如果撤掉一個(gè)數(shù)據(jù)節(jié)點(diǎn),該節(jié)點(diǎn)上的虛擬節(jié)點(diǎn)將被相當(dāng)均勻的遷移到其他節(jié)點(diǎn)上去;
4)新增一個(gè)數(shù)據(jù)節(jié)點(diǎn),負(fù)載過熱的節(jié)點(diǎn)的上的部分虛擬節(jié)點(diǎn)將被整體遷移過來。這一切讓負(fù)載更加均衡,讓數(shù)據(jù)同步變得更加高效。
與傳統(tǒng)的數(shù)據(jù)庫相似,用戶可以創(chuàng)建多個(gè)數(shù)據(jù)庫,每個(gè)庫里面,可以創(chuàng)建多個(gè)表。一個(gè)庫可以橫跨多個(gè)虛擬數(shù)據(jù)節(jié)點(diǎn),但一個(gè)虛擬數(shù)據(jù)節(jié)點(diǎn)僅僅屬于一個(gè)數(shù)據(jù)庫。當(dāng)用戶添加一個(gè)表時(shí),管理節(jié)點(diǎn)將查看已經(jīng)分配的虛擬節(jié)點(diǎn)里是否還有空位,如果有,就將該表分配到這虛擬節(jié)點(diǎn)。如果這個(gè)庫的所有虛擬節(jié)點(diǎn)都沒有空位,管理節(jié)點(diǎn)將根據(jù)負(fù)載均衡的策略(隨機(jī)、輪詢等)來分配一個(gè)新的虛擬節(jié)點(diǎn)給該庫,然后將該表分配到新的虛擬節(jié)點(diǎn)里。由于一臺(tái)物理主機(jī)有多個(gè)虛擬數(shù)據(jù)節(jié)點(diǎn),這種策略能保證負(fù)載均勻分布。
管理節(jié)點(diǎn)負(fù)責(zé)整個(gè)系統(tǒng)的負(fù)載均衡,包括虛擬數(shù)據(jù)節(jié)點(diǎn)的增加、刪除、遷移、合并與拆分。管理節(jié)點(diǎn)并不保存每個(gè)采集點(diǎn)采集的數(shù)據(jù),只是管理虛擬節(jié)點(diǎn),即使宕機(jī),也不會(huì)影響現(xiàn)有各虛擬節(jié)點(diǎn)的數(shù)據(jù)插入和查詢操作。各個(gè)采集點(diǎn)或應(yīng)用從管理節(jié)點(diǎn)獲取分配的虛擬數(shù)據(jù)節(jié)點(diǎn)信息后,然后直接與虛擬數(shù)據(jù)節(jié)點(diǎn)通訊,直接將數(shù)據(jù)插入數(shù)據(jù)庫,對(duì)于查詢操作也是如此。因此,系統(tǒng)容量以及吞吐率與虛擬數(shù)據(jù)節(jié)點(diǎn)的個(gè)數(shù)成正比,整個(gè)系統(tǒng)是水平擴(kuò)展的
6 高可靠系統(tǒng)
為保證數(shù)據(jù)節(jié)點(diǎn)的高可靠性,思極有容時(shí)序數(shù)據(jù)庫引入了虛擬數(shù)據(jù)節(jié)點(diǎn)組的概念,并采用異步的方式進(jìn)行數(shù)據(jù)同步。一個(gè)虛擬節(jié)點(diǎn)組由處于不同物理主機(jī)上的虛擬數(shù)據(jù)節(jié)點(diǎn)組成,虛擬數(shù)據(jù)節(jié)點(diǎn)個(gè)數(shù)就是數(shù)據(jù)冗余的個(gè)數(shù)(Replication Factor,一般大于2)。在一個(gè)虛擬節(jié)點(diǎn)組里,各個(gè)虛擬數(shù)據(jù)節(jié)點(diǎn)通過心跳包實(shí)時(shí)知道對(duì)方的狀態(tài)。如果一個(gè)虛擬數(shù)據(jù)節(jié)點(diǎn)收到數(shù)據(jù)寫入的請求,該請求會(huì)被立即轉(zhuǎn)發(fā)給其他虛擬數(shù)據(jù)節(jié)點(diǎn),然后在本地存儲(chǔ)處理。當(dāng)應(yīng)用連接思極有容時(shí)序數(shù)據(jù)庫系統(tǒng)時(shí),對(duì)于要操作的任何一張表,系統(tǒng)會(huì)給應(yīng)用提供該表所屬的虛擬數(shù)據(jù)節(jié)點(diǎn)組里各個(gè)虛擬節(jié)點(diǎn)的IP地址(如果replication factor為3,就會(huì)有3個(gè)IP地址),如果鏈接其中一個(gè)失敗或者操作失敗,應(yīng)用會(huì)嘗試第二個(gè)、第三個(gè),只有所有節(jié)點(diǎn)失敗才會(huì)返回失敗。這樣保證虛擬數(shù)據(jù)節(jié)點(diǎn)組里任何一臺(tái)機(jī)器宕機(jī),都不會(huì)影響對(duì)外的服務(wù)。這些復(fù)雜的重新連接流程都被思極有容時(shí)序數(shù)據(jù)庫 Driver包裝隱藏起來,應(yīng)用開發(fā)者無需寫程序來實(shí)現(xiàn)。
為保證效率,思極有容時(shí)序數(shù)據(jù)庫采取異步方式實(shí)現(xiàn)多個(gè)副本之間的實(shí)時(shí)數(shù)據(jù)同步,采取的是最終一致性,而不是強(qiáng)一致。當(dāng)一臺(tái)主機(jī)重啟時(shí),每個(gè)虛擬數(shù)據(jù)節(jié)點(diǎn)都會(huì)檢查自己數(shù)據(jù)的版本是否與其他虛擬節(jié)點(diǎn)一致,如果版本不一致,需要同步后才能進(jìn)入對(duì)外服務(wù)狀態(tài)。在運(yùn)行過程中,由于各種原因,數(shù)據(jù)仍然可以失去同步,這種不同步會(huì)在收到轉(zhuǎn)發(fā)的寫入請求時(shí)被發(fā)現(xiàn),一旦被發(fā)現(xiàn),版本低的虛擬數(shù)據(jù)節(jié)點(diǎn)將馬上停止對(duì)外服務(wù),進(jìn)入同步流程,同步完后,才會(huì)重新恢復(fù)對(duì)外服務(wù)。同步過程中,高版本的節(jié)點(diǎn)還可以正常的對(duì)外提供服務(wù)。
管理節(jié)點(diǎn)負(fù)責(zé)存儲(chǔ)Meta數(shù)據(jù),同時(shí)根據(jù)每個(gè)數(shù)據(jù)節(jié)點(diǎn)狀態(tài)來負(fù)責(zé)負(fù)載均衡,因此也要保證其高可靠性。多個(gè)虛擬管理節(jié)點(diǎn)組成一個(gè)虛擬管理節(jié)點(diǎn)組,因?yàn)镸eta數(shù)據(jù)可以被多個(gè)應(yīng)用同時(shí)更新,因此思極有容時(shí)序數(shù)據(jù)庫采用的是Master-Slave模式實(shí)現(xiàn)虛擬管理節(jié)點(diǎn)的數(shù)據(jù)同步。寫的操作,只有Slave節(jié)點(diǎn)寫入成功后,Master節(jié)點(diǎn)才會(huì)返回成功,從而保證數(shù)據(jù)的強(qiáng)一致性。如果Master節(jié)點(diǎn)宕機(jī),系統(tǒng)有機(jī)制保證其中一個(gè)Slave會(huì)立即被選舉為Master, 從而保證系統(tǒng)寫操作的高可靠性。
由于Meta數(shù)據(jù)量并不大,Meta數(shù)據(jù)雖然需持久化存儲(chǔ),但將其完全保存在內(nèi)存,以保證查詢操作的高效。在應(yīng)用側(cè),為避免每次數(shù)據(jù)操作都訪問管理節(jié)點(diǎn),思極有容時(shí)序數(shù)據(jù)庫 Driver將必要的Meta數(shù)據(jù)都會(huì)緩存在本地,只有當(dāng)需要的Meta數(shù)據(jù)不存在或失效的情況下,才會(huì)訪問管理節(jié)點(diǎn),這樣大大提高系統(tǒng)性能。
管理節(jié)點(diǎn)在集群中存在,但對(duì)于應(yīng)用和系統(tǒng)管理員而言,是完全透明的。整個(gè)系統(tǒng)會(huì)自動(dòng)在物理節(jié)點(diǎn)上創(chuàng)建虛擬管理節(jié)點(diǎn)以及虛擬管理節(jié)點(diǎn)組。
7 STable:多表聚合
各個(gè)數(shù)據(jù)采集點(diǎn)的時(shí)鐘是很難同步的,為保證其時(shí)序,而且為保證單一采集點(diǎn)的數(shù)據(jù)在存儲(chǔ)介質(zhì)上的連續(xù)性,思極有容時(shí)序數(shù)據(jù)庫要求每個(gè)數(shù)據(jù)采集點(diǎn)單獨(dú)建表,這樣能極大提高數(shù)據(jù)的插入速度以及查詢速度,但是這將導(dǎo)致系統(tǒng)表的數(shù)量猛增,讓應(yīng)用對(duì)表的維護(hù)以及聚合、統(tǒng)計(jì)操作難度加大。為降低應(yīng)用的開發(fā)難度,思極有容時(shí)序數(shù)據(jù)庫引入了STable超級(jí)表的概念。
STable是表的,包含多張表,而且這個(gè)里每張表的Schema是一樣的。同一類型的采集設(shè)備可創(chuàng)建一個(gè)STable。與表一樣,包含Schema,但還包含標(biāo)簽信息。Schema定義了表的每列數(shù)據(jù)的屬性,如溫度、壓力等,而標(biāo)簽信息是靜態(tài)的,屬于Meta Data,如采集設(shè)備的型號(hào)、位置等。思極有容時(shí)序數(shù)據(jù)庫擴(kuò)展了標(biāo)準(zhǔn)SQL的table的定義,創(chuàng)建時(shí),除指定Schema外,還可以帶關(guān)鍵詞tags來指定有哪些標(biāo)簽。如:
create table m1(ts timestamp, pressure int, rpm int) tags (model binary(8), color binary(8))
上述SQL創(chuàng)建了一個(gè)STable m1, 帶有標(biāo)簽model和標(biāo)簽color。為某一個(gè)具體的采集點(diǎn)創(chuàng)建表時(shí),可以指定其所屬的STable以及標(biāo)簽的值,比如:
create table t1 using m1 tags (‘a(chǎn)pple’, ‘red’)
上述SQL以STable m1為模板,創(chuàng)建了一張表t1,這張表的Schema就是m1的Schema,但標(biāo)簽model設(shè)為apple,標(biāo)簽color設(shè)為red。插入數(shù)據(jù)時(shí),仍然按照正常的方式進(jìn)行插入。但查詢時(shí),除傳統(tǒng)的表的查詢外,還可以基于標(biāo)簽對(duì)STable進(jìn)行各種聚合查詢或統(tǒng)計(jì)。如:
select avg(pressue) from m1 where model=’apple’ interval(5m) group by color
上面這個(gè)SQL語句表示將標(biāo)簽model值為apple的所有采集點(diǎn)的記錄的每5分鐘的平均值計(jì)算出來,并按照標(biāo)簽color進(jìn)行分組。
對(duì)于STable的查詢操作,完全與正常的表一樣。但一個(gè)定義的STable可以包含多張表(多個(gè)數(shù)據(jù)采集點(diǎn)),應(yīng)用可通過指定標(biāo)簽的過濾條件,對(duì)一個(gè)STable下的全部或部分表進(jìn)行聚合或統(tǒng)計(jì)操作,這樣大大簡化應(yīng)用的開發(fā)。其具體流程如下圖所示:
1) 、應(yīng)用將一個(gè)查詢條件發(fā)往系統(tǒng);
2) 、Driver將查詢的過濾條件發(fā)往Meta Node(管理節(jié)點(diǎn));
3) 、管理節(jié)點(diǎn)將符合查詢過濾條件的表的列表發(fā)回Driver(包含每個(gè)表對(duì)應(yīng)的數(shù)據(jù)節(jié)點(diǎn)的IP地址);
4) 、這些返回的表可能分布在多個(gè)數(shù)據(jù)節(jié)點(diǎn),Driver將計(jì)算的請求發(fā)往相應(yīng)的多個(gè)數(shù)據(jù)節(jié)點(diǎn);
5) 、每個(gè)數(shù)據(jù)節(jié)點(diǎn)完成相應(yīng)的聚合計(jì)算,將結(jié)果返回給Driver;
6) 、Driver將多個(gè)數(shù)據(jù)節(jié)點(diǎn)返回的結(jié)果做最后的聚合,將其返回給應(yīng)用。
8 數(shù)據(jù)模型
思極有容時(shí)序數(shù)據(jù)庫采用的仍然是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的模型。用戶需要根據(jù)應(yīng)用場景,創(chuàng)建一到多個(gè)庫,然后在每個(gè)庫里創(chuàng)建多張表,創(chuàng)建表時(shí)需要定義Schema。對(duì)于同一類型的采集點(diǎn),為便于聚合統(tǒng)計(jì)操作,可以先定義超級(jí)表STable,然后再定義表。
不同的采集點(diǎn)往往具有不同的數(shù)據(jù)特征,比如有的采集點(diǎn)數(shù)據(jù)采集頻率高,有的數(shù)據(jù)保留時(shí)長較長,有的采集數(shù)據(jù)需要3份備份,而有的數(shù)據(jù)一份備份即可,有的采集點(diǎn)一條記錄很大,而有的采集點(diǎn)的記錄僅僅16個(gè)字節(jié),很小。為讓各種場景下思極有容時(shí)序數(shù)據(jù)庫都能更大效率的工作,思極有容時(shí)序數(shù)據(jù)庫建議將不同數(shù)據(jù)特征的表創(chuàng)建在不同的庫里。創(chuàng)建一個(gè)庫時(shí),除SQL標(biāo)準(zhǔn)的選項(xiàng)外,應(yīng)用還可以指定保留時(shí)長、數(shù)據(jù)備份的份數(shù)、cache大小、是否壓縮等多種參數(shù)。
思極有容時(shí)序數(shù)據(jù)庫對(duì)庫的數(shù)量、STable的數(shù)量以及表的數(shù)量沒有做任何限制,而且其多少不會(huì)對(duì)性能產(chǎn)生影響,應(yīng)用按照自己的場景創(chuàng)建即可。
9 實(shí)時(shí)流式計(jì)算
在存儲(chǔ)的原始數(shù)據(jù)上,思極有容時(shí)序數(shù)據(jù)庫可以做各種計(jì)算,目前支持的主要操作包括:
· Avg:以每個(gè)采樣時(shí)間范圍內(nèi)的value的平均值作為結(jié)果
· Dev:以每個(gè)采樣時(shí)間范圍內(nèi)的value的標(biāo)準(zhǔn)差作為結(jié)果
· Count:以每個(gè)采樣時(shí)間范圍內(nèi)的點(diǎn)的數(shù)目作為結(jié)果
· First:以每個(gè)采樣時(shí)間范圍內(nèi)的之一個(gè)value作為結(jié)果
· Last:以每個(gè)采樣時(shí)間范圍內(nèi)的最后一個(gè)value作為結(jié)果
· LeastSquares:對(duì)每個(gè)采樣時(shí)間范圍內(nèi)的value進(jìn)行最小二乘法的擬合
· Max:以每個(gè)采樣時(shí)間范圍內(nèi)的value的更大值作為結(jié)果
· Min:以每個(gè)采樣時(shí)間范圍內(nèi)的value的最小值作為結(jié)果
· Percentile:每個(gè)采樣時(shí)間范圍內(nèi)的value的第p百分位數(shù)作為結(jié)果。
· Sum:以每個(gè)采樣時(shí)間范圍內(nèi)的value的總和作為結(jié)果
· Diff:以每兩個(gè)相鄰的value的差值作為結(jié)果
· Div:以每個(gè)value除以一個(gè)除數(shù)作為結(jié)果
· Scale:以每個(gè)value乘以一個(gè)倍數(shù)作為結(jié)果
· 基于多個(gè)采集點(diǎn)數(shù)據(jù)的四則運(yùn)算表達(dá)式
思極有容時(shí)序數(shù)據(jù)庫還可對(duì)一個(gè)或多個(gè)數(shù)據(jù)流進(jìn)行實(shí)時(shí)聚合、統(tǒng)計(jì)等計(jì)算,并將計(jì)算出的衍生數(shù)據(jù)當(dāng)做新的數(shù)據(jù)保存進(jìn)思極有容時(shí)序數(shù)據(jù)庫,以便后續(xù)的操作。實(shí)時(shí)計(jì)算與聚合查詢很類似,只是后臺(tái)定時(shí)進(jìn)行,并自動(dòng)滑動(dòng)計(jì)算窗口的起始點(diǎn)。工作方式與其他流式計(jì)算引擎的Sliding Window相似。
實(shí)時(shí)計(jì)算可以通過一個(gè)簡單的創(chuàng)建表的操作來實(shí)現(xiàn)。如:
create table d1 as select avg (pressure) from t1 interval (60s) sliding(10s)
上述SQL表示將表t1里字段pressure每10秒鐘(每次滑動(dòng)的時(shí)間間隔)將過去的60秒鐘(聚合計(jì)算的時(shí)間間隔)的數(shù)據(jù)平均值計(jì)算出來并寫入表d1。計(jì)算出的衍生數(shù)據(jù)可以與其他原始數(shù)據(jù)或計(jì)算出的衍生數(shù)據(jù)進(jìn)行再次計(jì)算。
10 便捷的安裝、部署、維護(hù)
思極有容時(shí)序數(shù)據(jù)庫是在Linux上開發(fā)的,任何Linux系統(tǒng)都可以運(yùn)行,而且不依賴任何第三方軟件,也不是在某個(gè)開源項(xiàng)目上包裝出來的產(chǎn)品。獲得安裝包并解壓后,只需執(zhí)行安裝腳本就一切搞定,極其簡單。
安裝后,會(huì)在安裝的機(jī)器上自動(dòng)創(chuàng)建虛擬數(shù)據(jù)節(jié)點(diǎn)和管理節(jié)點(diǎn),開發(fā)者就可以使用了,能滿足一般性的需求。但如果數(shù)據(jù)量大,就需要將軟件安裝到多臺(tái)主機(jī)。這時(shí)也只需要在每臺(tái)機(jī)器配置好Master IP, 系統(tǒng)管理員打開思極有容時(shí)序數(shù)據(jù)庫Shell, 將新添加的主機(jī)添加進(jìn)系統(tǒng)即可。如果要撤銷一個(gè)物理節(jié)點(diǎn),登錄思極有容時(shí)序數(shù)據(jù)庫 Shell, 將其刪除即可,極其簡單。傳統(tǒng)數(shù)據(jù)庫所需要的數(shù)據(jù)分區(qū)、數(shù)據(jù)遷移等等都一概不存在。
因?yàn)閿?shù)據(jù)是自動(dòng)同步到多個(gè)節(jié)點(diǎn)的,系統(tǒng)管理員不用擔(dān)心數(shù)據(jù)的丟失,也不用制定備份和數(shù)據(jù)恢復(fù)策略,一切全自動(dòng)進(jìn)行。
如果軟件需要升級(jí),只要在思極有容時(shí)序數(shù)據(jù)庫Shell里將新版本上傳即可。管理節(jié)點(diǎn)將挨個(gè)把每個(gè)節(jié)點(diǎn)的軟件進(jìn)行升級(jí),而且整個(gè)系統(tǒng)的服務(wù)將不停止,服務(wù)不受任何影響。如果要更換設(shè)備,只需將其拔除,安裝上軟件后,將新設(shè)備重新插入即可。換言之,思極有容時(shí)序數(shù)據(jù)庫完全支持在線升級(jí)以及硬件的熱插拔,從而保證服務(wù)的7*24的不間斷運(yùn)行。
開發(fā)人員需要做的是定義表的結(jié)構(gòu),根據(jù)具體場景,配置好各種參數(shù),讓系統(tǒng)性能達(dá)到更優(yōu)。系統(tǒng)管理員只需要關(guān)注與硬件相關(guān)的報(bào)警信息,對(duì)于經(jīng)常出問題的服務(wù)器或硬盤,進(jìn)行更換而已。使用思極有容時(shí)序數(shù)據(jù)庫, 整個(gè)系統(tǒng)的運(yùn)維工作變得極為簡單,將大大降低運(yùn)營成本。
11 更多亮點(diǎn)
訂閱模式:與標(biāo)準(zhǔn)的數(shù)據(jù)庫不同,思極有容時(shí)序數(shù)據(jù)庫還提供一種訂閱模式。應(yīng)用程序可以訂閱數(shù)據(jù)庫某張表的內(nèi)容,一旦該表有新的記錄,應(yīng)用將立即得到通知。同一個(gè)表可以被多個(gè)應(yīng)用訂閱。與流行的消息中間件Kafka一樣,訂閱采取的是pull而不是push模式。Kafka的publish操作由數(shù)據(jù)庫插入操作代替。由于思極有容時(shí)序數(shù)據(jù)庫具有極高的插入速度, 通過采用訂閱模式,思極有容時(shí)序數(shù)據(jù)庫本身也可以作為一個(gè)消息隊(duì)列中間件來使用。
異步插入:為避免網(wǎng)絡(luò)延遲帶來的性能下降,更好的提高數(shù)據(jù)插入速度,思極有容時(shí)序數(shù)據(jù)庫還提供一組API讓應(yīng)用異步插入數(shù)據(jù)。當(dāng)應(yīng)用調(diào)用插入API時(shí),將立即得到反饋,等記錄成功插入后,思極有容時(shí)序數(shù)據(jù)庫將調(diào)用應(yīng)用提供的回調(diào)函數(shù)通知應(yīng)用。采用異步插入,性能將大幅提高。
Nagle算法:時(shí)序數(shù)據(jù)應(yīng)用場景里,每條記錄一般都很小,很多不到20字節(jié),因此整個(gè)系統(tǒng)處理的是大量的小數(shù)據(jù)包。為了更進(jìn)一步提高性能,減少網(wǎng)絡(luò)IO次數(shù),思極有容時(shí)序數(shù)據(jù)庫采用了類似TCP協(xié)議的Naggle算法,客戶端將緩存插入請求,只有記錄的大小超過一定的大小或者緩存時(shí)間超過100毫秒,被緩存的插入請求才會(huì)被發(fā)往系統(tǒng)。對(duì)于時(shí)間要求很高的應(yīng)用,該功能可以關(guān)閉。
12 參數(shù)指標(biāo)
· 支持?jǐn)?shù)據(jù)類型:tinyint, allint, int, bigint, float, double, binary
· 單記錄更大長度:4096字節(jié)
· 更大記錄條數(shù):僅受存儲(chǔ)空間限制
· 更大表的個(gè)數(shù):僅受節(jié)點(diǎn)個(gè)數(shù)限制
· 更大數(shù)據(jù)備份數(shù):5份
· 單節(jié)點(diǎn)插入速度:3萬條/秒(單核,16字節(jié)每記錄,每次一條,無同步備份)
· 單節(jié)點(diǎn)查詢速度:2023萬條/秒(單核,16字節(jié)每記錄,全內(nèi)存)
· 更多指標(biāo)將陸續(xù)提供
13 應(yīng)用場景
思極有容時(shí)序數(shù)據(jù)庫作為一個(gè)基礎(chǔ)性的軟件,應(yīng)用范圍及其廣泛,原則上,所有使用機(jī)器、設(shè)備、傳感器采集數(shù)據(jù)的地方都可以用上。一些典型場景羅列如下:
· 公共安全:上網(wǎng)記錄、通話記錄、個(gè)體追蹤、區(qū)間篩選
· 電力行業(yè):智能電表、電網(wǎng)、發(fā)電設(shè)備的集中監(jiān)測
· 通訊行業(yè):話費(fèi)詳單、用戶行為、基站/通訊設(shè)備監(jiān)測
· 金融行業(yè):交易記錄、存取記錄、ATM、POS機(jī)監(jiān)測
· 出行工具:火車/汽車/出租/飛機(jī)/自行車的實(shí)時(shí)監(jiān)測
· 交通行業(yè):實(shí)時(shí)路況,路口流量監(jiān)測,卡口數(shù)據(jù)
· 石油石化:油井、運(yùn)輸管線、運(yùn)輸車隊(duì)的實(shí)時(shí)監(jiān)測
· 互聯(lián)網(wǎng):服務(wù)器/應(yīng)用監(jiān)測、用戶訪問日志、廣告點(diǎn)擊日志
· 物流行業(yè):車輛、集裝箱的追蹤監(jiān)測
· 環(huán)境監(jiān)測:天氣、空氣、水文、地質(zhì)環(huán)境等監(jiān)測
· 物聯(lián)網(wǎng):電梯、鍋爐、機(jī)械、水表、氣表等各種聯(lián)網(wǎng)設(shè)備
· 軍工行業(yè):各種軍事裝備的數(shù)據(jù)采集、存儲(chǔ)
· 制造業(yè):生產(chǎn)過程管控,流程數(shù)據(jù)、供應(yīng)鏈數(shù)據(jù)采集與分析
網(wǎng)頁鏈接
技術(shù)白皮書網(wǎng)頁鏈接請單擊查看!
關(guān)系數(shù)據(jù)庫轉(zhuǎn)換為時(shí)序的方法
關(guān)系數(shù)據(jù)庫轉(zhuǎn)換為時(shí)序的方法如下。
1、下載插件,加載插件。顫搏孝茄稿
2、DolphinDB的MySQL插件提銀鋒供了以下接口函數(shù):connect,showTables,extractSchema,load,loadEx。
3、可以通過以調(diào)用插件的接口函數(shù)。
4、創(chuàng)建MySQL連接,返回MySQL的連接句柄。我們建議MySQL用戶的AuthenticationType為mysql_native_password。
5、使用MySQL插件把數(shù)據(jù)導(dǎo)入到DolphinDB時(shí),會(huì)做相應(yīng)的類型轉(zhuǎn)換。
關(guān)于時(shí)序數(shù)據(jù)庫比較的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
當(dāng)前文章:比較不同時(shí)序數(shù)據(jù)庫的優(yōu)劣與特點(diǎn)(時(shí)序數(shù)據(jù)庫比較)
當(dāng)前網(wǎng)址:http://m.5511xx.com/article/coopsos.html


咨詢
建站咨詢
