- Penjelasan tentang cara yang lebih cepat untuk menyalin database SQLite antar komputer
- Indeks database adalah penyebab utama yang memperlambat kecepatan penyalinan
- Anda dapat membuang database ke file teks menggunakan perintah
.dump milik SQLite
- File teks lebih kecil daripada database asli, dan akan menjadi lebih kecil lagi jika dikompresi
- Metode ini memungkinkan penyalinan database berukuran besar dengan lebih cepat dan lebih andal
Cara Menyalin Database SQLite antar Komputer dengan Lebih Cepat
- Penjelasan tentang cara menyalin database SQLite yang disimpan di server jarak jauh ke komputer lokal
- Pada proyek awal, penyalinan sederhana bisa dilakukan dengan perintah
rsync
- Saat database membesar, kecepatan penyalinan menurun dan keandalannya juga berkurang
Membuat dump database menjadi file teks
- SQLite dapat membuang database ke file teks dengan perintah
.dump
- File teks ini terdiri dari pernyataan SQL, dan bisa lebih kecil daripada database asli
- Indeks dipadatkan menjadi satu baris dalam file teks, sehingga dapat menghemat ruang penyimpanan
Menghemat ruang penyimpanan dengan kompresi
- File teks akan menjadi lebih kecil jika dikompresi
- Sebagai contoh, jika database SQLite asli berukuran 3.4GB, file teks yang dikompresi dengan gzip dapat menyusut menjadi 240MB
- Mengunduh file teks terkompresi membuat penyalinan database menjadi jauh lebih cepat
Perintah ssh+rsync yang baru
- Membuat file teks terkompresi dengan gzip di server, menyalinnya ke komputer lokal, lalu membangun ulang database
- Membuat file teks terkompresi di server:
ssh username@server "sqlite3 my_remote_database.db .dump | gzip -c > my_remote_database.db.txt.gz"
- Menyalin file ke komputer lokal:
rsync --progress username@server:my_remote_database.db.txt.gz my_local_database.db.txt.gz
- Lakukan dekompresi dan bangun ulang database, lalu hapus file lokal
Dump database adalah sumber penyalinan yang andal
- Jika ada pembaruan saat database sedang disalin,
rsync dapat menghasilkan file database yang rusak
- Masalah ini dapat diatasi dengan membuat dump teks sebagai sumber penyalinan yang stabil
- Metode ini menghemat waktu saat menangani database besar serta membuat pengunduhan lebih cepat dan lebih andal
1 komentar
Komentar Hacker News
--rsyncablepada gzip. Opsi ini sedikit mengurangi rasio kompresi, tetapi melokalkan perbedaan agar tidak memengaruhi seluruh output terkompresi