- Explica una forma más rápida de copiar una base de datos SQLite entre computadoras
- Los índices de la base de datos son la causa principal de que la copia sea lenta
- Puedes volcar la base de datos a un archivo de texto usando el comando
.dump de SQLite
- El archivo de texto es más pequeño que la base de datos original, y al comprimirlo se reduce aún más
- Este método permite copiar bases de datos grandes de forma más rápida y confiable
Cómo copiar una base de datos SQLite entre computadoras más rápido
- Explica cómo copiar una base de datos SQLite almacenada en un servidor remoto a una computadora local
- En proyectos iniciales, se puede copiar fácilmente usando el comando
rsync
- A medida que la base de datos crece, la velocidad de copia disminuye y la confiabilidad empeora
Crear un volcado de la base de datos como archivo de texto
- SQLite permite volcar una base de datos a un archivo de texto usando el comando
.dump
- Este archivo de texto está compuesto por sentencias SQL y puede ser más pequeño que la base de datos original
- Los índices se reducen a una sola línea en el archivo de texto, lo que puede ahorrar espacio de almacenamiento
Ahorrar espacio con compresión
- El archivo de texto se hace aún más pequeño al comprimirlo
- Por ejemplo, si la base de datos SQLite original mide 3.4GB, el archivo de texto comprimido con gzip se reduce a 240MB
- Descargar el archivo de texto comprimido hace que copiar la base de datos sea mucho más rápido
Nuevo comando ssh+rsync
- En el servidor, se genera un archivo de texto comprimido con gzip, se copia a la computadora local y luego se reconstruye la base de datos
- Crear el archivo de texto comprimido en el servidor:
ssh username@server "sqlite3 my_remote_database.db .dump | gzip -c > my_remote_database.db.txt.gz"
- Copiar el archivo a la computadora local:
rsync --progress username@server:my_remote_database.db.txt.gz my_local_database.db.txt.gz
- Descomprimir y reconstruir la base de datos, luego eliminar el archivo local
El volcado de la base de datos es una fuente de copia confiable
- Si ocurren actualizaciones mientras se copia la base de datos,
rsync puede generar un archivo de base de datos incorrecto
- Crear un volcado de texto resuelve este problema al proporcionar una fuente de copia estable
- Este método ahorra tiempo al trabajar con bases de datos grandes y hace que las descargas sean más rápidas y confiables
1 comentarios
Comentarios de Hacker News
VACUUM INTOpara guardar la base de datos sqlite--rsyncablede gzip. Reduce un poco la compresión, pero localiza las diferencias para que no afecten toda la salida comprimida