Documentos de Académico
Documentos de Profesional
Documentos de Cultura
aplicaciones Android
Ricardo Monagas
Contenido
1. Big Data
2. NoSQL
3. CouchDB
4. CouchDB & Android
5. Casos de Éxito
6. Enlaces de interés
2012
DATA
2.5 Quintillones de Bytes diarios
Fuente: http://www-01.ibm.com/software/data/bigdata/
NoSQL
CouchDB
BigTable
Amazon DynamoDB
CouchDB
Documentos JSON
Javascript para peticiones MapReduce
HTTP para formar un API
1. Base de Datos orientada
en Documentos
{
“_id”: “453453406456456”,
“_rev”: “5345436475658”,
“moneda”: “Bs”,
“productos”: *
{
“nombre”: “Manzana”,
“precio”: 20, …
}, …
],
“fecha”: “2012-08-12T13:15:56.684+0000”,
“cantidad”: 2,
“estado”: “cerrado” …
}
2. Peticiones mediante
Documentos de Diseño
{ "_id": "_design/Compra",
"_rev": "371-b2bdc2ce5dd269017f006595328a66ad",
"language": "javascript",
"views": {
“por_fecha_compra": {
"map": “
function(doc) {
emit([doc.id_usuario,doc.fecha], doc);
}“
}}
}
¿Por qué NoSQL y CouchDB?
Almacenamiento de la
aplicación completa
¿Por qué NoSQL y CouchDB?
Couchbase
Fuente: https://github.com/couchbase/Android-Couchbase
CouchDB & Android
Instalación
Ektorp
Fuente: https://github.com/helun/Ektorp
CouchDB & Android
Inicialización de CouchDB
1. Creación de instancia ICouchbaseDelegate
private final ICouchbaseDelegate mDelegate = new ICouchbaseDelegate() {
@Override
public void couchbaseStarted(String host, int port) {}
@Override
public void exit(String error) {}
};
CouchDB & Android
Inicialización de CouchDB
}
CouchDB & Android
Inicialización de CouchDB
3. Llamada al método startCouchbase
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
startCouchbase();
}
CouchDB & Android
Inicialización de Ektorp
1. Creación del Cliente HTTP
public void couchbaseStarted(String host, int port) {
}
CouchDB & Android
Inicialización de Ektorp
2. Conexión con el servidor de CouchDB
CouchDbInstance dbInstance = new StdCouchDbInstance(httpClient);
db.createDatabaseIfNotExists();
CouchDB & Android
Manejo de la Base de Datos
1. Creación de Documento de Compra
public class Compra extends CouchDbDocument {
super(Compra.class, db);
}
}
CouchDB & Android
Manejo de la Base de Datos
3. Ejemplos de manipulación de BD
Couchbase – http://www.couchbase.com
Ektorp – http://goo.gl/dDKC0
Cloudant – http://www.cloudant.com
Gracias por su atención,
¿Preguntas?
Ricardo Monagas
Director General de Uppersky
Twitter: @rmmonagas
Slideshare: http://goo.gl/GlngJ
Email: ricardo.monagas@uppersky.co