GoatDB - NoDB ringan untuk Deno dan React
(github.com/goatplatform)- Database version-controlled real-time untuk lingkungan deployment ringan
- Dioptimalkan untuk prototyping, self-hosting, aplikasi single-tenant, serta lingkungan multi-tenant ultra-ringan tanpa backend dan DB
- Tidak memerlukan infrastruktur terpisah → seluruh DB berjalan di klien, tanpa perlu server indexing
- Arsitektur offline-first → tetap dapat berjalan di klien dan dipulihkan meski server mati
- Edge-native → sebagian besar pemrosesan dilakukan di klien untuk meminimalkan beban server
- Mendukung sinkronisasi real-time → otomatis menyinkronkan status klien dan server
- Saat inisialisasi, lokasi replika dapat diatur di
peerssehingga klaster server mudah disiapkan - Mendukung sinkronisasi antarserver menggunakan protokol sinkronisasi, dan dapat diskalakan dengan menambahkan beberapa server tanpa perubahan kode
- Saat inisialisasi, lokasi replika dapat diatur di
- Menggunakan React Hooks
- React Hooks milik GoatDB menyediakan solusi manajemen state lengkap dan memungkinkan modifikasi state sinkron (mutable)
- Sebagai contoh, perubahan seperti
task.set('done', true)langsung tercermin di memori, sementara GoatDB otomatis menangani diffing, commit ke penyimpanan lokal, sinkronisasi server, dan penyelesaian konflik di background
- Model keamanan
- Setiap node mempertahankan pasangan kunci publik/pribadi, dan kunci pribadi tidak pernah diekspos ke luar
- Semua commit ditandatangani secara digital, sehingga perubahan yang dimanipulasi akan otomatis ditolak
- Kontrol akses data dimungkinkan melalui kebijakan izin kustom
- Metode penyelesaian konflik
- Three-Way Merge: jika perubahan saling bertabrakan, sistem akan menggabungkannya secara otomatis
- Pemberian ID berurutan dengan metode Logoot: menerapkan sistem pengenal unik untuk mencegah konflik saat penyisipan/penghapusan dalam data
1 komentar
GOAT.. ngeri