NoSQL для мобильных приложений? [закрытый]


существует ли какое-либо установленное решение для баз данных noSQL, которое будет использоваться для разработки собственных мобильных приложений (Android и/или iOs)?

9 60

9 ответов:

Я не думаю, что есть создана NoSQL backend для собственных мобильных приложений, но Couchbase Mobile-отличная база данных NoSQL с реализациями как для iOS, так и для Android.

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

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

leveldb это новый ребенок на блоке. Это хранилище ключей/значений, похожее на BigTable, но предназначенное для встроенных устройств. Их лицензия-новый BSD, который намного лучше, чем LGPL в Токийском кабинете.

Это невероятно быстро, и построить прямо в Xcode.

Я не удивлюсь, если есть порт Tokyo Cabinet для мобильных ОС; но серьезно, что NoSQL принесет библиотеку SQLite, уже включенную в каждый?

  • простой семантики. это так же легко сделать ключ / значение в SQL, как и в любой базе данных NoSQL
  • масштабируемость. в multipetabyte-способное устройство не квалифицируется как мобильной платформы.
  • тривиально сегментирования. кластеры телефонов не так популярны и все же
  • небольшой реализации. исходный код tokyo cabinet составляет 4,8 МБ, SQLite-4,7 МБ. никакой реальной выгоды (и она уже есть).

короче говоря, вы можете просто использовать SQLite как "маленький NoSQL", если хотите. это тоже довольно быстро.

Edit:(апрель 2016)

область - это путь в настоящее время.


Если кто-то еще заинтересован, я нашел эти две обертки для TokyoCabinet:

в любом случае, я думаю, что LevelDB лучше.

CouchDB часто рекламируется как БД NoSQL для мобильных приложений из-за его возможностей синхронизации. Также есть бета-версия Мобильный Couchbase.

для android есть это:

https://github.com/rehacktive/waspdb

сейчас это альфа-стадия, но оно может соответствовать вашему запросу.

SnappyDB Кажется, довольно хороший вариант NoSQL для android. Тесты чтения/записи против SQLite довольно удивительны.

iBoxDB - это высокопроизводительная база данных NoSQL с реализациями как для Android, так и для Windows Phone. простота в использовании, нулевая конфигурация, копирование и запуск.
для java android https://github.com/iboxdb/forjava
for.net windows phone https://iboxdb.codeplex.com/

что-то новое, что я написал в Objective-C, является SimpleDB. Это хранилище ключей / значений, которое можно найти здесь:http://github.com/AaronBratcher/SimpleDB

поскольку сохраненные значения должны быть JSON, сортировка может быть выполнена и определенные части данных могут быть возвращены.

Специальные Характеристики

  • очень проста в использовании - не требуется SQL!
  • опция автоматического удаления записей после указанной даты
  • прямой взаимодействие с базой данных требуется для использования класса-он делает все это
  • все методы являются методами уровня класса, поэтому ни один экземпляр класса не требуется
  • потокобезопасным

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;