- 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
peers sehingga klaster server mudah disiapkan
- Mendukung sinkronisasi antarserver menggunakan protokol sinkronisasi, dan dapat diskalakan dengan menambahkan beberapa server tanpa perubahan kode
- 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
Proyek contoh
- Todo → daftar tugas modern minimal untuk self-hosting
- EdgeChat → antarmuka bergaya ChatGPT yang sepenuhnya berbasis browser
- Ovvio → alat produktivitas yang menggunakan GoatDB sejak 2024
1 komentar
GOAT.. ngeri