android sqlite journal

¿Qué es la base de datos SQLite “periodística” en Android?



journal (1)

Dichos archivos -journal no necesitan (y no deben) ser distribuidos.

Esto se debe a que los diversos archivos de diario representan datos temporales (ref. Uso de archivos temporales de disco de SQLite) utilizados por SQLite. En particular, un archivo -journal es un diario de reversión .

Un diario de reversión es un archivo temporal que se utiliza para implementar las capacidades de confirmación atómica y retrotracción en SQLite. (Para una discusión detallada de cómo funciona esto, consulte el documento separado titulado Atomic Commit In SQLite). El diario de reversión siempre se encuentra en el mismo directorio que el archivo de base de datos y tiene el mismo nombre que el archivo de base de datos, excepto con los 8 caracteres " -journal "anexado.

El diario de reversión generalmente se crea cuando una transacción se inicia por primera vez y generalmente se elimina cuando una transacción se confirma o se revierte. El archivo de diario de reversión es esencial para implementar las capacidades de confirmación atómica y retrotracción de SQLite. Sin un diario de reversión, SQLite no podría deshacer una transacción incompleta, y si se produjera un fallo o pérdida de energía en medio de una transacción, la base de datos completa probablemente se corrompería sin un diario de reversión.

En general, estos archivos -journal solo deben existir cuando hay una base de datos SQLite abierta, o más bien, una transacción en ejecución, pero se pueden controlar a través de journal_mode de PRAGMA . Con la configuración pragma predeterminada, se eliminarán los archivos -journal .

El modo de diario DELETE es el comportamiento normal. En el modo BORRAR, el diario de reversión se elimina al final de cada transacción. De hecho, la operación de eliminación es la acción que hace que la transacción se comprometa.

Asegúrese de copiar solo los archivos de base de datos reales cuando la base de datos no esté abierta y todas las revistas hayan sido eliminadas (o borradas) por el propio SQLite; esto implica que todas las transacciones se han completado y la base de datos se encuentra en un estado consistente.

En el directorio de la base de datos de mi aplicación andoid (/data/data/com.me.myApp/databases), para cada base de datos sqlite que creo hay una base de datos correspondiente del mismo nombre con "-journal" anexada a su nombre.

por ejemplo: myDatabase, myDatabase-journal, myOtherDatabase.db, myOtherDatabase.db-journal

¿Que es esto?

y,

Si estoy proporcionando bases de datos precargadas para mi aplicación (según: http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/ ), ¿debo incluir ¿Estos también?