UStore
多模態資料庫,以一個更快的 ACID 解決方案取代 MongoDB、Neo4J 和 Elastic,提供 NetworkX 和 Pandas 介面,並支援 C 99、C++ 17、Python 3、Java、GoLang 的繫結
UStore 是什麼?
多模態資料庫,以一個更快的 ACID 解決方案取代 MongoDB、Neo4J 和 Elastic,提供 NetworkX 和 Pandas 介面,並支援 C 99、C++ 17、Python 3、Java、GoLang 的繫結 🗄️
UStore 概覽
這是什麼
UStore 是一個多模態交易型資料庫,能以單一 ACID 解決方案取代 MongoDB、Neo4J 和 Elastic。它支援多種儲存後端,包括 RocksDB、LevelDB、UDisk 和 UCSet,並可儲存 blob、文件、圖形和向量。它提供 Pandas 和 NetworkX API 進行資料互動,並有 C99、C++17、Python 3、Java 和 GoLang 的綁定。UStore 旨在作為資料庫建構工具包和 NoSQL 交易型資料庫的開放標準,定義了零拷貝的二進位介面來執行 CRUD 操作。
主要功能
- 支援多種儲存後端:RocksDB、LevelDB、UDisk、UCSet。
- 多模態:可儲存 blob、文件、圖形和向量。
- ACID 交易,具備原子性、一致性、隔離性、持久性。
- 提供 Pandas 和 NetworkX API 進行資料互動。
- 綁定 C99、C++17、Python 3、Java、GoLang。
- Apache Arrow Flight RPC 介面用於遠端連線。
- 向量搜尋整合 USearch 和 UForm;支援 8 位元整數和 16 位元浮點數量化。
使用情境
- 以單一 ACID 交易系統取代 MongoDB、Neo4J、Pinecone 和 ElasticSearch。
- 儲存和查詢文件、圖形和向量,用於人工智慧和語意搜尋。
- 作為嵌入式資料庫,使用記憶體或持久化後端。
- 透過 Apache Arrow Flight RPC 將資料提供給 Spark、Kafka 或 PyTorch。
- 在單一 API 下分層管理記憶體和持久化儲存。
快速開始
bash $ pip install ukv $ python from ukv import umem db = umem.DataBase() db.main[42] = 'Hi'
授權與價格
採用 Apache-2.0 授權。開放原始碼。
內容整理自該專案公開的 README 與儲存庫資訊。