NoSQL для мобильных приложений? [закрытый]
существует ли какое-либо установленное решение для баз данных noSQL, которое будет использоваться для разработки собственных мобильных приложений (Android и/или iOs)?
9 ответов:
Я не думаю, что есть создана NoSQL backend для собственных мобильных приложений, но Couchbase Mobile-отличная база данных NoSQL с реализациями как для iOS, так и для Android.
iOS:http://www.couchbase.com/products-and-services/mobile-couchbase
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;