Bases de Datos NoSQL - Riak

Andrei Amador
Andrei AmadorAssistant Secretary um FEITEC
Riak Database 
Andrei Amador 
Brandon Carter 
Edwin Fernandez
Agenda 
▪ ¿Qué es Riak? 
▪ Origen 
▪ Requerimientos H/S 
▪ Características 
▪ Particionamiento y 
Replicación 
▪ Escalamiento 
▪ El Anillo “Riak Ring” 
▪ CAP 
▪ Arquitectura 
▪ Tolerancia a Fallas 
▪ Ventajas, Desventajas 
y Limitaciones 
▪ Demostración
¿Qué es Riak? 
Una base de datos key-value
¿Qué es Riak? 
Una base de datos key-value distribuida
¿Qué es Riak? 
Una base de datos key-value distribuida con alta 
disponibilidad
¿Qué es Riak? 
Una base de datos key-value distribuida con alta 
disponibilidad eventualmente consistente
¿Qué es Riak? 
Una base de datos key-value distribuida con alta 
disponibilidad eventualmente consistente 
altamente escalable
¿Qué es Riak? 
Una base de datos key-value distribuida con alta 
disponibilidad eventualmente consistente 
altamente escalable de código abierto
¿Qué es Riak? 
Una base de datos key-value distribuida con alta 
disponibilidad eventualmente consistente 
altamente escalable de código abierto
¿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.
Origen 
▪ Automatización de Salesforce 
▪ Influenciado por Amazon Dynamo 
▪ Mayor interés en almacenamiento 
▪ Erlang, C y JavaScript
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
Instalación de Riak
Instalación de Riak
Particionamiento 
▪ Rango de llaves 
▪ Un nodo caído es 
igual a tiempo de 
inactividad
Replicación 
▪ Default 
▪ Network Overhead
Particionamiento 
& 
Replicación
Escalamiento 
Escalamiento Horizontal 
VNodo 0 VNodo 1 VNodo 2 VNodo 3 VNodo 4 
VNodo 5 VNodo 6 VNodo 7 
Nodo A Nodo B Nodo C Nodo D 
$ riak-admin cluster join riak@nodonuevo.net 
VNodo 0 VNodo 1 VNodo 2 VNodo 3 VNodo 4 VNodo 5 VNodo 6 VNodo 7 
Nodo E 
Nodo A Nodo B Nodo C 
Nodo D
Riak 
Cluster 
2160 0 
Nodo A Nodo B 
Nodo E 
Nodo D Nodo C 
Mapeo por medio de 
Hashing SHA-1 
Ejemplo: favorite 
2160/ 
4 
3*2160/ 
4 
2160/ 
2
Fuente: littleriakbook.com 
Riak 
Ring
Riak 
Ring 
Fuente: littleriakbook.com 
n_val = 5 
ring_creation_size = 64 
SHA-1(favorite) = 
7501 7a36 ec07 fd4c 
377a 0d2a 0114 00ab 
193e 61db 
216/2
Fuente: littleriakbook.com 
Riak 
Ring 
A 
B 
C 
D 
E
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.
Arquitectura 
Fuente: littleriakbook.com
Arquitectura 
■ Se inician todos los 
procesos. 
■ VM 
■ NV 
■ Resource Manager 
■ Process Msgs 
■ Escrita principalmente 
en Erlang.
Arquitectura 
■ Hashing 
■ Inicia/Supervisa NV 
■ Almacenamiento 
■ Interfaces 
■ Manejo de Peticiones
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.
Arquitectura 
■ MapReduce.
Arquitectura 
■ Búsqueda por medio de 
extraCción, indexación y 
etiquetas. 
■ Corre en HTTP (POST, 
GET, PUT).
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.
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
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.
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.
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
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/
Demostración 
Nodo A
Preguntas
1 von 37

Recomendados

