Dingo商店項目是基於多個筏複製組的分佈式KV存儲系統,該系統還提供了存儲層計算卸載功能。該項目的高層服務是基於SQL的DingoDB,它還可以基於KV提供高頻服務能力。該項目的整體架構如下:

DingoDB中的存儲群集(Dingo商店)包含以下角色:
使用RAFT共識協議,協調器充當整個DingoDB群集的中央元數據管理組件。它維護元數據詳細介紹了數據分佈和DingoDB群集的整體拓撲。該協調員通常被稱為DingoDB系統的“大腦”,不僅容納了集群的元數據,還可以監督資源分配。為了魯棒性和高可用性,協調器至少三個節點運行。建議使用奇數的協調節點來進行最佳部署。
Dingo商店提供了基於RAFT協議的多倍型機制,以確保數據一致性。它還提供了基於數據大小的日誌複製,Leader選舉,RAFT組遷移,快照安裝和自動拆分等功能。此外,Dingo商店將所有業務數據模型映射到鍵值數據模型,從而提供無縫的高頻鍵值讀取功能。例如,它將表模型和索引模型完全轉換為KV表示。
Dingo Index是Dingo商店的專業版本。它不僅提供分佈式的數據存儲功能,還可以確保實時構建高維矢量數據及其索引。它在高維空間中提供了廣泛的搜索功能。該系統支持矢量索引格式,例如HNSW和IVF。
歡迎參觀Dingodb。 DingoDB的文檔位於網站上:https://dingodb.readthedocs.io。關於DingoDB的主要項目如下:
Dingo商店是C ++和Java的混合項目,其中C ++提供了分佈式存儲和計算功能,而Java層則提供了基本的API接口。
git submodule sync --recursive
git submodule update --init --recursive
mkdir build && cd build
# Release
cmake -DCMAKE_BUILD_TYPE=Release -DTHIRD_PARTY_BUILD_TYPE=Release -DDINGO_BUILD_STATIC=ON -DBUILD_UNIT_TESTS=OFF ..
# Debug
cmake -DCMAKE_BUILD_TYPE=Debug -DTHIRD_PARTY_BUILD_TYPE=Debug -DDINGO_BUILD_STATIC=ON -DBUILD_UNIT_TESTS=ON ..
# RelWithDebInfo
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DTHIRD_PARTY_BUILD_TYPE=RelWithDebInfo -DDINGO_BUILD_STATIC=ON -DBUILD_UNIT_TESTS=ON ..
make cd java && mvn clean package - DskipTests 有關更多詳細信息,請參閱:貢獻指南
Dingo商店是一項開源項目,該項目已獲得Apache許可證2.0版,歡迎社區的任何反饋。有關任何支持或建議,請與我們聯繫。
