CASSANDRA y CQL3.1 JUSTINO RAMÍREZ ORTEGÓN

Slides:



Advertisements
Presentaciones similares
MySQL M.C. Pedro Bello López.
Advertisements

Taller cassandra Juan Felipe García Moreno / Diego Alejandro Montoya Cruz.
SQL Lenguaje Estructurado de Consulta MATERIA: diseñar sistemas de información ALUMNO: sarmiento flores Liliana Guadalupe GRUPO: 4° “A” TURNO: matutino.
(Lenguaje de consulta estructurado)
Proyecto ROOTVE V2: Control de versiones con Subversion Grupo de Investigación y Desarrollo en Seguridad de la Información - GIDSI.
Curso de Aptitud Pedagógica 2006/2007 OpenOffice Base Introducción a las Bases de Datos.
Curso PHP y MySQL Germán Galeano y Juan Bachiller Del 6 de Febrero al 12 de Marzo de 2012.
Ofelia Cervantes Redes Dinámicas 1. Ofelia Cervantes Redes dinámicas en Gephi REDES DINÁMICAS: se van construyendo y visualizando en tiempo real Pasos.
 Se refiere al almacenamiento físico en el se describe cómo se almacenan realmente los datos en memorias secundarias, en qué archivos, su nombre y dirección.
Índices Ing. Catherine Naranjo D.. Introducción Los índices son objetos de base de datos diseñados para mejorar el rendimiento de las consultas. En este.
Sponsors Agradecimiento especial Mejores prácticas de SQL Server para SharePoint On Premise Alberto De Rossi MCP / MCT SQL Server.
Administración de Sistemas Gestores de Bases de Datos.
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
MICROSOFT ACCESS. Definición de una Base de Datos: un programa que permite gestionar y organizar una serie de datos. Por ejemplo, para la gestión de los.
Configuración de un servidor web 1. Una vez terminado el proceso de instalación de los paquetes a utilizarse vamos a empezar ingresando como administrador.
Sistema de Información Gerencial - ERP(Planificación de recursos empresariales) Rolando Espinosa Annie Williams Joel Nieto
BASE DE DATOS EN LA WEB POR- OSIRYS MARCIAGA JESUS NIETO.
Conceptos generales de base de datos
BASE DE DATOS.
Estado del arte y Gestión de la Información
Base de Datos Conjunto de información, la cual ha sido organizada y presentada para servir un propósito específico.
Instituto Profesional Virginio Gómez
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO
SEGURIDAD SQL Usuarios, privilegios y perfiles.
¿Qué es una consulta? En bases de datos, una consulta es el método para acceder a los datos en las bases de datos. Con las consultas se puede modificar,
SQL Prof. Martín Contreras.
Protocolo de comunicación
Arquitectura de una Base de Datos
U.T. 11: Introducción A Las Bases De Datos
BASES DE DATOS.
PARCIAL III BASE DE DATOS.
SQL: structured Query Language
Listas enlazadas particulares
Prof. Daniel Obando Fuentes
Formación SICdrive Componentes de SICdrive El Backend El Frontend.
Unidad 7: Nivel Interno Algunos Conceptos Importantes
BASE DE DATOS BD CONJUNTO DE INFORMACIÓN ALMACENADA EN FORMA ORGANIZADA EN UNA COMPUTADORA conjunto de datos pertenecientes a un mismo contexto y almacenados.
Transferencias de Zona
Listas Dinámicas.
Clasificación de las redes de computadoras
Metodología de la programación
CONSULTA DE BASES DE DATOS
Conceptos Relacionados Unidad I. Parte A.
Structure Query Languaje
L.I. Manuel Antonio Cebreros Zazueta
Tipos de Relaciones de Red
Rivas Hernández Elsa Mariana Suarez Rosas Eduardo.
Noviembre18, 2017 Concepción, Chile #sqlsatconce.
INSTALACIÓN DE WINDOWS 7
Investigación de mercados
Customización en ADempiere
Sugiero cambios a lo de Amarillo / lo de azul no tiene expositor aun 1 concepto de transaccion (Tejada) 2. Fundamentos d elos procesos de Transaccion.
Sistema de referencia de documentos
Unidad V :- Integridad de datos.
LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
Universidad Alonso de Ojeda Facultad de Ingeniería
helppeople Single Sign -On
MODELADO DE DATOS Tema 2: Normalizar un diseño de bases de datos.
METODOS DE ORDENAMIENTO CHRISTIAN MICHAEL OBANDO GARCES JOAO ADRIAN BARIONUEVO.
ALGORITMOS DE ELECCION
CRUD.
Construcción de elementos de Software 4 MSc. Oscar Mauricio Salazar Ospina MSc Juan Camilo Jaramillo Alzate 15/05/2019Programación distribuida y paralela1.
ALGEBRA RELACIONAL UNIDAD 3 ALGEBRA RELACIONAL. INTRODUCCIÓN Se forma a partir de la matemática formal Creada por Edgar Frank Codd en 1972 Concede comportamineto.
Informacion estadistica Para cada tabla ●Cardinalidad (n° de filas) ●Factor de bloques (n° de filas que caben en un bloque) ●N° de bloques ocupados ●Método.
MICROSOFT ACCESS. Definición de una Base de Datos: un programa que permite gestionar y organizar una serie de datos. Por ejemplo, para la gestión de los.
2. PRINCIPIOS BASICOS DE MICROSOFT ACCESS. -Sistema que tiene la capacidad de realizar tareas de distinta índole utilizando herramientas que interactúan.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
Conjunto de programas contenidos en un núcleo o kernel que efectúan la gestión de los procesos básicos de un Sistema informático, y permite la normal.
Base de datos años  En la década de los años 80’, se desarrolló el SQL, un lenguaje de consultas que permite consultar, valga la redundancia,
Taller de Bases de Datos Ingeniería en Sistemas Computacionales M. en I.S.C Mariana Carolyn Cruz Mendoza Por Alexis Orlando Rebollar Lopez.
Transcripción de la presentación:

