Apache Cassandra es una base de datos NoSQL altamente escalable. Con la llegada de Gorm 5, se ha abordado una 'as-complete-as-possible' implementación GORM que mapea las clases de dominio e instancias a tablas de Cassandra 2.0. Veremos brevemente qué es Cassandra y qué MAGIA nos proporciona esta capa Gorm para hacernos la vida más fácil.
2. ¿Y tú?
Soy un yonki de Groovy
Cassandra, te quiero conocer
¿Cómo he llegado hasta aquí?
3. ❏ Apache Cassandra
■ Intro
■ Key-value vs Column
■ CAP
■ Partition Key
■ Replication Factor
■ Consistency Level
■ Virtual Nodes
■ Example
❏ Groovy + Cassandra
APACHE CASSANDRA
EN
8
PASOS
4. Intro
❏ Apache Cassandra
■ Intro
■ Key-value vs Column
■ CAP
■ Partition Key
■ Replication Factor
■ Consistency Level
■ Virtual Nodes
■ Example
❏ Groovy + Cassandra
● Sistema NoSQL, distribuído y open source
● Objetivo: Big Data
○ Escalabilidad y Disponibilidad
● Topología en Anillo
○ Masterless
○ Clustering Column
● INSERT Y DELETE
○ INSERT = UPDATE (casi)
● CQL (Cassandra Query Language)
5. Row oriented or column oriented?
❏ Apache Cassandra
■ Intro
■ Key-value vs Column
■ CAP
■ Partition Key
■ Replication Factor
■ Consistency Level
■ Virtual Nodes
■ Example
❏ Groovy + Cassandra
● rows oriented
○ Row id, Columnas diferentes
apple -> colour weight price variety
"red" 100 40 "Cox"
orange -> colour weight price origin
"orange" 120 50 "Spain"
● column oriented
○ Column id, 1 fila y millones de columnas
temperature -> 2012-09-01 2012-09-02 2012-09-03 ...
40 41 39 ...
● CASSANDRA = rows contain columns!!
○ Idénticas columnas
○ Acceso fila + columna
6. CAP Theorem
❏ Apache Cassandra
■ Intro
■ Key-value vs Column
■ CAP
■ Partition Key
■ Replication Factor
■ Consistency Level
■ Virtual Nodes
■ Example
❏ Groovy + Cassandra
¿Aquí?
7. ● PRIMARY KEY
○ Clave primaria
○ Simple o compuesta
● PARTITION KEY
○ Distribuye los datos por los nodos
○ primary key simple = partition key
○ primary key compuesta = 1er atributo es la partition key
● CLUSTERING COLUMN
○ Define cómo se ordenan los datos en el nodo
○ son los siguientes atributos de una primary key compuesta
Distribución de los datos en el anillo
❏ Apache Cassandra
■ Intro
■ Key-value vs Column
■ CAP
■ Partition Key
■ Replication Factor
■ Consistency Level
■ Virtual Nodes
■ Example
❏ Groovy + Cassandra
9. Replication factor = multi
❏ Apache Cassandra
■ Intro
■ Key-value vs Column
■ CAP
■ Partition Key
■ Replication Factor
■ Consistency Level
■ Virtual Nodes
■ Example
❏ Groovy + Cassandra
10. Consistency Level
❏ Apache Cassandra
■ Intro
■ Key-value vs Column
■ CAP
■ Partition Key
■ Replication Factor
■ Consistency Level
■ Virtual Nodes
■ Example
❏ Groovy + Cassandra
● N = Determina el número n de réplicas que tienen
que validar una lectura
○ N = QUORUM = mayoría simple
11. Un poquito más complejo...y eficaz
❏ Apache Cassandra
■ Intro
■ Key-value vs Column
■ CAP
■ Partition Key
■ Replication Factor
■ Consistency Level
■ Virtual Nodes
■ Example
❏ Groovy + Cassandra
● Realmente usa virtual nodes