Programación MySQL-Ejercicios von
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejerciciostestgrupocomex
51.8K views19 Folien
Herramientas case von
Herramientas caseHerramientas case
Herramientas caseJunior Solano de Arco
4.6K views15 Folien
Couchdb von
CouchdbCouchdb
Couchdbmilagros soto mendoza
1.6K views7 Folien
Scrum vs RUP von
Scrum vs RUPScrum vs RUP
Scrum vs RUPJorge Alberto Lorenzo Losada
18.7K views7 Folien
Ejercicios en clase Unidad II von
Ejercicios en clase Unidad IIEjercicios en clase Unidad II
Ejercicios en clase Unidad IILuis Caiza
20.4K views3 Folien
Cuestionario von
CuestionarioCuestionario
CuestionarioJose Nava
40.8K views11 Folien

Más contenido relacionado

Was ist angesagt?

Diseño de Sistemas von
Diseño de SistemasDiseño de Sistemas
Diseño de SistemasHugo J. L. Romero R.
3K views138 Folien
Perspectiva practica de la administracion de base de datos von
Perspectiva practica de la administracion de base de datosPerspectiva practica de la administracion de base de datos
Perspectiva practica de la administracion de base de datosDiana Vélez
1.9K views19 Folien
Gestión del riesgo de software von
Gestión del riesgo de software Gestión del riesgo de software
Gestión del riesgo de software jose_macias
58.3K views28 Folien
ADMINISTRACIÓN DE LA SEGURIDAD EN SQL SERVER von
ADMINISTRACIÓN DE LA SEGURIDAD EN SQL SERVERADMINISTRACIÓN DE LA SEGURIDAD EN SQL SERVER
ADMINISTRACIÓN DE LA SEGURIDAD EN SQL SERVERINGRID LESLY CORONEL ACUÑA
1.1K views17 Folien
Modelo requisitos UML von
Modelo requisitos UMLModelo requisitos UML
Modelo requisitos UMLramirezjaime
31.6K views21 Folien
Sql Server von
Sql ServerSql Server
Sql ServerJuan Ramirez
8.4K views11 Folien

Was ist angesagt?(20)

Perspectiva practica de la administracion de base de datos von Diana Vélez
Perspectiva practica de la administracion de base de datosPerspectiva practica de la administracion de base de datos
Perspectiva practica de la administracion de base de datos
Diana Vélez1.9K views
Gestión del riesgo de software von jose_macias
Gestión del riesgo de software Gestión del riesgo de software
Gestión del riesgo de software
jose_macias58.3K views
Modelo requisitos UML von ramirezjaime
Modelo requisitos UMLModelo requisitos UML
Modelo requisitos UML
ramirezjaime31.6K views
Mapa conceptual - Institutos Reguladores Calidad de Software von Karloz Dz
Mapa conceptual - Institutos Reguladores Calidad de SoftwareMapa conceptual - Institutos Reguladores Calidad de Software
Mapa conceptual - Institutos Reguladores Calidad de Software
Karloz Dz2.2K views
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales von Sergio Sanchez
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Sergio Sanchez5K views
Instalacion de cassandra von Luis Alvarado
Instalacion de cassandraInstalacion de cassandra
Instalacion de cassandra
Luis Alvarado3.8K views
Procesos de software Unidad 2 - Software Enginnering - Ian sommerville von Matias Gonzalo Acosta
Procesos de software  Unidad 2 - Software Enginnering - Ian sommervilleProcesos de software  Unidad 2 - Software Enginnering - Ian sommerville
Procesos de software Unidad 2 - Software Enginnering - Ian sommerville
Enfoque estructurado enfoque oo von karlanm07
Enfoque estructurado   enfoque ooEnfoque estructurado   enfoque oo
Enfoque estructurado enfoque oo
karlanm071.6K views
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos von Franklin Parrales Bravo
SO Unidad 2: Mecanismos de comunicación y sincronización de procesosSO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
Bitácora de base de datos von Lalo Osorio
Bitácora de base de datosBitácora de base de datos
Bitácora de base de datos
Lalo Osorio36.3K views
Crisis del software von ecasteloc
Crisis del softwareCrisis del software
Crisis del software
ecasteloc5.4K views

