Tengo un archivo csv de 215MB que he analizado y almacenado en datos principales envueltos en mis propios objetos personalizados. El problema es que mi archivo core sqlite de datos es de alrededor de 260MB. El archivo csv contiene aproximadamente 4.5 millones de líneas de datos en el sistema de tránsito de mi ciudad (parada de autobús, horarios, rutas, etc.).¿Cómo minimizaría o comprimiría el tamaño del archivo sqlite de Core Data?
He intentado modificar los atributos para que las matrices de cadenas que representan tiempos de detención se almacenen en su lugar como archivos de NSData, pero por alguna razón el tamaño del archivo aún se mantiene en alrededor de 260MB.
No puedo enviar una aplicación de este tamaño. Dudo que alguien quiera descargar una aplicación de 260MB, incluso si eso significa que tienen todo el calendario de tránsito de la ciudad.
¿Hay alguna manera de comprimir o minimizar el espacio de almacenamiento utilizado (incluso si significa no utilizar datos básicos, estoy dispuesto a escuchar sugerencias)?
EDIT: Solo quiero proporcionar una actualización en este momento porque he estado mirando el tamaño del archivo con incredulidad. Con alguna manipulación inteligente que involucra cadenas, indexación y normalización de base de datos en general, he logrado reducir el tamaño a 6.5 MB o 2.6 MB cuando se comprime. Cerca de 105,000 objetos almacenados en Core Data que contienen todos los detalles del sistema de tránsito de la ciudad. Estoy casi llorando en este momento D ':
Acabo de ver tu comentario actualizado sobre tu talla final. Muy impresionante. La compresión 100: 1 de los datos del mundo real debería enorgullecer a cualquiera. –
Muy tarde, pero si echas un vistazo a la aplicación Transit, he hablado con ellos y han logrado bajar 260MB a solo ** 800KB ** – Milo