亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

一 簡單介紹

TensorBase 是使用 Rust 實現的現代化實時開源數據倉庫。

 

二 特性

  1. All in Rust。TensorBase 稱已經在日常測試中經歷數十 TB 的數據注入錘煉,是目前 Rust 社區中,面向用戶特別是中小企業實際場景深度優化的、生產完成度最高的通用數據倉庫類項目。
  2. 開箱即用。TensorBase 已經支持從數據插入或導入到查詢完整數據倉庫流程,具備了較高的早期完成度,用戶可以從 TensorBase 的 Release 頁下載相關 linux 環境下的二進制文件,進行嘗試。(windows 10 的 WSL2 目前應該也可以使用)
  3. 兼容 ClickHouse 協議。ClickHouse 是一個 C++ 編寫的數據倉庫。TensorBase 則使用 Rust 語言從頭開始實現了一個高性能的 ClickHouse SQL 方言解析器和 TCP 通訊協議棧。ClickHouse TCP 客戶端可以無縫連接 TensorBase。
  4. 性能為先。TensorBase 期望通過新的軟件和系統設計將現代硬件的所有潛力發揮出來。TensorBase 首次在核心鏈路代碼上實現了 “F4”:Copy-free,Lock-free,Async-free,Dyn-free(無動態對象分發)。初步的性能評估顯示:在 14.7 億行的紐約出租車數據集上,TensorBase 的簡單查詢的性能上已經領先 ClickHouse。
  5. 化繁為簡。目前的大數據系統使用非常復雜,即使想運行一個最簡單的系統,都需要配置大量難以理解的參數或者安裝大量第三方依賴。
  6. 對于用戶,除了現在已經達成的開箱即用,TensorBase 希望系統在運行時能在自治運行,而不是依賴運維管理員。
  7. 對于開發者,TensorBase 希望將貢獻門檻降低。整個項目架構設計簡潔高效(更多信息參見后文),項目外依賴很少,完全重新編譯(cargo clean 到 cargo build)的單機時間在 1 分鐘之內。(大數據系統或者 C++ 數據庫的完整構建時間往往以小時計。)
  8. 互聯未來。TensorBase 在核心上改造了 Apache Arrow 和 DataFusion,無縫支持 Arrow 格式查詢、分析和傳輸。Arrow 格式作為越來越廣泛采用的大數據交換中間格式,已經被多個數據庫及大數據生態平臺所支持。TensorBase 在引擎上兼容 Arrow,未來可以同時支持云原生和云中立場景下的數據倉庫體驗,提供存儲中立的數據湖服務。

三 架構

 

  • Base Server
  • TensorBase 服務接口層。對外提供數據的接口服務,比如數據的寫入和查詢入口。TensorBase 創造性的實現了世界上第一個非 C++ 的 ClickHouse TCP 協議服務棧,可以支持 ClickHouse 客戶端(clickhouse-client 命令行)以及 native 協議語言驅動的直接連接。同時,Base Server 是第一個 async 中立的 Rust 高性能服務器。Base Server 基于改造的 Actix 事件循環,在服務的實現中完全不使用 async,在提供絕佳的可調試性的同時,評測性能也大幅超過基于 tokio 默認 async 表達層的實現。未來可以引入非 tokio 的網絡 io 層實現。
  • Base Meta/Runtime/Storage
  • TensorBase 的元數據層、運行時層和存儲層。在存儲層,TensorBase 非經典的列式存儲。這其中最重要的,我們給出了一個反重力設計:No LSM。我們不再使用在目前開源數據庫及大數據平臺流行的 LSM Tree(Log Structured Merge Tree)數據結構。而是使用一種我們自己稱之為 Partition Tree 的數據結構,數據直接寫入分區文件,在保持 Append only 寫入性能的同時,避免了 LSM 結構的后續 compact 開銷。得益于現代 Linux 內核的支持和巧妙的寫入設計,我們在用戶態(User-space)核心讀寫鏈路上不使用任何鎖(Lock-free),最大程度的發揮了高并發網絡服務層所提供的能力,可以提供超高速數據寫入服務。
  • Base Engine
  • TensorBase 的引擎層。TensorBase 使用改造過的 Apache Arrow 和 DataFusion,并創造性的將底層存儲適配到 Arrow 格式,實現了 Zero Copy 的數據查詢。當然,目前的適配性存儲策略,還只算是一個現在進行中的次優解,TensorBase 未來會對存儲層進行持續迭代,提供更多與時俱進的優化。同時,TensorBase 也將進一步地優化幫助 Arrow/DataFusion 社區優化其查詢引擎的性能,和社區一起成長。
  • 其他
  • TensorBase 還有一些基礎性的組件,比如:
    • base,通用工具庫;
    • lang,語言層(目前主要實現一個 ClickHouse 兼容解析和表示層)。
    • lightjit,類表達式 JIT 引擎,未來可擴展至高性能和安全可控的用戶定義函數 UDF(User Defined Functions)層。 TensorBase 未來將進一步開發和開放自己的高性能基礎件,為 Rust 社區貢獻一些獨特的高性能可復用基礎設施。

注意,架構圖中的虛線連接尚未實現,這是一個全景式的架構藍圖。

分享到:
標簽:Rust
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定