Destacado

Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j von
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4jBases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4jDiego López-de-Ipiña González-de-Artaza
94K views85 Folien
Riak and Ruby von
Riak and RubyRiak and Ruby
Riak and Rubygschofield
2.3K views42 Folien
Taller Redis von
Taller RedisTaller Redis
Taller Redisbetabeers
2.7K views62 Folien
Buscador vertical escalable con Hadoop von
Buscador vertical escalable con HadoopBuscador vertical escalable con Hadoop
Buscador vertical escalable con Hadoopdatasalt
2.4K views29 Folien
Tutorial neo4j en español von
Tutorial neo4j en españolTutorial neo4j en español
Tutorial neo4j en españolBanco Central de Reserva
10.2K views137 Folien
HDFS von
HDFSHDFS
HDFSTomás Fernández Pena
2.1K views28 Folien

Destacado(20)

Riak and Ruby von gschofield
Riak and RubyRiak and Ruby
Riak and Ruby
gschofield2.3K views
Taller Redis von betabeers
Taller RedisTaller Redis
Taller Redis
betabeers2.7K views
Buscador vertical escalable con Hadoop von datasalt
Buscador vertical escalable con HadoopBuscador vertical escalable con Hadoop
Buscador vertical escalable con Hadoop
datasalt2.4K views
Adios hadoop, Hola Spark! T3chfest 2015 von dhiguero
Adios hadoop, Hola Spark! T3chfest 2015Adios hadoop, Hola Spark! T3chfest 2015
Adios hadoop, Hola Spark! T3chfest 2015
dhiguero2.6K views
Riak Operations von gschofield
Riak OperationsRiak Operations
Riak Operations
gschofield2.6K views
ANSI SQL von Martha
ANSI SQLANSI SQL
ANSI SQL
Martha19.8K views
Redis: servidor de estructuras de datos von Antonio Ognio
Redis: servidor de estructuras de datosRedis: servidor de estructuras de datos
Redis: servidor de estructuras de datos
Antonio Ognio5.7K views
Stratebi Big Data von Stratebi
Stratebi Big DataStratebi Big Data
Stratebi Big Data
Stratebi1.7K views
Turning big data into big value césar hernandez von AMDIA-Integra
Turning big data into big value   césar hernandezTurning big data into big value   césar hernandez
Turning big data into big value césar hernandez
AMDIA-Integra6.5K views
Comparativa herramientas Business Intelligence von Stratebi
Comparativa herramientas Business IntelligenceComparativa herramientas Business Intelligence
Comparativa herramientas Business Intelligence
Stratebi26.1K views
Big Data, Big Customer Value, Big Results von Mundo Contact
Big Data, Big Customer Value, Big ResultsBig Data, Big Customer Value, Big Results
Big Data, Big Customer Value, Big Results
Mundo Contact6.2K views
Big Data Open Source Analytics (español) von Stratebi
Big Data Open Source Analytics (español)Big Data Open Source Analytics (español)
Big Data Open Source Analytics (español)
Stratebi14.5K views
Introducción a Big Data. HDInsight - Webcast Technet SolidQ von SolidQ
Introducción a Big Data. HDInsight - Webcast Technet SolidQIntroducción a Big Data. HDInsight - Webcast Technet SolidQ
Introducción a Big Data. HDInsight - Webcast Technet SolidQ
SolidQ9.9K views

Similar a Bases de Datos NoSQL - Riak

