Nunca demasiado rico o delgado: Comprimir Sqlite 80%

Somos grandes fanáticos del uso de SQLite para cualquier cosa de complejidad moderada en la que, de lo contrario, podría usar un archivo. Los beneficios son muchos, pero a veces desea estar seguro sobre el almacenamiento de sus archivos. [Phiresky] tiene una gran respuesta a eso: la extensión sqlite-zstd proporciona una compresión transparente a nivel de fila para SQLite.

Por supuesto, hay otras opciones, pero como se menciona en la publicación, cada una de ellas tiene algunas desventajas. Sin embargo, al comprimir cada fila de la tabla, puede retener el acceso aleatorio sin algunos de los inconvenientes de otros métodos.

Una tabla comprimida tiene una vista sin comprimir y una tabla comprimida debajo. Se carga un diccionario de compresión para cada tabla y se almacena en caché para mejorar el rendimiento. Desde el punto de vista de la aplicación, una vista sin comprimir es solo una tabla normal y no necesitaría ningún cambio de código.

Puede elegir cómo la compresión agrupa los datos que pueden ayudar con el rendimiento. Por ejemplo, en lugar de concatenar un número fijo de filas, podría comprimir grupos de registros en función de las fechas, o incluso tener un solo diccionario fijo, lo que podría ser útil para tablas que nunca cambian.

Hablando de rendimiento, la descompresión ocurre sobre la marcha, pero la compresión y la creación de diccionarios se realizan en segundo plano cuando la base de datos está inactiva. Los puntos de referencia, por supuesto, muestran alguna mejora en el rendimiento, pero este siempre es el caso: cambia la velocidad por espacio. Por otro lado, para el acceso aleatorio, en realidad es más rápido usar tablas comprimidas porque hay menos datos para leer. Sin embargo, las actualizaciones aleatorias fueron más lentas a pesar de que la compresión no estaba ocurriendo en ese momento.

Si desea comenzar a usar SQLite rápidamente, hay un Linux Fu para eso. Incluso puedes usar una versión con un sistema similar a Git, que es otra ventaja sobre los archivos tradicionales.

Leave a Reply

Your email address will not be published. Required fields are marked *

*