- Database key-value berperforma tinggi yang dikembangkan dengan Go, mendukung antarmuka C, serta mencerminkan prinsip desain database modern seperti LSM tree, MVCC, dan struktur lock-free
- Menjamin konsistensi langsung dan durabilitas berbasis WAL (Write Ahead Logging), serta memberikan performa tulis/baca tinggi melalui flush/compaction di latar belakang dan pemrosesan paralel lock-free
- Mengusung struktur embedded single-node untuk penyimpanan data yang ringan dan cepat tanpa jaringan maupun distribusi
Fitur utama Wildcat
- Berbasis LSM tree, dioptimalkan untuk workload yang berfokus pada penulisan
- MVCC (Multi-Version Concurrency Control) dan struktur data lock-free untuk pemrosesan tanpa lock pada jalur utama
- WAL logging: mencatat seluruh status transaksi dan mendukung pemulihan
- Version-aware skip list untuk mempercepat MVCC in-memory
- Penulisan thread-safe/lock-free serta cache atomik dan manajemen memori
- SSTable menggunakan struktur BTree immutable, mendukung pemisahan key-value dan optimasi Bloom filter
- Menjamin transaksi ACID serta memungkinkan pemilihan level durabilitas (Full/Partial/None)
- Crash recovery untuk memulihkan transaksi yang sudah commit maupun yang belum selesai
- Batch/iterator: mendukung range, prefix, dan iterasi dua arah
- Desain modern seperti Bloom Filter, pemisahan key-value (
.klog, .vlog), serta compaction yang mengenali tombstone/versi
- Statistik/logging/monitoring: menyediakan berbagai antarmuka diagnostik dan statistik seperti Stats() dan LogChannel
- Build pustaka C dan API: dapat dibangun sebagai pustaka bersama Go dan digunakan langsung dari berbagai bahasa
- Mendukung Go 1.24+ serta Linux/macOS/Windows (64-bit)
Mengapa ini penting? (pembeda dibanding KV embedded lain)
- Memiliki struktur LSM+MVCC yang mirip RocksDB dan Badger, tetapi menawarkan desain native Go yang lock-free dan multithreaded untuk penggunaan yang dioptimalkan di lingkungan Go
- Khusus untuk database embedded: menghadirkan konsistensi langsung/durabilitas/performa tinggi tanpa overhead jaringan atau replikasi
- Pemulihan transaksi dan pelestarian status yang belum selesai meningkatkan keandalan dan transparansi
- Beragam parameter compaction/buffer/cache memungkinkan tuning yang disesuaikan dengan tiap workload
2 komentar
Bahasa yang mengeluarkan DB dalam jumlah mencurigakan banyaknya
Bahasa yang entah kenapa menghasilkan sangat banyak database.