โปรแกรมฐานข้อมูลเชิงโต้ตอบที่เขียนด้วยภาษา Java (17+) โดยใช้ Project Reactor
ไลบรารีนี้จัดเตรียมนามธรรมเชิงโต้ตอบขั้นพื้นฐานและการใช้งานที่ เก็บคีย์-ค่า และ เครื่องมือค้นหา
มีการใช้งานสี่แบบที่พร้อมใช้งานทันที สองรายการสำหรับการจัดเก็บคีย์-ค่า สองรายการสำหรับเครื่องมือค้นหา แต่คุณสามารถเพิ่มการใช้งานเพิ่มเติมได้
การสืบค้นสามารถซีเรียลไลซ์และดีซีเรียลไลซ์ได้โดยใช้รูปแบบซีเรียลไลซ์แบบกำหนดเองที่มีประสิทธิภาพ
นามธรรมของฐานข้อมูลสามารถหลีกเลี่ยงการคัดลอกข้อมูลหลายครั้งโดยใช้บัฟเฟอร์ RocksDB JNI และ Netty 5
ตัวสร้างข้อมูลที่สร้างบันทึก Java 16 พร้อมใช้งาน: ช่วยให้คุณสร้างบันทึกที่กำหนดเองโดยการกำหนดฟิลด์โดยใช้ไฟล์ .yaml
ตัวสร้างยังสร้างแหล่งที่มาของซีเรียลไลเซอร์, ดีซีเรียลไลเซอร์ และตัวอัปเกรดเฉพาะสำหรับเรกคอร์ดที่กำหนดเองแต่ละรายการ ณ เวลาคอมไพล์
นามธรรมการจัดเก็บคีย์-ค่าช่วยให้คุณสามารถดีซีเรียลไลซ์ข้อมูลเวอร์ชันเก่าของคุณได้อย่างโปร่งใส โดยใช้ตัวอัปเกรดแบบกำหนดเองและตัวดีซีเรียลไลเซอร์แบบกำหนดเองโดยอัตโนมัติ
ตัวสร้างข้อมูลสามารถพบได้ในที่เก็บข้อมูลตัวสร้างข้อมูล
ที่เก็บคีย์-ค่า RocksDB
ไลบรารีการจัดทำดัชนี Apache Lucene Core
ทำไมมันใช้งานยากจัง?
นี่ไม่ใช่ DBMS
นี่คือเอ็นจิ้นที่สามารถสร้าง DBMS ได้ ด้วยเหตุนี้จึงเป็นเรื่องยากมากที่จะใช้โดยตรงโดยไม่ต้องสร้างเลเยอร์นามธรรมอีกชั้นหนึ่งไว้ด้านบน
ฉันสามารถใช้วัตถุแทนอาร์เรย์ไบต์ได้หรือไม่
ใช่ คุณต้องซีเรียลไลซ์/ดีซีเรียลไลซ์โดยใช้ไลบรารีที่คุณเลือก
CodecSerializer ช่วยให้คุณสามารถนำข้อมูลเวอร์ชันไปใช้โดยใช้ตัวแปลงสัญญาณสำหรับข้อมูลแต่ละเวอร์ชัน โปรดทราบว่าแต่ละค่าจะใช้มากกว่า 1 ถึง 4 ไบต์ในการจัดเก็บเวอร์ชัน
เหตุใดจึงมีฟังก์ชั่นสแน็ปช็อตสำหรับแต่ละส่วนของฐานข้อมูล?
เนื่องจากดัชนี RocksDB และ Lucene เป็นไลบรารีที่แตกต่างกัน คุณจึงไม่สามารถจับภาพทุกฐานข้อมูลแบบอะตอมมิกได้
ต้องใช้สแน็ปช็อตสากลเป็นชุดของสแน็ปช็อตฐานข้อมูลแต่ละรายการ
CavalliumDB Engine เหมาะกับโครงการของคุณหรือไม่?
เลขที่
เครื่องยนต์นี้ไม่มีเอกสารหลักฐานเป็นส่วนใหญ่ และไม่มีการทดสอบอย่างละเอียด
ใน src/example/java
คุณสามารถค้นหาตัวอย่าง (น่าเกลียด) ได้