NoSQL para aplicaciones móviles?
¿Existe alguna solución de base de datos noSQL establecida para ser utilizada en el desarrollo de aplicaciones móviles nativas (Android y / o iOs)?
- Desarrollando PhoneGap para Android - Mejor práctica para diferentes tamaños de pantalla / densidad de píxeles
- Convierta HTML5 en una aplicación independiente de Android
- Forzar una actualización en una aplicación móvil híbrida
- Servidor de back-end para aplicaciones móviles
- ¿Necesito un dispositivo Android real para desarrollar una aplicación de Android para el mercado?
- Bluetooth - Dispositivos de clase 1?
- Funcionalidad de las pantallas táctiles y la entrada del usuario
- Campo de entrada HTML: muestra automáticamente el método de entrada numérica
- Android - Crear WebService RESTful - Recibirlo en el móvil
- ¿Cómo puedo encontrar la ventana virtual / ancho de pantalla con Javascript?
- ¿Utiliza simultáneamente wifi y la interfaz 3G en Android?
- Spam de Google Analytics para móviles: la aplicación no se ha lanzado
- ¿Cómo hacer que el número no sea accesible (similar al bloqueador de llamadas)?
No creo que haya un backend NoSQL establecido para aplicaciones móviles nativas, pero Couchbase Mobile es una gran base de datos NoSQL con implementaciones tanto para iOS como para Android.
IOS: http://www.couchbase.com/products-and-services/mobile-couchbase
Android: https://github.com/couchbase/couchbase-lite-android
Leveldb es el nuevo chico en el bloque. Es un almacén de valor clave como BigTable, pero diseñado para dispositivos embebidos. Su licencia es New BSD, que es mucho mejor que la LGPL en el Gabinete de Tokio.
Es increíblemente rápido y construir a la derecha de Xcode.
No me sorprendería si hubiera un puerto de Gabinete de Tokio para sistemas operativos móviles; Pero en serio, lo que NoSQL traer sobre la biblioteca SQLite ya está incluido en cada plataforma?
- Semántica simple. Es tan fácil de hacer clave / valor en SQL que está en cualquier base de datos NoSQL
- Escalabilidad. Un teléfono multipetabyte-capaz no califica como plataforma móvil.
- Fragmento trivial. Los grupos de teléfonos no son tan populares todavía
- Pequeña implementación. Tokyo código fuente del gabinete es de 4,8 MB, SQLite es de 4,7 MB. No hay ganancia real (y ya está allí).
En resumen, sólo puede utilizar SQLite como un "pequeño NoSQL" si lo desea. Es bastante rápido también.
Editar : (Apr 2016)
El reino es el camino a seguir hoy en día.
Si alguien todavía está interesado, he encontrado estas dos envolturas para TokyoCabinet:
- TSDocDB
- BNRPersistencia
De todos modos, creo que LevelDB es mejor.
CouchDB se anuncia con frecuencia como un NoSQL DB para aplicaciones móviles debido a sus capacidades de sincronización. También hay una versión beta de Mobile Couchbase .
Para android hay esto:
https://github.com/rehacktive/waspdb
Es una fase alfa por ahora, pero podría satisfacer su solicitud.
SnappyDB parece bastante buena opción NoSQL para Android. Los puntos de referencia de lectura / escritura contra SQLite son bastante sorprendentes.
IBoxDB es una base de datos NoSQL de alto rendimiento con implementaciones para Android y Windows Phone. Fácil de usar, configuración cero, copiar y ejecutar.
Para java android https://github.com/iboxdb/forjava
For.net windows phone https://iboxdb.codeplex.com/
Algo nuevo que escribí en Objective-C es SimpleDB. Es una tienda clave / valor y se puede encontrar aquí: http://github.com/AaronBratcher/SimpleDB
Debido a que los valores almacenados deben ser JSON, se puede realizar la clasificación y se pueden devolver partes específicas de los datos.
Características especiales
- Muy fácil de usar – NO requiere SQL!
- Opción de eliminación automática de entradas después de la fecha especificada
- No requiere interacción directa con la base de datos para usar la clase – lo hace todo
- Todos los métodos son métodos de nivel de clase, por lo que ninguna instancia de la clase requerida
- A salvo de amenazas
API
+(BOOL) hasKey:(NSString*) key inTable:(NSString*) table; +(NSArray*) keysInTable:(NSString*) table; +(NSArray*) keysInTable:(NSString*) table orderByJSONValueForKey:(NSString*)jsonOrderKey passingTest:(BOOL (^)(NSString* key, NSString* value, NSDate* dateAdded, NSDate* dateModified)); +(NSString*) valueForKey:(NSString*) key inTable:(NSString*) table; +(NSDictionary*) dictionaryValueForKey:(NSString*) key inTable:(NSString*) table; +(id) jsonValueForKey:(NSString*) jsonKey tableKey:(NSString*) key inTable:(NSString*) table; +(void) setValue:(NSString*) value forKey:(NSString*) key inTable:(NSString*) table; +(void) setValue:(NSString*) value forKey:(NSString*) key inTable:(NSString*) table autoDeleteAfter:(NSDate*) date; +(void) deleteForKey:(NSString*) key inTable:(NSString*) table; +(void) dropTable:(NSString*) table; +(dbStatus) status; +(NSString*) guid;
- Android Maps API v2 con marcadores personalizados
- Cómo serializar el valor nulo cuando se utiliza Parcelable interfaz