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版,欢迎社区的任何反馈。有关任何支持或建议,请与我们联系。
