4. ¿Qué es Riak?
Una base de datos key-value distribuida
5. ¿Qué es Riak?
Una base de datos key-value distribuida con alta
disponibilidad
6. ¿Qué es Riak?
Una base de datos key-value distribuida con alta
disponibilidad eventualmente consistente
7. ¿Qué es Riak?
Una base de datos key-value distribuida con alta
disponibilidad eventualmente consistente
altamente escalable
8. ¿Qué es Riak?
Una base de datos key-value distribuida con alta
disponibilidad eventualmente consistente
altamente escalable de código abierto
9. ¿Qué es Riak?
Una base de datos key-value distribuida con alta
disponibilidad eventualmente consistente
altamente escalable de código abierto
10. ¿Qué es Riak?
Una base de datos key-value distribuida con alta
disponibilidad eventualmente consistente
altamente escalable de código abierto escrita
principalmente en Erlang.
11. Origen
▪ Automatización de Salesforce
▪ Influenciado por Amazon Dynamo
▪ Mayor interés en almacenamiento
▪ Erlang, C y JavaScript
12. Requerimientos de Hardware y Software
▪ Hardware
▪ Multi-core 64 bit CPU
▪ 4 GB RAM
▪ Discos Duros Rápidos
▪ Velocidad de Red
▪ Sistema Operativo
▪ Red Hat (CentOS / Fedora Core)
▪ Debian (Debian / Ubuntu)
▪ Solaris (Sun Solaris / OpenSolaris)
▪ Software
▪ Erlang (*)
▪ Máquina Virtual
▪ Tamaño
▪ Localización de servidores
23. CAP
N: Número de copias por
cada llave guardada.
R: Número de nodos que
deben hacer una
confirmación para la lectura.
W: Número de nodos que
deben confirmar para hacer
lectura.
27. Arquitectura
■ Control y coordinación
de peticiones (Errores
de redundancia y
lectura).
■ Coordina con los API’s.
■ HTTP REST API
■ Almacén de datos de
los Key - Value.
29. Arquitectura
■ Búsqueda por medio de
extraCción, indexación y
etiquetas.
■ Corre en HTTP (POST,
GET, PUT).
30. Arquitectura
■ Clientes hacen peticiones.
■ Implementaciones: HTTP y BP
(Buffers protocols creado por
Google).
■ Las implementaciones
manejan datos y los
transfieren.
■ Controlan servicios de
interfaces.
■ Manejo de conexiones.
■ Puntos de entrada.
31. Otras características
■ Tolerancia a fallas: Vector clocks
■ Tipos de dato: BLOB
■ Triggers: Pre/Post Commits
■ Peers (No trabaja con Master-Slave)
■ Objeto estándar: Texto
32. Ventajas
■ Escalamiento Sencillo.
■ Buen rendimiento en entornos con aplicaciones de alta
disponibilidad.
■ Tercera viñeta aquí.
■ Muchos API’s.
■ MapReduce en Erlang y JavaScript.
■ Enterprise Editition.
33. Limitaciones
▪ Es de código abierto, una “mancha” en el soporte de
empresas.
▪ No es muy madura.
▪ Limitaciones de Inteligencia de Negocios.*
▪ Falta de experiencia.
▪ Consultas.
▪ No tiene control de usuarios.
34. Referencias
▪ Redmond, E. & Wilson, J. (2014). Seven Databases in Seven Weeks: A guide to Modern Databases and
the NoSQL Movement (1 ed.) Dallas, Texas: Pragmatic Programmers.
▪ Basho (s. f.). From Relational to Riak Recuperado de http://www.ciosummits.
com/media/solution_spotlight/RelationaltoRiak.pdf
▪ Erlang Solutions (s. f.). Riak ? a distributed, decentralised data storage system Recuperado de https:
//www.erlang-solutions.com/sites/default/files/trimedia/Riak.pdf
▪ Erlang Solutions (s. f.). Riak ? a distributed, decentralised data storage system Recuperado de https:
//www.erlang-solutions.com/sites/default/files/trimedia/Riak.pdf
▪ Klophaus, R. (2010). Masterless Distributed Computing with Riak Core Recuperado de http://www.
erlang-factory.com/upload/presentations/294/MasterlessDistributedComputingwithRiakCore-
RKlophaus.pdf
▪ Stelfox, S. & Koss, G. (s. f.). Riak Recuperado de http://stelfox.net/static/20131118-riak-talk-slides.
pdf
35. Referencias
▪ Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Couchbase vs Hypertable vs
ElasticSearch vs Accumulo vs VoltDB vs Scalaris comparison :: Software architect Kristof Kovacs (s. f.).
Recuperado de http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis
▪ Masterless Distributed Computing with RiakCore-RKlophaus (s. f.). Recuperado de http://www.erlang-factory.
com/upload/presentations/294/MasterlessDistributedComputingwithRiakCore-RKlophaus.pdf
▪ Meyer, M. (s. f.). Riak Handbook Recuperado de http://www.johnchukwuma.com/training/Riak%
20Handbook.pdf
▪ Tunable CAP Controls in Riak (s. f.). Recuperado de http://docs.basho.com/riak/1.3.1/tutorials/fast-track/
Tunable-CAP-Controls-in-Riak/