NoSQL para aplicações móveis? [fechado]
Existe alguma solução de base de dados NoSQL estabelecida para ser usada no desenvolvimento de aplicações móveis nativas (Android e/ou iOs)?
9 answers
Eu não acho que haja uma infra-estruturaestabelecida para aplicações móveis nativas, mas a Couchbase Mobile é uma grande base de dados NoSQL com implementações para iOS e Android.
IOS: http://www.couchbase.com/products-and-services/mobile-couchbase
Android: https://github.com/couchbase/couchbase-lite-android
- semântica simples. é tão fácil fazer a chave / valor em SQL como em qualquer banco de dados NoSQL Escalabilidade. um telefone multipetabyte não se qualifica como uma plataforma móvel. Trivial sharding. grupos de telefones ainda não são tão populares.
- pequena implementação. Japao cabinet source code is 4.8 MB, SQLite is 4.7 MB. nenhum ganho real (e já está lá).
Em resumo, pode usar o SQLite como um 'pequeno NoSQL' se quiser. também é muito rápido.
Editar : (Abr 2016)
Domínio é o caminho a seguir hoje em dia.
Se alguém ainda estiver interessado, encontrei estas duas embalagens para TokyoCabinet:
De qualquer forma, acho que o LevelDB é melhor.CouchDB é frequentemente anunciado como um DB NoSQL para aplicações móveis devido às suas capacidades de sincronização. Também há uma versão beta de Mobile Couchbase .
Https://github.com/rehacktive/waspdb
é um estágio Alfa por agora, mas pode encaixar no seu pedido.
SnappyDB parece ser uma boa opção NoSQL para android. As referências de leitura / escrita contra o SQLite são incríveis.
para java android https://github.com/iboxdb/forjava
for.net windows phone https://iboxdb.codeplex.com/
Como os valores armazenados devem ser JSON, a ordenação pode ser realizada e partes específicas dos dados podem ser devolvidas.
Características Especiais
- Muito fácil de usar - sem necessidade de SQL!
- opção de apagar automaticamente os itens após a data indicada
- não é necessária qualquer interacção directa com a base de dados a classe-faz tudo
- Todos os métodos são métodos de nível de classe, por isso nenhuma instância da classe requerida
- Segurança Do Fio
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;