PDA

Ver la Versión Completa : [ CONSULTA ] Android con BD NoSQL


fernandinho_90
26/09/14, 04:19:52
Estimados,

tengo la siguiente consulta. ¿Qué base de datos NoSQL es compatible con Android?. Leí por ahí que CouchDB servía. ¿Alguien me puede decir su experiencia con dicha herramienta o alguna otra?. En lo posible ejemplos, ya que necesito almacenar información en la app.

Muchas Gracias.
Saludos.

kriogeN
26/09/14, 10:03:03
Pregunta, ¿para qué quieres una NoSQL? Creo que se pueden contar con los dedos de una mano los motivos por los que usar una NoSQL en lugar de una SQL, y creo que ninguno de ellos se ajusta al diseño de una app Android, al menos guardados en el propio móvil.

Como mucho mucho mucho si quieres almacenar datos mediante clave/valor, y aún así podrías seguir usando una SQL en el caso de que fuesen datos muy grandes, o las propias SharedPreferences de Android si los datos no son muy grandes.

Lo único que he visto de CouchDB para Android es un framework para facilitarte la conexión a un servidor CouchDB mediante HTTP, nada de almacenarlo en el propio móvil. Por el diseño de CouchDB no tiene sentido tener una CouchDB en el propio móvil.

mocelet
26/09/14, 10:54:04
Supongo que se refiere a Couchbase Lite, que es un almacén de JSON nativo para Android e iOS.

Según su web puede funcionar en modo local, en modo p2p y con sincronización con la nube. También dicen que son la única solución NoSQL con JSON

http://www.couchbase.com/mobile#lite

fernandinho_90
27/09/14, 01:27:16
Claro, necesito almacenar la información que se ingresa a la aplicación y una vez haya conexión a internet enviarlo a un servidor. Y ésta no quiero guardarlas en tablas, por eso quiero ocupar NoSQL.

mocelet
27/09/14, 19:49:17
Si solo lo quieres para almacenar información y luego enviarla a un servidor, como te decía kriogeN no veo la necesidad de añadir una base de datos NoSQL a la app.

Por ejemplo, si trabajas con JSON para almacenar datos, creas el JSON como siempre y lo guardas en un campo de tipo BLOB de sqlite sin problemas. Le añades a la tabla una columna que diga si fue enviado al servidor o no y ya está.

kriogeN
27/09/14, 21:36:55
Si solo lo quieres para almacenar información y luego enviarla a un servidor, como te decía kriogeN no veo la necesidad de añadir una base de datos NoSQL a la app.

Por ejemplo, si trabajas con JSON para almacenar datos, creas el JSON como siempre y lo guardas en un campo de tipo BLOB de sqlite sin problemas. Le añades a la tabla una columna que diga si fue enviado al servidor o no y ya está.

Hay mucha gente que ve en el NoSQL la panacea, y hay casos (muchos) donde es peor solución que el SQL.

El único caso donde claramente gana a SQL sin dudas es en almacenamiento de documentos (como hace CouchDB por ejemplo), pero sólo si luego vas a hacer búsquedas, si simplemente vas a hacer "Todo lo que tengo en la base de datos lo leo, lo envío y lo borro". Ni de coña interesa una NoSQL.

fernandinho_90
28/09/14, 01:45:16
Si solo lo quieres para almacenar información y luego enviarla a un servidor, como te decía kriogeN no veo la necesidad de añadir una base de datos NoSQL a la app.

Por ejemplo, si trabajas con JSON para almacenar datos, creas el JSON como siempre y lo guardas en un campo de tipo BLOB de sqlite sin problemas. Le añades a la tabla una columna que diga si fue enviado al servidor o no y ya está.

Y para usar JSON, ¿qué ocupo?¿Couchbase Lite?

Saludos.

mocelet
28/09/14, 13:30:53
¿A qué te refieres con usar?
Si es tratamiento, creación o manipulación de JSON, necesitas una biblioteca del tipo google gson o cualquier otro parser de json.
Si quieres almacenarlo para enviar más tarde, no deja de ser texto, lo puedes almacenar como quieras. Como fichero, como property si no ocupa mucho, como campo de una tabla, etc.
Si además de almacenar los JSON resulta que son una cantidad inmensa y necesitas imperiosamente hacer búsquedas que de otra forma sería muy ineficiente, entonces sí, usa esa base de datos, ¿pero seguro que lo necesitas?

fernandinho_90
27/10/14, 20:45:49
¿A qué te refieres con usar?
Si es tratamiento, creación o manipulación de JSON, necesitas una biblioteca del tipo google gson o cualquier otro parser de json.
Si quieres almacenarlo para enviar más tarde, no deja de ser texto, lo puedes almacenar como quieras. Como fichero, como property si no ocupa mucho, como campo de una tabla, etc.
Si además de almacenar los JSON resulta que son una cantidad inmensa y necesitas imperiosamente hacer búsquedas que de otra forma sería muy ineficiente, entonces sí, usa esa base de datos, ¿pero seguro que lo necesitas?

Mi aplicación consiste en que se deben guardar muchos datos. Estos datos son parámetros de un extenso formulario. Éstos deben poder ser leídos (buscados), y posteriormente procesados y envíados a un servidor a través de un JSON. ¿Qué me recomiendan?

fernandinho_90
09/11/14, 19:40:17
Supongo que se refiere a Couchbase Lite, que es un almacén de JSON nativo para Android e iOS.

Según su web puede funcionar en modo local, en modo p2p y con sincronización con la nube. También dicen que son la única solución NoSQL con JSON

http://www.couchbase.com/mobile#lite

Hola amigo, sabes en qué parte puedo encontrar la BD que se crea en el dispositivo móvil ? Es para ver si quedan los datos almacenados en formato JSON :cry:

Saludos