¿Cuál es la diferencia entre Preferencias compartidas (Android) y NoSQL? ¿Por qué elegiría NoSQL para el almacenamiento XML simple?

Estoy almacenando datos simples y mi jefe está interesado en usar una base de datos de pares clave-valor para hacerlo. El desarrollador que me precedió eligió SnappyDB, que es una base de datos NoSQL similar a Mongo, Couch y Redis.

SnappyDB: https://github.com/nhachicha/SnappyDB

¿Por qué no puedo simplemente usar Preferencias compartidas? Esta es también una base de datos de pares clave/valor, ¿no es así?

¿Por qué elegiría otra cosa que no sean Preferencias compartidas para el almacenamiento simple de clave/valor? ¿Por qué alguna vez usaría una base de datos NoSQL externa?

Nota: Estoy guardando cadenas XML que representan a cada empleado de una empresa. Puede haber muchos empleados que pertenecen a una sola empresa. Por lo que entiendo, no hay límite para el tamaño de las preferencias compartidas de Android, más allá de la cantidad de espacio disponible en el almacenamiento, por lo que incluso si la lista de empleados crece hasta los 1000, eso no debería ser un problema, ¿verdad?

Respuestas (1)

¿Por qué no puedo simplemente usar Preferencias compartidas? Esta es también una base de datos de pares clave/valor, ¿no es así?

¿Porque eso no es para lo que está destinado? Consulte https://www.journaldev.com/9412/android-shared-preferences-example-tutorial para obtener un tutorial decente sobre su uso. Es una base de datos, pero específicamente diseñada para almacenar preferencias de aplicaciones .

Parece que necesita una solución más general. Probablemente usaría SQLite, pero si su jefe quiere una solución NoSQL, SnppyDB parece adecuado. ¿ Por qué no usarlo?

Snappy DB es más lento que Shared Preferences para las operaciones de lectura/escritura (aunque sigue siendo ligero). Snappy DB también podría no existir por mucho tiempo (el desarrollador no lo ha tocado en mucho tiempo), mientras que Shared Preferences casi siempre será compatible. Estoy de acuerdo en que SQL sería el mejor enfoque, pero mi jefe quiere que la recuperación de datos sea lo más rápida posible y ágil es más rápido. Shared Preferences es incluso más rápido que eso, y no parece haber nada que me impida usarlo. Hará el trabajo, ¿no?
¿Qué dispositivo tienes y qué califica como "más lento"? ¿Cuál es la diferencia visible que ve entre Shared Preferences y Snappy DB?