¿Por que cambiar de Apache Hadoop a Apache Spark? von
¿Por que cambiar de Apache Hadoop a Apache Spark?¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?Socialmetrix
2.7K views49 Folien
Introducción a NoSQL von
Introducción a NoSQLIntroducción a NoSQL
Introducción a NoSQLCycle-IT
4.4K views44 Folien
M04 09 20_v05_plataformas_bd von
M04 09 20_v05_plataformas_bdM04 09 20_v05_plataformas_bd
M04 09 20_v05_plataformas_bdrussellmrr
50 views19 Folien
Polybase von
PolybasePolybase
PolybaseSolidQ
2.7K views34 Folien
NoSQL: Un Cambio de Paradigma - Apache Cassandra von
NoSQL: Un Cambio de Paradigma - Apache CassandraNoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache CassandraWladimir Cabarcas
844 views78 Folien
LaCoctelera.com y The Shaker - Conferencia Rails Hispana 2006 von
LaCoctelera.com y The Shaker - Conferencia Rails Hispana 2006LaCoctelera.com y The Shaker - Conferencia Rails Hispana 2006
LaCoctelera.com y The Shaker - Conferencia Rails Hispana 2006Álvaro Ortiz
1K views22 Folien

Similar a Bases de Datos NoSQL - Riak (20)

¿Por que cambiar de Apache Hadoop a Apache Spark? von Socialmetrix
¿Por que cambiar de Apache Hadoop a Apache Spark?¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?
Socialmetrix2.7K views
Introducción a NoSQL von Cycle-IT
Introducción a NoSQLIntroducción a NoSQL
Introducción a NoSQL
Cycle-IT4.4K views
M04 09 20_v05_plataformas_bd von russellmrr
M04 09 20_v05_plataformas_bdM04 09 20_v05_plataformas_bd
M04 09 20_v05_plataformas_bd
russellmrr50 views
Polybase von SolidQ
PolybasePolybase
Polybase
SolidQ2.7K views
NoSQL: Un Cambio de Paradigma - Apache Cassandra von Wladimir Cabarcas
NoSQL: Un Cambio de Paradigma - Apache CassandraNoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache Cassandra
Wladimir Cabarcas844 views
LaCoctelera.com y The Shaker - Conferencia Rails Hispana 2006 von Álvaro Ortiz
LaCoctelera.com y The Shaker - Conferencia Rails Hispana 2006LaCoctelera.com y The Shaker - Conferencia Rails Hispana 2006
LaCoctelera.com y The Shaker - Conferencia Rails Hispana 2006
Álvaro Ortiz1K views
Big data y las apis von CloudAppi
Big data y  las apis Big data y  las apis
Big data y las apis
CloudAppi1K views
Pon tus aplicaciones a 100 con redis von Daniel Mazzini
Pon tus aplicaciones a 100 con redisPon tus aplicaciones a 100 con redis
Pon tus aplicaciones a 100 con redis
Daniel Mazzini652 views
SOA Latam Workshop: Comparison Dropwizard, ratpack & Spring Boot von Domingo Suarez Torres
SOA Latam Workshop: Comparison Dropwizard, ratpack & Spring BootSOA Latam Workshop: Comparison Dropwizard, ratpack & Spring Boot
SOA Latam Workshop: Comparison Dropwizard, ratpack & Spring Boot
SDN (Software Define Networking) - The evolution of the Network von Logicalis Latam
SDN (Software Define Networking) - The evolution of the NetworkSDN (Software Define Networking) - The evolution of the Network
SDN (Software Define Networking) - The evolution of the Network
Logicalis Latam4.9K views
Introducción a Apache Spark von Socialmetrix
Introducción a Apache SparkIntroducción a Apache Spark
Introducción a Apache Spark
Socialmetrix882 views
2016 ULL Cabildo KEEDIO - KEEDIO DATA STACK von KEEDIO
2016 ULL Cabildo KEEDIO - KEEDIO DATA STACK2016 ULL Cabildo KEEDIO - KEEDIO DATA STACK
2016 ULL Cabildo KEEDIO - KEEDIO DATA STACK
KEEDIO300 views
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas... von Joseph Lopez
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Joseph Lopez846 views

Último

