- Giải thích một cách nhanh hơn để sao chép cơ sở dữ liệu SQLite giữa các máy tính
- Các chỉ mục của cơ sở dữ liệu là nguyên nhân chính làm chậm tốc độ sao chép
- Có thể dùng lệnh
.dump của SQLite để xuất cơ sở dữ liệu thành tệp văn bản
- Tệp văn bản nhỏ hơn cơ sở dữ liệu gốc, và khi nén còn nhỏ hơn nữa
- Phương pháp này giúp sao chép các cơ sở dữ liệu lớn nhanh hơn và ổn định hơn
Cách sao chép cơ sở dữ liệu SQLite giữa các máy tính nhanh hơn
- Giải thích cách sao chép cơ sở dữ liệu SQLite được lưu trên máy chủ từ xa về máy tính cục bộ
- Ở giai đoạn đầu của dự án, có thể dùng lệnh
rsync để sao chép một cách đơn giản
- Khi cơ sở dữ liệu lớn lên, tốc độ sao chép chậm đi và độ tin cậy cũng giảm
Tạo bản dump cơ sở dữ liệu thành tệp văn bản
- SQLite có thể dùng lệnh
.dump để xuất cơ sở dữ liệu thành tệp văn bản
- Tệp văn bản này gồm các câu lệnh SQL và có thể nhỏ hơn cơ sở dữ liệu gốc
- Các chỉ mục được thu gọn thành một dòng duy nhất trong tệp văn bản, giúp tiết kiệm dung lượng lưu trữ
Tiết kiệm dung lượng nhờ nén
- Tệp văn bản sẽ nhỏ hơn nữa khi được nén
- Ví dụ, nếu cơ sở dữ liệu SQLite gốc có dung lượng 3.4GB, thì tệp văn bản được nén bằng gzip có thể giảm xuống còn 240MB
- Tải xuống tệp văn bản đã nén sẽ giúp việc sao chép cơ sở dữ liệu nhanh hơn rất nhiều
Lệnh ssh+rsync mới
- Tạo tệp văn bản đã nén bằng gzip trên máy chủ, sao chép về máy cục bộ rồi dựng lại cơ sở dữ liệu
- Tạo tệp văn bản nén trên máy chủ:
ssh username@server "sqlite3 my_remote_database.db .dump | gzip -c > my_remote_database.db.txt.gz"
- Sao chép tệp về máy cục bộ:
rsync --progress username@server:my_remote_database.db.txt.gz my_local_database.db.txt.gz
- Giải nén và dựng lại cơ sở dữ liệu, sau đó xóa tệp cục bộ
Bản dump cơ sở dữ liệu là nguồn sao chép ổn định
- Nếu có cập nhật xảy ra trong lúc sao chép cơ sở dữ liệu,
rsync có thể tạo ra tệp cơ sở dữ liệu không chính xác
- Có thể giải quyết vấn đề này bằng cách tạo bản dump văn bản để cung cấp một nguồn sao chép ổn định
- Phương pháp này giúp tiết kiệm thời gian khi làm việc với cơ sở dữ liệu lớn, đồng thời khiến việc tải xuống nhanh hơn và đáng tin cậy hơn
1 bình luận
Ý kiến trên Hacker News
--rsyncablecủa gzip. Nó làm giảm mức nén đôi chút nhưng khu trú khác biệt để không ảnh hưởng đến toàn bộ đầu ra đã nén