- Limbo adalah proyek eksperimental untuk mengimplementasikan ulang SQLite dengan Rust yang memberikan keamanan memori
- Menyukai sifat embedded SQLite, tetapi menginginkan model pengembangan yang lebih terbuka sehingga proyek libSQL dimulai
- Alasan melakukan fork pada SQLite: fitur baru dapat diintegrasikan dengan mudah, dan kompatibilitas dengan kode yang ada tetap bisa dipertahankan
- Kekurangannya: test suite SQLite bersifat proprietari dan ditulis dalam C, sehingga evolusi kode menjadi sulit
- Pendekatan baru
- Mengalami keterbatasan SQLite saat menambahkan fitur pencarian vektor
- Menulis ulang SQLite dari awal untuk mengeksplorasi kemungkinan penambahan fitur yang lebih agresif sambil tetap menjaga kompatibilitas
- Langkah berikutnya
- Mengubah Limbo menjadi proyek resmi Turso
- Bertujuan membangun arsitektur baru yang memberikan keamanan memori sambil mempertahankan keandalan yang sama seperti SQLite
- Menantang keandalan SQLite
- Mencapai keandalan tinggi melalui deterministic simulation testing (DST)
- Bekerja sama dengan Antithesis untuk menggunakan framework DST tingkat sistem
- Status saat ini
- I/O sepenuhnya asinkron: Limbo memiliki desain yang sepenuhnya asinkron, menyelesaikan masalah antarmuka sinkron SQLite
- Dirancang untuk WASM: desain yang mempertimbangkan penggunaan di lingkungan WASM
- Performa: pada banyak pekerjaan, performanya setara atau lebih cepat daripada SQLite
- Kesederhanaan: memberikan pengalaman pengguna yang lebih baik dengan menghapus fitur yang kurang penting di lingkungan modern
- Informasi tambahan
- Limbo tersedia di GitHub dengan lisensi MIT
- Mengundang siapa pun yang tertarik membangun database embedded yang ingin membawa janji SQLite ke tahap berikutnya
4 komentar
Lucu juga rasanya melihat proyek yang pernah saya kontribusikan muncul di Hacker News hehe
Komentar Hacker News
SQLite tampaknya merupakan proyek yang tidak perlu ditulis ulang karena kualitas kodenya dan pengujian yang ketat
Diskusi bahwa SQLite bukan untuk "kontribusi terbuka" mengabaikan bahwa menerima kontribusi tidak selalu berarti menerima semua kontribusi
Ada yang awalnya bersikap negatif terhadap pengumuman awal fork dari SQLite3 ke LibSQL
Untuk performa maksimum, sebaiknya memilih mode WAL dan menonaktifkan POSIX advisory locking
Ada yang mengatakan baru pertama kali mengetahui bahwa test suite SQLite bersifat proprietari
Ada yang tidak menerima logika pada bagian "async IO"
Ada pendapat bahwa ini adalah proyek yang masih berada pada tahap awal
Jika dikompilasi dengan Fil-C, kita bisa mendapatkan SQLite yang aman memori
SQLite terdiri dari sekitar 156.000 baris kode dan 92.000 baris kode pengujian
Diperkirakan sertifikasi DO-178B untuk varian Rust tidak sedang dipertimbangkan
Nama "Limbo" juga digunakan pada bahasa post-C/UNIX untuk sistem operasi Inferno milik AT&T
SQLite tampaknya adalah proyek yang tidak perlu ditulis ulang berkat kualitas kode dan pengujiannya yang ketat -> penilaian seperti ini terhadap SQLite benar-benar membuat iri dan keren.
Disebutkan bahwa proyek ini mengikuti proses DO-178B dan telah mencapai 100% cakupan kode MC/DC.
Kisah SQLite yang tidak banyak diketahui