La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "CASSANDRA y CQL3.1 JUSTINO RAMÍREZ ORTEGÓN"— Transcripción de la presentación:

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

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

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

4 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)

5 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

6 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

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

8 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

9 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

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

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

12 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.

13 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.

14 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.

15 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)

16 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.

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

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

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

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

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

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

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

24 Comandos Básicos

25 Comandos Básicos

26 Upsert El update puede usarse como insert.

27 Upsert

28 Select

29 Select

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

31 Índices

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

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

34 Primary Key compuesta

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

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

37 Partition Key Compuesta

38 Partition Key Compuesta

39 Primary Key Compuesto

40 Primary Key Compuesto

41 Validación de Insert

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

43 Batch

44 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.

45 Set

46 Set

47 Set

48 Set

49 List

50 List

51 List

52 List

53 Map

54 Map

55 Map

56 Map

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

58 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.

59

60

61 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

62 ¿Preguntas?


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

Presentaciones similares


Anuncios Google