risposta-alla-domanda-sullo-sviluppo-web-bd.com

NoSQL per app mobili?

Esiste una soluzione di database noSQL consolidata da utilizzare per lo sviluppo di applicazioni mobili native (Android e/o iO)?

62
Jeff

Non credo che esista un back-end NoSQL per le app mobili native, ma Couchbase Mobile è un ottimo database NoSQL con implementazioni sia per iOS che per Android.

iOS: http://www.couchbase.com/products-and-services/mobile-couchbase

Android: https://github.com/couchbase/couchbase-lite-Android

27
Drew

leveldb è il nuovo bambino nel blocco. È un archivio chiave/valore molto simile a BigTable, ma progettato per dispositivi integrati. La loro licenza è New BSD, che è molto meglio della LGPL nel Tokyo Cabinet.

È incredibilmente veloce e costruito proprio da Xcode.

16
steipete

Non sarei sorpreso se ci fosse una porta Tokyo Cabinet per sistemi operativi mobili; ma seriamente, cosa porterebbe NoSQL alla libreria SQLite già inclusa nella piattaforma every?

  • semantica semplice. è altrettanto facile eseguire chiave/valore in SQL come su qualsiasi database NoSQL
  • scalabilità. un telefono con capacità multietabyte non si qualifica come piattaforma mobile.
  • banale sharding. i gruppi di telefoni non sono ancora così popolari
  • piccola implementazione. il codice sorgente di tokyo cabinet è 4.8 MB, SQLite è 4.7 MB. nessun guadagno reale (ed è già lì).

in breve, puoi semplicemente usare SQLite come un 'piccolo NoSQL' se vuoi. è anche abbastanza veloce.

11
Javier

Modifica :( aprile 2016)

Realm è la strada da percorrere al giorno d'oggi.


Se qualcuno è ancora interessato, ho trovato questi due wrapper per TokyoCabinet:

Comunque, penso che LevelDB sia migliore.

10
Raspu

CouchDB è spesso pubblicizzato come DB NoSQL per app mobili a causa delle sue capacità di sincronizzazione. Inoltre è disponibile una versione beta di Mobile Couchbase .

5
yojimbo87

per Android c'è questo:

https://github.com/rehacktive/waspdb

è uno stadio alfa per ora, ma potrebbe soddisfare la tua richiesta.

5
aw4y

SnappyDB sembra un'opzione NoSQL abbastanza buona per Android. I benchmark di lettura/scrittura su SQLite sono piuttosto sorprendenti.

4
tejasbubane

iBoxDB è un database NoSQL ad alte prestazioni con implementazioni sia per Android e Windows Phone. facile da usare, zero configurazione, copia ed esecuzione.
per Java Android https://github.com/iboxdb/forjava
for.net windows phone https://iboxdb.codeplex.com/

2
Bruce

Qualcosa di nuovo che ho scritto in Objective-C è SimpleDB. È un archivio chiave/valore e può essere trovato qui: http://github.com/AaronBratcher/SimpleDB

Poiché i valori memorizzati devono essere JSON, è possibile eseguire l'ordinamento e restituire parti specifiche dei dati.

Caratteristiche speciali

  • Molto facile da usare - NESSUN SQL RICHIESTO!
  • Opzione di eliminazione automatica per le voci dopo la data specificata
  • Non è necessaria alcuna interazione diretta con il database per utilizzare la classe: fa tutto
  • Tutti i metodi sono metodi a livello di classe, quindi non è richiesta alcuna istanza della classe
  • Discussione sicura

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;
0
Aaron Bratcher