- SQLite veritabanını bilgisayarlar arasında daha hızlı kopyalamanın bir yöntemi açıklanıyor
- Veritabanındaki indeksler, kopyalama hızını yavaşlatan başlıca etken
- SQLite'ın
.dump komutu kullanılarak veritabanı bir metin dosyasına dökülebilir
- Metin dosyası, özgün veritabanından daha küçük olabilir; sıkıştırıldığında ise daha da küçülür
- Bu yöntem, büyük veritabanlarını daha hızlı ve daha güvenilir biçimde kopyalamayı sağlar
SQLite veritabanını bilgisayarlar arasında daha hızlı kopyalamanın yolu
- Uzak bir sunucuda saklanan SQLite veritabanını yerel bilgisayara kopyalama yöntemi anlatılıyor
- İlk aşamadaki projelerde
rsync komutuyla basitçe kopyalama yapılabilir
- Veritabanı büyüdükçe kopyalama yavaşlar ve güvenilirlik düşer
Veritabanı dökümünü metin dosyasına dönüştürmek
- SQLite,
.dump komutuyla veritabanını bir metin dosyasına dökebilir
- Bu metin dosyası SQL ifadelerinden oluşur ve özgün veritabanından daha küçük olabilir
- İndeksler, metin dosyasında tek satıra indirgenerek depolama alanından tasarruf sağlayabilir
Sıkıştırmayla depolama alanı kazanmak
- Metin dosyası sıkıştırıldığında daha da küçülür
- Örneğin özgün SQLite veritabanı 3.4GB ise, gzip ile sıkıştırılmış metin dosyası 240MB'ye kadar düşebilir
- Sıkıştırılmış metin dosyasını indirerek veritabanı kopyalama işlemi çok daha hızlı hale gelir
Yeni ssh+rsync komutu
- Sunucuda gzip ile sıkıştırılmış bir metin dosyası oluşturulup yerel bilgisayara kopyalanır, ardından veritabanı yeniden oluşturulur
- Sunucuda sıkıştırılmış metin dosyası oluşturma:
ssh username@server "sqlite3 my_remote_database.db .dump | gzip -c > my_remote_database.db.txt.gz"
- Dosyayı yerel bilgisayara kopyalama:
rsync --progress username@server:my_remote_database.db.txt.gz my_local_database.db.txt.gz
- Sıkıştırmayı açıp veritabanını yeniden oluşturduktan sonra yerel dosya silinir
Veritabanı dökümü güvenilir bir kopyalama kaynağıdır
- Kopyalama sırasında veritabanı güncellenirse,
rsync bozuk bir veritabanı dosyası oluşturabilir
- Metin dökümü oluşturarak kararlı bir kopyalama kaynağı sağlamak bu sorunu çözer
- Bu yöntem, büyük veritabanlarıyla çalışırken zaman kazandırır ve indirmeleri daha hızlı, daha güvenilir hale getirir
1 yorum
Hacker News görüşü