Dingo-Storeプロジェクトは、複数のRAFTレプリケーショングループに基づいた分散KVストレージシステムであり、ストレージレイヤー計算オフロード機能も提供します。このプロジェクトの上層層サービスはSQLに基づいてDingoDBであり、KVに基づいて高周波サービングストレージ機能を提供することもできます。プロジェクトの全体的なアーキテクチャは次のとおりです。

DingoDBのストレージクラスター、Dingoストアには、次の役割が含まれています。
コーディネーターは、RAFTコンセンサスプロトコルを利用して、DingODBクラスター全体の中央メタデータ管理コンポーネントとして機能します。データ分布の詳細とDingoDBクラスターの全体的なトポロジを維持します。多くの場合、DingoDBシステムの「脳」と呼ばれると、コーディネーターはクラスターのメタデータを保持するだけでなく、リソース割り当てを監督します。堅牢性と高可用性のために、コーディネーターは最低3つのノードで動作します。最適な展開には、奇数のコーディネーターノードが推奨されます。
Dingo-Storeは、RAFTプロトコルに基づいたマルチレプリカメカニズムを提供し、データの一貫性を確保しています。また、ログレプリケーション、リーダー選挙、RAFTグループの移行、スナップショットのインストール、データサイズに基づく自動分割などの機能も提供します。さらに、Dingoストアは、すべてのビジネスデータモデルをキー価値データモデルにマッピングし、シームレスな高周波キー値Read-Write機能を提供します。たとえば、テーブルモデルとインデックスモデルを完全にKV表現に変換します。
Dingo-Indexは、Dingo-Storeの専門版です。分散データストレージ機能を提供するだけでなく、高次元ベクトルデータとそのインデックスのリアルタイム構造も保証します。高次元空間で広範な検索機能を提供します。このシステムは、HNSWやIVFなどのベクトルインデックス形式をサポートしています。
Dingodbにアクセスしてください。 DingoDBのドキュメントは、Webサイトhttps://dingodb.readthedocs.ioにあります。 DingoDBに関する主なプロジェクトは次のとおりです。
Dingo-Storeは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-Storeは、 Apacheライセンスバージョン2.0でライセンスされているオープンソースプロジェクトです。コミュニティからのフィードバックを歓迎します。サポートや提案については、お問い合わせください。