CASSANDRA y CQL3.1 JUSTINO RAMÍREZ ORTEGÓN SOLUCIONES INTEGRACIÓN Y APERTURA S.A. DE C.V.

CONTENIDO Estructura distribuida de Cassandra Ciclo de vida de los datos CQL3.1 Apache Hector

Estructura distribuida de Cassandra La descentralización y replicación hacen posible una alta tolerancia a fallos de las BD Cassandra

Replicación La replicación protege la perdida de información con el costo de tener que usar n-veces más memoria de almacenamiento (Factor 3 como norma)

Descentralización Se proponen m nodos (típicamente m>n), los cuales se coordinan en una estructura de red de anillo. NO HAY NODO MAESTRO COMO EN HADOOP Mas de un nodo pueden estar en un solo servidor Coordinador

Descentralización Escritura/lectura Un cliente accesa un nodo cercano, que se convierte en coordinador y gestiona la información con los otros nodos. Coordinador

Disponibilidad Difícil escritura de datos (debido a los reacomodos de datos). Alta disponibilidad ya que los datos están ordenados

Disponibilidad Los datos no se salvan en forma aleatoria, sino en forma ordenada de acuerdo a sus llaves correspondientes. Ordenamiento por tipo de dato. f a b c d e g h i

Disponibilidad Los datos se accesan con un algoritmo de búsqueda eficiente debido a que las tablas están ordenadas. Datos ordenados Dato extraído

Consistencia Cassandra no es estrictamente consistente, aunque dispone de una configuración en 3 niveles: Estricta Causal Eventual

Ciclo de vida de los datos Los datos se guardan en 3 tipos de tablas: Commit logs Memtables SSTables

Ciclo de vida de los datos Los datos que se agregan a una SSTable no se borran nunca ya que una vez que se crean son inmutables. Si se da la opción de borrado, en realidad los datos se marcan como invalidados. Los datos solo se borran durante una compactación de SSTables.

Compactación Cada n archivos de aproximadamente el mismo tamaño se almacenan en SSTables, el sistema los compactara en una nueva SSTable. Se crea una estructura multinivel irregular.

Compactación La compactación a niveles genera SSTables de tamaño fijo, con tamaño inicial relativamente pequeño y que se fusionan con un numero fijo SSTables. Escritura mucho mas lenta que con la compactación normal, velocidad mucho mayor de acceso.

CQL3 Es un lenguaje hibrido entre Cassandra Cli y SQL El compromiso entre ambos lenguajes genera que no existan: Los Joint (SQL) Las SuperColumns Families (Cassandra)

Desnormalización Las tablas son el equivalente a las Column Families. Todas las columnas de un registro se ordenan alfabéticamente. Un dato solo puede extraerse usando su Primary Key como referencia.

Desnormalización Cada consulta genera una tabla especializada a esa consulta particular.

Modelo RDBMS 1. Modelación de datos 2. Modelación de consultas

Modelo Cassandra 1. Modelación de consultas 2. Modelación de datos

Modelo CQL3.1 M. Cassandra M. CQL3.1

Modelo CQL3.1 M. Cassandra M. CQL3.1

Creación de Keyspace En la creación del Keyspace deben de incluirse la configuración que se desee modificar:

Creación de Keyspace Para ingresar al Keyspace debemos usar el comando USE < Nombre_de_keyspace>;

Comandos Básicos

Comandos Básicos

Upsert El update puede usarse como insert.

Upsert

Select

Select

Índices Los índices nos ordenan los datos, en forma ascendente/descendente. No usarlos con datos con alta cardinalidad.

Índices

Índices múltiples Se requiere la orden allow filtering para hacer el proceso de selección en cascada.

Recuperación de Timestamp Se usa la instrucción writetime para recuperar el timestamp de una columna en particular.

Primary Key compuesta

Primary Key compuesta Hector:age Hector:role John:age John:role ist 40 Admin 30 Dev

Primary Key Compuesta En teoría 2,000,000,000 columnas por registro En la practica 100,000 columnas por registro

Partition Key Compuesta

Partition Key Compuesta

Primary Key Compuesto

Primary Key Compuesto

Validación de Insert

Batch Si la primera instrucción no se puede realizar, entonces todas las demás instrucciones se abortan.

Batch

Supercolumnas en CQL3 Hay 3 tipos de datos que suplen parcialmente a las supercolumnas: Set: Lista de atributos no ordenados. List: Lista de atributos ordenados. Map: Lista de atributos con valores.

Set

Set

Set

Set

List

List

List

List

Map

Map

Map

Map

Apache Hector Apache Hector es en realidad un plugin para hacer aplicaciones en Java usando Cassandra. Funciona sobre CQL. Se puede usar con Eclipse.

Apache Hector Existen problemas con la compatibilidad de las librerías. La versión actual de CQL 3.1 no es soportada por la ultima versión de Hector. Cada versión de Hector requiere una versión especifica de Cassandra, CQL y de un conjunto de librerías auxiliares de Apache.

La distribución no centralizada y la replicación permiten tener una alta tolerancia a fallas pero con el costo del incremento de la necesidad de memoria. Se debe de elegir con cuidado el tipo de compactación de datos de acuerdo a los requerimientos. Aunque CQL3 esta inspirado en SQL existen diferencias que deben de tener se en cuenta ya que internamente CQL3 se comporta como Cassandra Cli. Conclusiones

¿Preguntas? Justino.ramirez.ortegon@siasw.com