Tecnologías para la enseñanza virtual.pptx von
Tecnologías para la enseñanza virtual.pptxTecnologías para la enseñanza virtual.pptx
Tecnologías para la enseñanza virtual.pptxexprosaavedra
15 views7 Folien
Fundamentos de Electricidad y Electronica 9-3 (1).docx von
Fundamentos de Electricidad y Electronica 9-3 (1).docxFundamentos de Electricidad y Electronica 9-3 (1).docx
Fundamentos de Electricidad y Electronica 9-3 (1).docxSamuel709479
7 views26 Folien
actividadanlisisdeartefactos1-230424222159-fef7d8f3 (1).docx von
actividadanlisisdeartefactos1-230424222159-fef7d8f3 (1).docxactividadanlisisdeartefactos1-230424222159-fef7d8f3 (1).docx
actividadanlisisdeartefactos1-230424222159-fef7d8f3 (1).docxMaraJos722801
5 views6 Folien
fundamentos de electricidad electronica von
fundamentos de electricidad electronicafundamentos de electricidad electronica
fundamentos de electricidad electronicaKevin619029
5 views16 Folien
proyecto lavadora.docx von
proyecto lavadora.docxproyecto lavadora.docx
proyecto lavadora.docxpaulavallejo21
11 views2 Folien
EM.020 INSTALACIONES DE COMUNICACIONES.pdf von
EM.020 INSTALACIONES DE COMUNICACIONES.pdfEM.020 INSTALACIONES DE COMUNICACIONES.pdf
EM.020 INSTALACIONES DE COMUNICACIONES.pdfgilberenriquedavila
7 views4 Folien

Último(20)

Tecnologías para la enseñanza virtual.pptx von exprosaavedra
Tecnologías para la enseñanza virtual.pptxTecnologías para la enseñanza virtual.pptx
Tecnologías para la enseñanza virtual.pptx
exprosaavedra15 views
Fundamentos de Electricidad y Electronica 9-3 (1).docx von Samuel709479
Fundamentos de Electricidad y Electronica 9-3 (1).docxFundamentos de Electricidad y Electronica 9-3 (1).docx
Fundamentos de Electricidad y Electronica 9-3 (1).docx
Samuel7094797 views
actividadanlisisdeartefactos1-230424222159-fef7d8f3 (1).docx von MaraJos722801
actividadanlisisdeartefactos1-230424222159-fef7d8f3 (1).docxactividadanlisisdeartefactos1-230424222159-fef7d8f3 (1).docx
actividadanlisisdeartefactos1-230424222159-fef7d8f3 (1).docx
MaraJos7228015 views
fundamentos de electricidad electronica von Kevin619029
fundamentos de electricidad electronicafundamentos de electricidad electronica
fundamentos de electricidad electronica
Kevin6190295 views
Los principios de la Antropometria y Ergonomia.pdf von BenisBorges
Los principios de la Antropometria y Ergonomia.pdfLos principios de la Antropometria y Ergonomia.pdf
Los principios de la Antropometria y Ergonomia.pdf
BenisBorges6 views
Examen Configuracion III.pptx von gatb1825
Examen Configuracion III.pptxExamen Configuracion III.pptx
Examen Configuracion III.pptx
gatb18257 views
Fundamentos de electricidad y electrónica.docx von DilanTabares
Fundamentos de electricidad y electrónica.docxFundamentos de electricidad y electrónica.docx
Fundamentos de electricidad y electrónica.docx
DilanTabares5 views
cuadros comparativos intranet/ EXTRANET, datos/información, navegador/ buscador von lopezyetsiree
cuadros comparativos intranet/ EXTRANET, datos/información, navegador/ buscadorcuadros comparativos intranet/ EXTRANET, datos/información, navegador/ buscador
cuadros comparativos intranet/ EXTRANET, datos/información, navegador/ buscador
lopezyetsiree12 views
MVelazco_Internet, Origenes y Evolucion.pptx von al223915
MVelazco_Internet, Origenes  y Evolucion.pptxMVelazco_Internet, Origenes  y Evolucion.pptx
MVelazco_Internet, Origenes y Evolucion.pptx
al2239156 views
Tecnologías para la enseñanza virtual_cdc.pptx von CarmenerdelHuasco
Tecnologías para la enseñanza virtual_cdc.pptxTecnologías para la enseñanza virtual_cdc.pptx
Tecnologías para la enseñanza virtual_cdc.pptx
CÓMO PUBLICAR UNA PRESENTACIÓN GRÁFICA EN INTERNET.pptx von dreadlockp5
CÓMO PUBLICAR UNA PRESENTACIÓN GRÁFICA EN INTERNET.pptxCÓMO PUBLICAR UNA PRESENTACIÓN GRÁFICA EN INTERNET.pptx
CÓMO PUBLICAR UNA PRESENTACIÓN GRÁFICA EN INTERNET.pptx
dreadlockp58 views
DELITOS INFORMATICOS EFRAIN CAMACHO 27462611 INFORMATICA III.pptx von davidsalazar63484
DELITOS INFORMATICOS EFRAIN CAMACHO 27462611 INFORMATICA III.pptxDELITOS INFORMATICOS EFRAIN CAMACHO 27462611 INFORMATICA III.pptx
DELITOS INFORMATICOS EFRAIN CAMACHO 27462611 INFORMATICA III.pptx
Cuadros comparativos Herramientas tecnologicas III.pdf von DarlingGalan1
Cuadros comparativos Herramientas tecnologicas III.pdfCuadros comparativos Herramientas tecnologicas III.pdf
Cuadros comparativos Herramientas tecnologicas III.pdf
DarlingGalan17 views
Tecnologías para la enseñanza virtual von mpachecocodem
Tecnologías para la enseñanza virtual Tecnologías para la enseñanza virtual
Tecnologías para la enseñanza virtual
mpachecocodem9 views

