每天都在汆肉中醒来青梅,好男人www在线观看,少妇无码自慰毛片久久久久久,国产欧美另类久久久精品丝瓜

登錄注冊
新聞 資訊 金融 知識 財經 理財 科技 金融 經濟 產品 系統(tǒng) 連接 科技 聚焦
首頁 > 新聞 > 熱點 > > 正文

時序數(shù)據(jù)庫DolphinDB存儲引擎大揭秘

2022-10-31 11:02:14來源:壹點網

 

典型應用場景、負載與需求

時序數(shù)據(jù)庫往往在金融物聯(lián)網領域發(fā)揮重要作用。物聯(lián)網行業(yè)中,高頻寫入億級設備數(shù)據(jù)、對寫入數(shù)據(jù)自動去重、點查少量設備數(shù)據(jù)、以及統(tǒng)計分析大量設備數(shù)據(jù)都是比較常見的應用場景;金融行業(yè)中,實時寫入股票數(shù)據(jù)、對單只股票進行毫秒級點查、以及對大量股票進行統(tǒng)計分析與回測也需要高性能時序數(shù)據(jù)庫的支持。

研發(fā)人員參考上述典型應用場景,設計時序數(shù)據(jù)庫時會考慮如下因素:

?時序數(shù)據(jù)庫面臨極高的實時寫入負載,可達數(shù)億條每秒

?時序數(shù)據(jù)庫面臨較高的查詢負荷

?時序數(shù)據(jù)往往少量更新,經常批量刪除

?控制成本

因此,在設計 DolphinDB 數(shù)據(jù)庫時,我們采取了區(qū)別于傳統(tǒng) OLTP 數(shù)據(jù)庫的思路。

性能大PK

與市面上的熱門時序數(shù)據(jù)庫相比,DolphinDB 的性能究竟如何?我們用測試數(shù)據(jù)說話。

我們選擇了 NYSE Exchange TAQ Historical Data 作為測試數(shù)據(jù),選取 2007 年 8 月和 9 月的 Quotes 數(shù)據(jù)文件,原始數(shù)據(jù)大小為430 GB。我們采取點查的方式,查詢某一只股票一天的原始數(shù)據(jù)。事先隨機生成 100,000 條 SQL,所有數(shù)據(jù)庫按順序從集合中讀取 SQL。

本次測試中,我們重點關注 QPS(Query Per Second)與 RPS(Record Per Second)結果。通過圖片不難發(fā)現(xiàn),DolphinDB 的 QPS 和 RPS 均遠遠領先 ClickHouse、TimescaleDB 與 InfluxDB。在50個線程下并發(fā)查詢時,DolphinDB的 QPS 甚至可以達到其他數(shù)據(jù)庫的10倍以上。可以說,DolphinDB的存儲引擎高度適配了點查的應用場景。

WHY LSMT?

總體來說,數(shù)據(jù)庫的存儲引擎有兩大類解決方案:基于 page 和 B+ 樹的解決方案,與基于 Log Structured Merge Tree 的解決方案。之所以 LSMT 架構更適合時序數(shù)據(jù)的處理,是因為它具有以下特點:

?LSMT 能夠轉隨機寫為順序寫,能低成本承受極高的實時寫入負載

?LSMT 可對 SortKey 進行排序,連續(xù)存儲同一條時間線的數(shù)據(jù),提高后續(xù)點查效率

?LSMT 的數(shù)據(jù)文件不會繁瑣零碎,能夠高效支持大規(guī)模統(tǒng)計分析

TSDB 設計詳解

基于 LSMT 架構,DolphinDB 推出了自研新存儲引擎 TSDB。TSDB 架構設計如下圖。

TSDB在存儲數(shù)據(jù)時,將數(shù)據(jù)拆分成多個數(shù)據(jù)塊(block),若查詢一條數(shù)據(jù),則只需解壓該條數(shù)據(jù)所在的數(shù)據(jù)塊,從而提升查詢效率。

事務支持、數(shù)據(jù)去重以及高頻更新

TSDB 支持基于快照隔離的事務。在每條數(shù)據(jù)寫入時記錄其版本號,查詢時僅查詢某版本號之前的數(shù)據(jù),因此保證用戶讀到的數(shù)據(jù)一致。

工業(yè)物聯(lián)網場景中,某個設備往往會在同一時間戳下產生多條數(shù)據(jù)。若數(shù)據(jù)亂序程度不大,重復數(shù)據(jù)會存儲在內存中,在刷盤時對數(shù)據(jù)進行排序及去重。如果數(shù)據(jù)亂序程度很大,TSDB 則會在查詢時去重。總體而言,去重對查詢性能的影響微乎其微。

而在 LSMT 架構中,數(shù)據(jù)總是從上到下寫入的,這與時序數(shù)據(jù)的時間戳遞增的特性完美符合。TSDB 根據(jù) LSMT 的這一特點,將更新的數(shù)據(jù)轉為追加寫,寫入到內存中,滿足高頻更新需求。

時間線膨脹問題該怎么解決?

當時間線非常多,而數(shù)據(jù)又非常稀疏(即每條時間線的數(shù)據(jù)很少)的時候,由于數(shù)據(jù)很碎片化,寫入和查詢的速度都會變慢、壓縮和大規(guī)模分析的效率也會降低。

TSDB 解決時間線膨脹的核心思路是“減少”時間線。具體來講,就是引入了一個新的參數(shù) sortKeyMappingFunction,讓用戶可以提供一個函數(shù)(或自定義的,或 DolphinDB 內嵌的函數(shù),如 hashBucket 函數(shù)),以此起到降維的效果。

不只是存儲

為了更好地挖掘并利用數(shù)據(jù)的價值,DolphinDB 為用戶提供了一站式分布式計算解決方案。用戶可以直接使用 SQL 進行分布式查詢,能夠靈活調用內置的1400余個分析函數(shù)。同時,DolphinDB 的編程語言簡單易用,代碼簡潔且易于維護。

免責聲明:市場有風險,選擇需謹慎!此文僅供參考,不作買賣依據(jù)。

關鍵詞:

熱點
39熱文一周熱點
主站蜘蛛池模板: 齐齐哈尔市| 宝丰县| 同江市| 阳原县| 邵阳县| 安泽县| 浦北县| 连山| 缙云县| 咸丰县| 无棣县| 宣化县| 新竹市| 多伦县| 武隆县| 阳泉市| 兴城市| 广宁县| 奎屯市| 城市| 五台县| 宣城市| 江津市| 永善县| 祥云县| 乡宁县| 瓮安县| 黄平县| 丰台区| 永顺县| 章丘市| 福建省| 平遥县| 元朗区| 丹凤县| 曲周县| 大姚县| 吉水县| 七台河市| 溧阳市| 重庆市|