¿Debo usar un archivo plano o base de datos para almacenar las citas para una aplicación citas al azar en Android?

StackOverflow https://stackoverflow.com/questions/1565869

Pregunta

Estoy desarrollando una aplicación en Android que va a recoger y mostrar una cita inspirada (o verso) de una gran colección de citas al azar. En Android puedo elegir entre una lima plana y una base de datos SQLite.

La aplicación debe satisfacer las condiciones siguientes:

  1. ser escalable a 10 ^ 6 citas y / o versos

  2. Sé muy rápido (es decir, recuperar y mostrar una cita, inmediatamente en el toque de un botón)

  3. Ser capaz de cargar nuevas citas de una fuente externa (en un formato que todavía no he decidido)

¿Qué formato de datos debo utilizar? Gracias.

¿Fue útil?

Solución

Me gustaría ir con una base de datos muy simple, única tabla:

Quotes
ID          sequential integer PK
Quote       text/string

con un posible campo de bits "Visto", que se puede actualizar para evitar duplicados. Generar un valor aleatorio y seleccionar esa fila de la tabla, marcarlo ver y que hacer con ella.

El problema con un archivo plano es encontrar de forma rápida y leer una cita de la mitad del archivo. Esto es lo que hace una base de datos bien. También con un archivo "plano" que tendrá una gran cantidad de espacio desperdiciado al final de las líneas del archivo.

Además, si se puede cargar nuevas cotizaciones, ¿por qué poblar 10 ^ 6 en un momento dado? sólo tiene que cargar suficiente para mantener la aplicación de ir y marchar a través de ellos en un orden secuencial, la supresión de los vistos y cargar nuevos. Este enfoque requeriría que hacer un seguimiento de la última cita de carga, por lo que siempre están cargando otros nuevos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top