it-swarm.com.de

NoSQL für mobile Apps?

Gibt es eine etablierte noSQL-Datenbanklösung für die Entwicklung nativer mobiler Anwendungen (Android und/oder iOS)?

62
Jeff

Ich glaube nicht, dass es ein etabliertes NoSQL-Backend für native mobile Apps gibt, aber Couchbase Mobile ist eine großartige NoSQL-Datenbank mit Implementierungen für iOS und Android.

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

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

27
Drew

leveldb ist das neue Kind im Block. Es ist ein Schlüssel-/Wertespeicher ähnlich wie BigTable, jedoch für eingebettete Geräte konzipiert. Ihre Lizenz ist New BSD, was viel besser ist als die LGPL im Tokyo Cabinet.

Es ist unglaublich schnell und basiert auf Xcode.

16
steipete

Es würde mich nicht wundern, wenn es einen Tokyo Cabinet-Port für mobile Betriebssysteme gibt. aber im Ernst, was würde NoSQL über die SQLite-Bibliothek bringen, die bereits in jeder Plattform enthalten ist?

  • einfache Semantik. Es ist genauso einfach, Schlüssel/Werte in SQL zu erstellen wie in jeder NoSQL-Datenbank
  • skalierbarkeit. Ein Multipetabyte-fähiges Telefon ist keine mobile Plattform.
  • triviale Scherben. Cluster von Handys sind noch nicht so beliebt
  • kleine Implementierung. tokyo cabinet source code ist 4.8MB, SQLite ist 4.7MB. kein wirklicher Gewinn (und es ist schon da).

kurz gesagt, Sie können SQLite einfach als 'kleines NoSQL' verwenden, wenn Sie möchten. es ist auch ziemlich schnell.

11
Javier

Bearbeiten :( Apr 2016)

Realm ist heutzutage der richtige Weg.


Wenn noch jemand interessiert ist, habe ich diese beiden Wrapper für TokyoCabinet gefunden:

Jedenfalls finde ich LevelDB besser.

10
Raspu

CouchDB wird wegen seiner Synchronisationsmöglichkeiten häufig als NoSQL-Datenbank für mobile Apps beworben. Es gibt auch eine Beta-Version von Mobile Couchbase .

5
yojimbo87

für Android gibt es das:

https://github.com/rehacktive/waspdb

es ist vorerst eine Alphastufe, aber es könnte zu Ihrer Anfrage passen.

5
aw4y

SnappyDB scheint eine recht gute NoSQL-Option für Android zu sein. Die Lese-/Schreib-Benchmarks gegen SQLite sind ziemlich erstaunlich.

4
tejasbubane

iBoxDB ist eine leistungsstarke NoSQL-Datenbank mit Implementierungen für Android und Windows Phone. Einfach zu bedienen, ohne Konfiguration, Kopieren und Ausführen.
für Java Android https://github.com/iboxdb/forjava
für.net Windows Phone https://iboxdb.codeplex.com/

2
Bruce

Neu in Objective-C ist SimpleDB. Es ist ein Schlüssel-/Wertspeicher und kann hier gefunden werden: http://github.com/AaronBratcher/SimpleDB

Da die gespeicherten Werte JSON sein müssen, kann die Sortierung durchgeführt und bestimmte Teile der Daten zurückgegeben werden.

Besondere Merkmale

  • Sehr einfach zu bedienen - KEIN SQL ERFORDERLICH!
  • Automatische Löschoption für Einträge nach dem angegebenen Datum
  • Es ist keine direkte Datenbankinteraktion erforderlich, um die Klasse zu verwenden - sie erledigt alles
  • Alle Methoden sind Methoden auf Klassenebene, daher ist keine Instanz der Klasse erforderlich
  • Thread sicher

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