2024 年值得關注的 8 個 rust 開源數據項目
開源項目是我們所有人的巨大靈感來源,開源項目在構建解決方案以驗證和解決客戶需求有很大的幫助,而無需重新發明輪子。
隨着大數據生態系統、分佈式文件系統、map-reduce、NoSQL、機器學習、深度學習、人工智能以及最近的大語言模型的興起,數據得到了廣泛的關注。
下面我們來看一下這 8 個開源數據項目。
1,Fluvio
單詞 Fluvio 來自拉丁語 fluvius,意爲 “河流”,河流由連續的“溪流” 組成。它是一個數據流平臺的恰當名稱。
Fluvio 是一個用 Rust 和 Web Assembly 編寫的輕量級高性能分佈式數據流系統,在雲原生架構上提供低延遲、高性能的可編程流。
由 WebAssembly 編寫的智能模塊爲用戶提供了在不離開集羣的情況下對流數據執行內聯計算的能力。
github 地址:
https://github.com/infinyon/fluvio
2,Arroyo
Arroyo 是一個用 Rust 編寫的分佈式流處理引擎,旨在有效地對數據流執行有狀態計算。與傳統的批處理不同,流引擎可以在有界和無界源上操作,並在可用時立即發出結果。
簡而言之: Arroyo 允許您以亞秒級的結果詢問大容量實時數據的複雜問題。
最重要的是,Arroyo 與 Fluvio 集成了一個基於 rust 的引擎,這使它們成爲一個偉大的組合。
github 地址:
https://github.com/ArroyoSystems/arroyo
3,Qdrant
Qdrant 是一個用 rust 編寫的矢量數據庫和相似度搜索引擎,是下一代人工智能的高性能,大規模向量數據庫。它正在爲 Twitter、GitBook 等知名產品提供更好的搜索功能。
Qdrant 提供了一個方便的 API 來存儲、搜索和管理點向量,並提供了一個額外的有效負載。Qdrant 是專門爲擴展過濾支持而定製的,這使得它對各種神經網絡或基於語義的匹配、面搜索和其他應用程序都很有用。
github 地址:
https://github.com/qdrant/qdrant
4,Lancedb
LanceDB calls 是一個用於矢量搜索的數據庫。看起來 Lancedb 是 Python 和 Rust 之間的橋樑。Lancedb core 是用 rust 編寫的,它支持原生 Python 和 Javascript/Typescript。
它是對開發人員友好,無服務器矢量數據庫的人工智能應用程序,可以輕鬆添加長期記憶到你的 LLM 應用程序中!
github 地址:
https://github.com/lancedb/lancedb
5,Linfa
Linfa 一個 Rust 機器學習框架,該項目 “旨在提供一個全面的工具包,用 Rust 構建機器學習應用程序。與 Python 的 scikit-learn 類似,它專注於常見的預處理任務和日常 ML 任務的經典 ML 算法。
Linfa 目前支持以下算法:
github 地址:
https://github.com/rust-ml/linfa
6,Polars
Polars 是用 Rust 編寫的,基於 OLAP 查詢引擎的 DataFrame 接口,使用 Apache Arrow Columnar Format 作爲內存模型。
特性如下:
-
支持惰性執行和立即執行
-
多線程
-
SIMD
-
查詢優化
-
強大的表達式 API
-
混合流 (大於 RAM 數據集)
-
支持多語言:Rust | Python | NodeJS | R |…
github 地址:
https://github.com/pola-rs/polars
7,Lance
Lance 是一種柱狀數據格式,Lance 是 Lancedb 矢量數據庫使用的格式。
Lance 的主要特點包括:
-
高性能隨機存取:比 Parquet 快 100 倍,不犧牲掃描性能。
-
矢量搜索:在毫秒內找到最近的鄰居,並將 olap 查詢與矢量搜索相結合。
-
零拷貝,自動版本控制:無需額外基礎設施即可管理數據的版本。
-
生態系統集成:Apache Arrow, Pandas, Polars, DuckDB 等。
Lance 適合的場景:
-
建立搜索引擎和功能商店。
-
需要高性能 IO 和 shuffle 的大規模 ML 訓練。
-
存儲、查詢和檢查深度嵌套的數據,用於機器人或像圖像、點雲等大數據塊。
github 地址:
https://github.com/lancedb/lance
8,Surrealdb
就社區參與度而言,Surreal 是這個榜單上最受歡迎的項目。
SurrealDB 是一個端到端的雲原生數據庫,專爲現代應用而設計,包括 web、移動、無服務器、Jamstack、後端和傳統應用。使用 SurrealDB,你可以簡化數據庫和 API 基礎設施,縮短開發時間,並快速且經濟高效地構建安全,高性能的應用程序。
SurrealDB 的主要特性包括:
-
減少開發時間:通過消除對大多數服務器端組件的需求,SurrealDB 簡化了數據庫和 API,允許你更快,更便宜地構建安全,高性能的應用程序。
-
實時協作 API 後端服務:SurrealDB 同時作爲數據庫和 API 後端服務,支持實時協作。
-
支持多種查詢語言:SurrealDB 支持從客戶端設備、GraphQL、ACID 事務、WebSocket 連接、結構化和非結構化數據、圖形查詢、全文索引和地理位置進行 SQL 查詢。
github 地址:
https://github.com/surrealdb/surrealdb
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/Rn_pA85gfD5bpR3BQB0PsQ