Esto puede ser muy específico dependiendo de qué va a hacer con XML / sqlite. Para su caso (juego), me parece que usar XML tiene más sentido.
Primero, realmente no creo que sqlite necesite más sobrecarga que XML. Y me refiero tanto a la sobrecarga del tiempo de desarrollo como a la sobrecarga del tiempo de ejecución. El único problema es que depende de la biblioteca sqlite. Pero dado que necesitaría alguna biblioteca para XML de todos modos, no importa (supongo que el proyecto está en C / C ++).
Ventajas de SQLite sobre XML:
- ¿Cuáles son las buenas aplicaciones de Play Store para intercambiar noticias y recomendaciones?
- ¿Cómo detengo las descargas pendientes en Google Play Store?
- ¿Qué aplicación o función de Android te gustaría abordar en un artículo destinado a sorprender y convertir a un usuario de iPhone?
- ¿Puedo averiguar quién me dio una calificación de uno en Android Play Store?
- Cómo hacer que una aplicación de conversión de moneda sea mejor que otras aplicaciones de conversión de moneda de Google Play
– todo en un archivo;
– la pérdida de rendimiento es menor que XML a medida que el caché se hace más grande;
– puede mantener los metadatos del feed separados del caché (otra tabla), pero accesibles de la misma manera;
– SQL es probablemente más fácil de trabajar que XPath para la mayoría de las personas;
Desventajas de SQLite:
– puede ser problemático con múltiples procesos que acceden a la misma base de datos (probablemente no sea su caso),
– debe saber al menos SQL básico. A menos que haya cientos de miles de elementos en la memoria caché, no creo que deba optimizarlo demasiado,
– tal vez de alguna manera puede ser más peligroso desde el punto de vista de la seguridad (inyección SQL). Por otro lado, no está codificando una aplicación web, por lo que esto no debería suceder.
Otras cosas están a la par para ambas soluciones probablemente.
1. No lo sabrá, a menos que pruebe su aplicación específica con ambos backends. De lo contrario, siempre es solo una suposición. El soporte básico para ambas cachés no debería ser un problema para codificar. Luego, compara y compara.
2. Debido a la forma en que se organizan los archivos XML, las búsquedas en sqlite siempre deberían ser más rápidas (salvo algunos casos de esquina donde no importa de todos modos porque es increíblemente rápido). Acelerar las búsquedas en XML requeriría una base de datos de índice de todos modos, en su caso eso significaría tener caché para caché, no es una idea particularmente buena. Pero con sqlite puede tener indexación como parte de la base de datos.