محرك قاعدة بيانات تفاعلي مكتوب بلغة Java (17+) باستخدام Project Reactor.
توفر هذه المكتبة تجريدًا تفاعليًا أساسيًا وتنفيذًا لمتجر القيمة الرئيسية ومحرك البحث .
توجد أربعة تطبيقات جاهزة، اثنتان لمخزن قيمة المفتاح، واثنتان لمحرك البحث، ولكن من الممكن إضافة المزيد من التطبيقات.
يمكن إجراء تسلسل للاستعلامات وإلغاء تسلسلها باستخدام تنسيق تسلسل مخصص فعال
يمكن لتجريد قاعدة البيانات تجنب نسخ البيانات عدة مرات باستخدام المخازن المؤقتة RocksDB JNI وNetty 5
يتوفر منشئ بيانات يقوم بإنشاء سجلات Java 16: فهو يسمح لك بإنشاء سجلات مخصصة عن طريق تحديد الحقول باستخدام ملف .yaml.
يقوم المولد أيضًا بإنشاء مصدر برامج التسلسل وإلغاء التسلسل والمطورات المتخصصة في وقت الترجمة لكل سجل مخصص.
يسمح لك تجريد مخزن القيمة الرئيسية بإلغاء تسلسل الإصدارات القديمة من بياناتك بشفافية، باستخدام أدوات الترقية المخصصة وبرامج إلغاء التسلسل المخصصة تلقائيًا.
يمكن العثور على منشئ البيانات في مستودع منشئ البيانات.
مخزن القيمة الرئيسية RocksDB
مكتبة فهرسة أباتشي لوسين الأساسية
لماذا يصعب استخدامه؟
هذا ليس نظام إدارة قواعد البيانات.
هذا هو المحرك الذي يمكن بناء نظام إدارة قواعد البيانات عليه؛ لهذا السبب، من الصعب جدًا استخدامه مباشرة دون إنشاء طبقة تجريد أخرى في الأعلى.
هل يمكنني استخدام الكائنات بدلاً من صفائف البايت؟
نعم، يجب عليك إجراء تسلسل/إلغاء تسلسلها باستخدام مكتبة من اختيارك.
يسمح لك CodecSerializer بتنفيذ بيانات ذات إصدارات باستخدام برنامج ترميز لكل إصدار بيانات. لاحظ أنه يستخدم 1 إلى 4 بايت إضافية لكل قيمة لتخزين الإصدار.
لماذا توجد وظيفة لقطة لكل جزء من قاعدة البيانات؟
نظرًا لأن مؤشرات RocksDB وlucene عبارة عن مكتبات مختلفة، فلا يمكنك التقاط لقطة لكل قاعدة بيانات ذريًا.
يجب تنفيذ لقطة عالمية كمجموعة من كل لقطة لقاعدة البيانات.
هل محرك CavalliumDB مناسب لمشروعك؟
لا.
هذا المحرك غير موثق إلى حد كبير، ولا يقدم اختبارات مكثفة.
في src/example/java
يمكنك العثور على بعض الأمثلة (القبيحة) .