Bases de Datos NoSQL - Riak

  • 1. Riak Database Andrei Amador Brandon Carter Edwin Fernandez
  • 2. Agenda ▪ ¿Qué es Riak? ▪ Origen ▪ Requerimientos H/S ▪ Características ▪ Particionamiento y Replicación ▪ Escalamiento ▪ El Anillo “Riak Ring” ▪ CAP ▪ Arquitectura ▪ Tolerancia a Fallas ▪ Ventajas, Desventajas y Limitaciones ▪ Demostración
  • 3. ¿Qué es Riak? Una base de datos key-value
  • 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
  • 15. Particionamiento ▪ Rango de llaves ▪ Un nodo caído es igual a tiempo de inactividad
  • 16. Replicación ▪ Default ▪ Network Overhead
  • 18. Escalamiento Escalamiento Horizontal VNodo 0 VNodo 1 VNodo 2 VNodo 3 VNodo 4 VNodo 5 VNodo 6 VNodo 7 Nodo A Nodo B Nodo C Nodo D $ riak-admin cluster join riak@nodonuevo.net VNodo 0 VNodo 1 VNodo 2 VNodo 3 VNodo 4 VNodo 5 VNodo 6 VNodo 7 Nodo E Nodo A Nodo B Nodo C Nodo D
  • 19. Riak Cluster 2160 0 Nodo A Nodo B Nodo E Nodo D Nodo C Mapeo por medio de Hashing SHA-1 Ejemplo: favorite 2160/ 4 3*2160/ 4 2160/ 2
  • 21. Riak Ring Fuente: littleriakbook.com n_val = 5 ring_creation_size = 64 SHA-1(favorite) = 7501 7a36 ec07 fd4c 377a 0d2a 0114 00ab 193e 61db 216/2
  • 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.
  • 25. Arquitectura ■ Se inician todos los procesos. ■ VM ■ NV ■ Resource Manager ■ Process Msgs ■ Escrita principalmente en Erlang.
  • 26. Arquitectura ■ Hashing ■ Inicia/Supervisa NV ■ Almacenamiento ■ Interfaces ■ Manejo de Peticiones
  • 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/