物聯網、車聯網、工業網際網路和智能xx的快速發展标志着我們正在加速進入萬物互聯的時代。作為物聯網的關鍵,定時資料是未來智能社會的基本存儲器,如何以高性能和高效率處理時間序列資料是下一代資料處理平台面臨的最大挑戰。
本版本将深入分析時序資料庫的前期,并解釋為什麼超融合時序資料庫将成為資料庫技術未來的發展方向。作為下一代資料分析平台,超融合時序資料庫将徹底解決關系類型、時間序列類型、分析類型等不同類型資料庫的孤立問題,通過精簡的技術棧和全面的支援,大大提高現代SQL的開發和營運效率,進而節省精力、精力、 企業的時間和金錢。
視訊加載...
大家好,我是4D Horizontal Yao Yandong的創始人,感謝大家觀看Matrix DB4.0的釋出直播,今天與大家分享的标題是"超融合時序資料庫,定義未來記憶"。
2020年,我和幾個小夥伴出來創業,選擇的方向是時間序列資料庫,那時候主流專用時間序列資料庫的技術路線就不同了,我們正在采用超融合時序資料庫。
我們是一家創業公司,也是一家"遊戲遊戲"的初創公司,我們玩無限的遊戲。遊戲分為兩類,一類是有限遊戲,一類是無限遊戲,有限遊戲是在邊界内進行,有固定的規則,玩的是赢或輸,戰鬥是赢或輸。而無限遊戲是在邊界上玩,沒有固定的規則,玩就是規則本身,目的是讓遊戲繼續,以擴大邊界。
我們創業的最初想法之一是看到很多人,經過十多年的大資料技術,仍然發現大資料如此複雜,以至于許多人習慣性地認為大資料應該如此複雜,以至于我們不同意大資料應該像水一樣易于使用, 電力和天然氣。
幾年前,有一個詞叫大資料民粹主義,大資料民主化,但這項工作并不是很成功。原因是方向沒有問題,但技術路線遇到了挑戰,是以我們提出了一個超融合的定時資料庫,通過複雜的資料存儲和處理,封裝在資料庫内部,讓萬物互聯的新時代不再擔心資料,讓人們可以像水一樣使用資料, 電力、天然氣,使資料成為生産要素。
那麼我們提到了超融合資料庫,什麼是超融合資料庫?什麼是融合?我們可以從兩個層面進行分析,第一個是融合資料類型,在超融合資料庫出現之前,每種資料類型都對應于一個資料庫,它處理該資料類型,如kv,如文檔,如cooln家族,超融合資料庫可以在一個資料庫中,處理不同的資料類型,包括關系資料, 時序資料、GIS資料,包括像Jason這樣的半結構化資料,對于像Text這樣的非結構化資料,第二次融合是融合處理場景,包括TP、AP、流等場景,以及機器學習,這是超融合資料庫融合的地方。這種超融合技術也是技術發展的自然趨勢。
然而,超融合資料庫也面臨着許多挑戰,但一種特殊類型的超融合資料庫,即超融合時間序列資料庫,已經出現并變得産品化。
什麼是超聚合時間序列資料庫,非常簡單,超聚合時間序列資料庫是關系庫加上時間序列庫,加上分析庫。計時資料庫有三個元素:插入、存儲和查詢,它們是最常用的,插入次數大約為 95% 到 99%。在連續場景中,沒有波峰和波谷需要相對平滑,始終如一的高吞吐量,并且可以插入實時資料,進而存儲非常大量的時間序列資料。對效率非常敏感,是以需要高壓縮比,并且需要冷熱分級存儲。由于時間序列資料本身量較大,而不同時間段的不同時間段的時序資料其值密度也不盡相同,所有使用者都希望使用不同價格的存儲媒體來存儲不同值的計時資料,當查詢的序列場景非常多樣化時, 包括多元度查詢,包括預測、模式識别、資料挖掘等各類查詢,是以查詢的時間序列場景非常多樣化。
這是否是插入存儲和查詢的解決方案,并且計時資料庫可以?其實遠非如此,好吧,現在讓我們來看看DB-Engines在時間序列資料庫中這個子領域,InfluxDB的流行率排名第一,概述了未來計時資料庫的功能。去年,InfluxDB在其官方網站上宣布了其下一代産品IOx,并在文章中提出了下一代時間序列資料庫設計的13個目标,我們稱之為時間序列13。我們可以簡單地看一下,首先是支援大量裝置、大量名額和标簽,使用過InfluxDB的朋友可能都知道,influxDB推薦的标簽不超過3個、5個标簽,其性能會随着名額數量的增加而加速下降。是以其下一代時間序列資料庫産品,其設計目标是解決裝置海量、大量名額和标簽支援問題,即第二個目标就是不僅要支援Thetrics這種查詢,還要實作一流的分析能力。第三點是支援多晶型存儲、多機存儲、沉積和計算分離。再往下是要進行靈活的記憶體控制,我們都知道一個資料庫經常會出現兩類問題,第一種是查詢速度很慢,第二種是記憶體不足,是以InfluxDB也希望在下一代産品中,實作更靈活的記憶體控制,而下面就是靈活的複制控制, 靈活的分區機制,可以支援非常強大的執行器,支援容器化,可以做并行導入導出,可以支援資料訂閱,可以相容生态,特别是一些新的生态系統可以雲端內建,支援資料聯合,并支援嵌入式腳本,允許使用者使用Python,Java和R等語言。其資料在資料庫中進行分析和處理。
這是InfluxDB業界排名第一的,在時間序列資料庫領域抓取了七年,在接觸了大量場景之後,總結下一代時序資料庫應該具備的功能。我們非常同意這一點,除了其中之一是靈活的啟用控制,我們認為可以放松。
當然,這是時序資料庫的終結嗎?我們不這麼認為,我們把時間序列資料庫分成三代,第一代是專用的時間序列資料庫,典型的代表是InfluxDB OpenTSDB資料庫産品,那個時間序列資料庫隻能支援定時資料,是以很多時候需要關系資料庫的配合,其次隻能解決部分監控類的問題, 支援一些小查詢。第二代是關系時序資料庫,它将關系資料與時間序列資料內建在一起,并将時間序列視為關系資料庫中的資料類型或資料場景。典型的代表是時間尺度,但時間尺度不能很好地處理分析查詢,其分布式容量也比較弱,為此我們提出了第三代時間序列資料庫,即超融合時間序列資料庫。超融合時序資料庫可以解決一個資料庫中的全場景時序問題,而無需引入額外的第三方資料庫。庫完成了時間序列場景,我們認為這是計時資料庫的最終形式。
第一代時序資料庫和第三代資料庫之間的核心差別是什麼?我們可以分析一下,第一代時間序列資料庫通常代表InfluxDB,那InfluxDB其實做了很多工作,就是把存儲引擎變成一個資料庫,其實很多NoSQL的核心就是做一個存儲引擎,然後面包做一個瘦身的執行器,
沒有優化程式來為使用者服務。這些NoSQL包括InfluxDB,它實際上類似于将存儲引擎轉換為資料庫。讓我們來看看InfluxDB在存儲引擎領域所做的一些疊代,可能是在13年或14年内,當時influxDB 0.8版本使用liveDB,RocksDB和lmDB。
但是這三個存儲都存在各種各樣的問題,例如不支援熱備份,例如無法有效地支援删除,或者它們會導緻檔案描述符激增,是以在0.9版本中,InfluxDB引入了BoltDB,但BoltDB遇到了減記問題。在0.9.5 InfluxDB,它開始引入其自主開發的存儲引擎,基于WAL加TSM加TSI,此後一直在使用。更有趣的是,在2020年,InfluxDB宣布它将是下一代IOx,而這次它改變了存儲引擎,它将使用Arrow作為IOx的存儲引擎,那麼我們就要問IfuxDB,擁有五六年的自研存儲引擎,WAL加TSM加TSI, 遇到了什麼問題?其實如果我們回想一下,剛才說的13内部時機比較容易回答,第一種是支援大量的裝置,大量的名額和标簽,第二種是支援分析查詢,而其自研存儲引擎,并不能很好地解決這兩種場景的問題。
正如我們之前提到的,InfluxDB目前不支援分析查詢,并且随着名額數量的增加和裝置數量的增加,其性能會嚴重下降。這就是為什麼它将不得不用下一代産品取代存儲引擎。我們可以看到influxDB在過去七八年中改變了它的存儲引擎,這表明存儲對像InfluxDB這樣的NoSQL資料庫是多麼重要。那麼,第三代時間序列資料庫或超融合時序資料庫是如何工作的呢?比如MatrixDB,我們把存儲引擎做成資料庫,而不是把存儲引擎放進資料庫,MatrixDB做成一個關系資料庫,可以插入不同的存儲引擎。例如,關系資料引擎、計時資料引擎、空間資料引擎、Json 資料引擎等。此外,這些資料引擎可以關聯,并且可以確定ACID。這是第一代時間序列資料庫和第三代時間序列資料庫之間的核心差別,一個是将存儲引擎轉換為資料庫,另一個是将存儲引擎轉換為資料庫。超融合時序資料庫有哪些優勢?它實際上一目了然。在左邊,我們可以看到,在上層支援應用程式的關系庫,時序庫和分析庫,并且使用超聚合時間序列資料庫,我們可以用一個資料庫替換過去的三個資料庫,一個頂部。大大簡化了技術棧,大大提高了開發操作的效率。
那 MatrixDB是目前全球第一個超融合時序資料庫,也是國内唯一一個通過工信部和資訊化部的兩個權威認證産品。一個認證是一個分布式分析資料庫,其中包含 27 個必需選項、24 個選項和總共 51 個測試項目。MatrixDB 傳遞所有。MatrixDB是中國僅有的兩款通過51種選擇的産品之一。第二個認證是針對時序資料庫的,其中包括26個強制選項和7個可選選項,MatrixDB還通過了所有33個測試。除了功能豐富和強大之外,MatrixDB的性能非常出色,我們對三個場景進行了性能測試,我們之前提到過95%到99%的時間序列資料是資料插入,是以我們測試了各種場景,是以我們列出了其中之一。有興趣的朋友可以去我們的網站檢視完整的性能測試報告。該方案是 100,000 台裝置,訓示器範圍為 10、50、100 到 400。
我們可以看到,在每種情況下,matrixDB性能都有明顯的優勢,而随着名額數量的增加,matrixDB的性能優勢越來越明顯,大約400個名額,MatrixDB大約是InfluxDB的50倍,這就是插入。第二個評估是查詢中的延遲,是以我們選擇了TSBS基準測試。比較TSBS Benchmark的主要維護者之一的時間尺度,我們可以看到,在評估結果中,簡單來說,大查詢比時間尺度有明顯的優勢,而對于小查詢,我們處于相同的量級,每個人都在毫秒級左右。第三個測試是吞吐量,我們的一個使用者測試并發現matrixDB的吞吐量比國内競争對手高出約80倍。是以,我們可以看到 MatrixDB 非常出色,無論是插入、查詢延遲、高吞吐量還是吞吐量。當然,性能隻是衆多因素中需要考慮的因素之一,除了性能使用者還會關注一些因素。如前所述,時間序列資料庫部分在行業中排名第一。我想在這裡與大家分享的未來時序資料庫,設計目标的解釋之一是,MatrixDB 4.0已經實作了這13篇文章中的11篇。
除了容器化和靈活的複制控制之外,我們還很好地支援了其他副本。不僅如此,MatrixDB還提供更多,一個真正的企業級就緒型超融合時序資料庫産品。它可以支援線性擴充,可以單節點部署,也可以分布式部署,可以支援資源管理,具有完善的監控報警系統,可以做到線上擴充,不停止業務,具有分布式備份恢複能力,完善支援交易,支援ACID,以及360度安全通路機制,包括認證、權限控制、加密、審計、 支援多種壓縮算法,包括弱壓縮算法和通用壓縮算法,支援多種索引,還支援多表關聯。支援複合資料類型,包括數組 Jason KVs 等,支援自定義類型、自定義聚合,支援連續聚合,支援執行個體化視圖,支援子查詢等。
是以我們可以看到MatrixDB4.0非常強大,它不僅非常強大,而且非常非常實用,它是一個真正的,生産就緒的企業産品。它使您和您的客戶能夠節省精力,時間和金錢。
那麼我們來看看幾個場景和案例,首先是工業網際網路,認為工業網際網路是智能制造的重點,也是我們國家"十四五"規劃的重中之重。然後我們可以看到左邊,是工業裝置裡面的工業裝置,生産裝置,也就是生産領域,是OT領域裝置。即通過資料采集,我們可以将這些資料插入到matrixDB中,而MatrixDB還可以對接ERP等IT域的CRM資料,可以實作MatrixDB内部、IT域和OT域的資料融合。基于公司内部的全量資料,提供支援,包括流程優化、智能分析等,是以MatrixDB可以成為工業網際網路的資料庫。它可以首先從資料層實作兩者的融合,為智能制造奠定資料基礎。
這是車聯網的一個例子,使用者以前用的是像OpenTSDB這樣的時間序列資料庫,然後用Live這樣一個多元度分析的産品,使用MatrixDB,就可以用一組資料庫來解決過去兩個分布式系統,當然我們都知道openTSDB,底層都是基于HBase的, 然後HBase和使用ZooKeeper,以及HDFS等一堆分布式産品,是以底層其實是很多分布式系統。現在有了分布式系統,一個超融合的時序資料庫,可以解決過去的很多産品。組合可以解決場景,這樣,整個技術棧大大簡化,性能也比原有架構高出10倍以上,開發和營運效率大大提高。
這就是物聯網智慧城市的情況,當一切都開始互聯時,各種各樣的資料開始被收集,包括天氣資料、空氣資料和栅格資料,包括道路資料、交通資料、交通資料,包括各種各樣的人的資料。從各種傳感器收集的資料,實時上傳到MatrixDB,然後支援各種業務,包括風險預測,事故預測,時空大資料分析,事件流分析,流量分析等。
我們來看一個雲端的案例,這是一個與能源相關的場景,在一邊現場我們部署了一套,單節點MatrixDB資料庫,而集中端部署了四套,在集中端部署了四個節點,MatrixDB資料庫,在資料中心部署了十幾個節點的大型叢集,這樣就可以使用一套資料庫, 無縫地在各個級别的對接處實作資料,真正覆寫雲端。
時間序列資料是物聯網、車聯網、工業網際網路和智慧城市的基礎資料,而時間是時間序列資料最重要的屬性,那麼時間的本質是什麼呢?尚未得出任何結論。但哲學家黑格爾的話有點意思,他說時間是人們對過去的記憶,但事物本身沒有記憶,是以不能形成記憶,而高度內建的計時資料庫會給未來事物記憶,進而具有智能。定義未來記憶的超融合時序資料庫。超融合的定時資料庫,為萬物互聯時代,提供一站式資料平台,讓您和您的客戶省力,省時省錢,感謝您觀看MatrixDB 4.0的釋出,謝謝。