HeadlinesBriefing favicon HeadlinesBriefing.com

DoltLite: Fork SQLite dengan Versi Git-Style

Hacker News •
×

Anak saya besar. Hanya lima bulan setelah peluncuran, Dolt Lite Beta, versi 0.50.0. Dolt Lite dimulai sebagai lucu. Saya butuh proyek untuk diuji dengan inovatif agent orchestrator Steve Yegge, Gas Town. Saya butuh masalah yang nyata, bukan mainan. Kami sudah lama ingin versi tertanam Dolt, tetapi menuliskan ulang engine penyimpanan Dolt ke C atau Rust terlalu jauh. SQLite terlihat sebagai host logis untuk engine tersebut. Bisa tim agen menariknya? Hanya sekitar 2.000 pull request tapi Dolt Lite Beta terbukti tim agen bisa. Apa itu Dolt Lite

Dolt Lite adalah fork SQLite. Semua di atas lapisan B-tree sama. Artinya SQL parser dan analyzer, lapisan interaksi file system, dan test harness stock SQLite. Di produk Dolt lain, kita harus mengimplementasikan SQL engine di atas storage yang dikontrol versi. Membuat SQL engine sulit. Dengan Dolt Lite, kami mendapatkannya dengan biaya menulis versi controlled storage engine di C. Lapisan B-tree ditukar dengan Prolly Tree yang dibacking oleh satu file chunk store. Prolly Trees adalah B-tree yang di-alami konten. Struktur data magis ini memungkinkan fitur versi kontrol di semua produk Dolt. Itu berarti Anda mendapat semua fitur versi kontrol Dolt dan Git dalam paket SQLite. Apakah Anda pernah ingin cabang, merge, dan diff SQLite? Dolt Lite untuk Anda. Atau mungkin lebih penting, apakah Anda pernah ingin conflict-aware SQLite sync engine yang didorong oleh Git-style push, pull, clone, and fetch? Dolt Lite untuk Anda. Atau mungkin lebih penting, apakah Anda pernah ingin conflict-aware SQLite sync engine yang didorong oleh Git-style push, pull, clone, and fetch? Dolt Lite untuk Anda. Anda bahkan bisa menggunakan Dolt Hub sebagai backend sinkronisasi Anda.

Apa maksud Beta?

Jadi, apa maksud Dolt Lite menjadi Beta bagi Anda? Beta berarti empat hal: Storage Format Stability, SQL Compatibility, Full Version Control, Production Performance, dan laporan lapangan tentang fungsi dan stabilitas secara universal positif. Battery uji SQLite memang impressif. Dolt Lite melewati ujian tersebut beserta custom suite uji Dolt oracle. Dolt Lite siap untuk Anda coba. Storage Format Stability

Pernyataan terbesar tentang proses pengembangan Dolt Lite adalah lonjakan Storage Format. Perubahan Storage Format tidak kompatibel mundur, memaksa pengguna tetap pada versi yang sama atau manual dump dan reimport basis data mereka. Itu mengambil 12 perubahan format untuk mencapai Beta. Kami sudah 57 rilis di format saat ini, atau lebih dari tiga bulan waktu kalender. Format ini tampaknya satu yang bisa kita pegang. Storage Format sekarang stabil. Perubahan depan yang akan breaking akan memiliki supported migration path. Dolt Lite Beta berarti Anda bisa adopt tanpa takut perubahan Storage Format yang breaking. SQL Compatibility

Lapisan SQL SQLite sangat well tested. Dolt Lite melewati mayoritas ujian ini juga, membuktikan SQL Compatibility. Dolt Lite melewati 100% sqllogictest, suite 5.8M kompleks query. Lapisan query sama dengan SQLite, jadi ini yang diharapkan. SQLite juga menyertakan suite 892.277 TCL-based acceptance tests yang menguji lebih luas permukaan API SQLite. Dolt Lite melewati 99.46% dengan 4.809 divergensi yang dikenal. Setiap divergensi harus memiliki alasan yang tercatat. Alasan utama adalah: Tabel dikunci oleh primary key, bukan rowid, untuk mendukung fitur versi kontrol. Beberapa ujian langsung menginspeksi rowid. Dolt Lite memiliki chunks, bukan halaman. Beberapa ujian langsung menginspeksi halaman. Tidak ada WAL atau journal sampingan. Ujian WAL dan journal di-skip. Pengguna SQLite merasa seperti di rumah dengan Dolt Lite. Dolt Lite berfungsi seperti SQLite dengan fungsi versi kontrol tambahan. Full Version Control

Dolt Lite mengimplementasikan inti suite fitur versi kontrol Git-style Dolt. Fungsi versi kontrol lokal didukung. Cabang, merge, diff, rebase, cherry-picks, dan reset, antaranya. Versi kontrol remote didukung: push, pull, clone, and fetch dari custom remot...