Le projet Dingo-Store est un système de stockage KV distribué basé sur plusieurs groupes de réplication de radeau, qui offre également une capacité de déchargement de calcul de couche de stockage. Le service de couche supérieure de ce projet est DingoDB basé sur SQL, et il peut également fournir une capacité de stockage de service à haute fréquence basée sur KV. L'architecture globale du projet est la suivante:

Le cluster de stockage de DingoDB, Dingo-Store, contient les rôles suivants:
Le coordinateur sert de composant de gestion des métadonnées centrales pour l'ensemble du cluster DingoDB, en utilisant le protocole de consensus RAFT. Il maintient les métadonnées détaillant la distribution des données et la topologie globale du cluster DingoDB. Souvent appelé «le cerveau» du système DingoDB, le coordinateur détient non seulement les métadonnées du cluster, mais supervise également l'allocation des ressources. Pour la robustesse et la haute disponibilité, le coordinateur fonctionne avec un minimum de trois nœuds. Un nombre impair de nœuds de coordonnateurs est recommandé pour un déploiement optimal.
Dingo-Store propose un mécanisme multi-repliques basé sur le protocole RAFT, garantissant la cohérence des données. Il fournit également des capacités telles que la réplication du log, l'élection des leader, la migration du groupe de radeaux, l'installation d'instantané et la division automatique en fonction de la taille des données. De plus, Dingo-Store mappe tous les modèles de données commerciaux à un modèle de données de valeur clé, offrant des capacités de lecture à haute fréquence transparente à haute fréquence. Par exemple, il transforme entièrement les modèles de table et les modèles d'index en représentations KV.
Dingo-Index est une version spécialisée de Dingo-Store. Il propose non seulement des capacités de stockage de données distribuées, mais assure également la construction en temps réel de données vectorielles à haute dimension et son indexation. Il offre des capacités de recherche étendues dans des espaces de grande dimension. Le système prend en charge les formats d'index vectoriels tels que HNSW et FIV.
Bienvenue pour visiter Dingodb. La documentation de DingoDB est située sur le site Web: https://dingodb.readthedocs.io. Les principaux projets sur DingoDB sont les suivants:
Dingo-Store est un projet hybride de C ++ et Java, où C ++ fournit des capacités de stockage et de calcul distribuées, tandis que la couche Java fournit des interfaces API de base.
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 Pour des informations plus détaillées, veuillez vous référer à: Guide de contribution
Dingo-Store est un projet open-source sous licence Apache License version 2.0 , accueille les commentaires de la communauté. Pour tout soutien ou suggestion, veuillez nous contacter.
