Mesin basis data reaktif yang ditulis dalam Java (17+) menggunakan Project Reactor.
Pustaka ini menyediakan abstraksi reaktif dasar dan implementasi penyimpanan nilai kunci dan mesin pencari .
Ada empat implementasi yang siap digunakan, dua untuk penyimpanan nilai kunci, dua untuk mesin telusur, namun masih mungkin untuk menambahkan lebih banyak implementasi.
Kueri dapat diserialkan dan dideserialisasi menggunakan format serialisasi khusus yang efisien
Abstraksi database dapat menghindari penyalinan data beberapa kali dengan menggunakan buffer RocksDB JNI dan Netty 5
Tersedia generator data yang menghasilkan catatan Java 16: memungkinkan Anda membuat catatan khusus dengan menentukan bidang menggunakan file .yaml.
Generator juga menghasilkan pada waktu kompilasi sumber serializer khusus, deserializer, dan pemutakhiran, untuk setiap catatan khusus.
Abstraksi penyimpanan nilai kunci memungkinkan Anda melakukan deserialisasi data versi lama secara transparan, dengan menggunakan pemutakhiran khusus dan deserializer khusus secara otomatis.
Generator data dapat ditemukan di repositori Generator data.
Penyimpanan nilai kunci RocksDB
Pustaka pengindeksan Apache Lucene Core
Mengapa sangat sulit untuk digunakan?
Ini bukan DBMS.
Ini adalah mesin dimana DBMS dapat dibangun; karena alasan ini sangat sulit untuk digunakan secara langsung tanpa membuat lapisan abstraksi lain di atasnya.
Bisakah saya menggunakan objek alih-alih array byte?
Ya, Anda harus membuat serialisasi/deserialisasi menggunakan perpustakaan pilihan Anda.
CodecSerializer memungkinkan Anda mengimplementasikan data berversi menggunakan codec untuk setiap versi data. Perhatikan bahwa ia menggunakan 1 hingga 4 byte lebih banyak untuk setiap nilai guna menyimpan versi.
Mengapa ada fungsi snapshot untuk setiap bagian database?
Karena indeks RocksDB dan lucene adalah perpustakaan yang berbeda, Anda tidak dapat mengambil snapshot dari setiap database secara atom.
Snapshot universal harus diimplementasikan sebagai kumpulan dari setiap snapshot database.
Apakah Mesin CavalliumDB cocok untuk proyek Anda?
TIDAK.
Mesin ini sebagian besar tidak berdokumen, dan tidak menyediakan pengujian ekstensif.
Di src/example/java
Anda dapat menemukan beberapa contoh (jelek) .