Proyek Dingo-Store adalah sistem penyimpanan KV terdistribusi berdasarkan beberapa grup replikasi rakit, yang juga menyediakan kemampuan pembongkaran komputasi lapisan penyimpanan. Layanan lapis atas dari proyek ini adalah DingoDB berdasarkan SQL, dan juga dapat memberikan kemampuan penyimpanan porsi frekuensi tinggi berdasarkan KV. Arsitektur keseluruhan proyek ini adalah sebagai berikut:

Cluster penyimpanan di DingoDB, dingo-store, berisi peran berikut:
Koordinator berfungsi sebagai komponen manajemen metadata pusat untuk seluruh cluster DingoDB, menggunakan protokol konsensus RAFT. Ini mempertahankan metadata yang merinci distribusi data dan topologi keseluruhan cluster DingoDB. Sering disebut sebagai 'otak' sistem DingoDB, koordinator tidak hanya memegang metadata cluster tetapi juga mengawasi alokasi sumber daya. Untuk ketahanan dan ketersediaan tinggi, koordinator beroperasi dengan minimal tiga node. Sejumlah ganjil node koordinator direkomendasikan untuk penyebaran optimal.
Dingo-Store menawarkan mekanisme multi-replika berdasarkan protokol rakit, memastikan konsistensi data. Ini juga memberikan kemampuan seperti replikasi log, pemilihan pemimpin, migrasi grup raft, instalasi snapshot, dan pemisahan otomatis berdasarkan ukuran data. Selain itu, Dingo-Store memetakan semua model data bisnis ke model data nilai kunci, memberikan kemampuan membaca-write-write frekuensi tinggi yang mulus. Misalnya, ia mengubah model tabel dan model indeks sepenuhnya menjadi representasi KV.
Dingo-index adalah versi khusus dari dingo-store. Ini tidak hanya menawarkan kemampuan penyimpanan data terdistribusi tetapi juga memastikan konstruksi waktu nyata dari data vektor dimensi tinggi dan pengindeksannya. Ini memberikan kemampuan pencarian yang luas di ruang dimensi tinggi. Sistem mendukung format indeks vektor seperti HNSW dan IVF.
Selamat datang untuk mengunjungi Dingodb. Dokumentasi DingoDB terletak di situs web: https://dingodb.readthedocs.io. Proyek utama tentang DingoDB adalah sebagai berikut:
Dingo-Store adalah proyek hibrida C ++ dan Java, di mana C ++ menyediakan kemampuan penyimpanan dan komputasi terdistribusi, sedangkan lapisan Java menyediakan antarmuka API dasar.
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 Untuk informasi lebih rinci, silakan merujuk ke: Panduan Kontribusi
Dingo-Store adalah proyek open-source yang dilisensikan dalam Lisensi Apache versi 2.0 , menyambut umpan balik apa pun dari masyarakat. Untuk dukungan atau saran apa pun, silakan hubungi kami.
