Académique Documents
Professionnel Documents
Culture Documents
Clients
DNS
Load Balancers
(cloud vendor or
open, e.g. nginx)
Cloud Compute
and Storage
(cloud vendor)
Containers
(Docker)
Tools
Apps
server-side Node.js,
Java
analytics Spark
Infrastructure
Monitoring and
Spend
Management
Message Queue
(Apache Kafka, Rabbit
MQ)
Security and
Auditing
Database
(Cassandra, Redis,
RDBMS)
DevOps
Microservices
Presentado
APAC
HE
Introduccin a Cassandra
Caractersticas
requeridas
Replicacin y disponibilidad
multiregin
Respuesta rpida y confiable
Sin punto nico de fallo
Debe siempre estar disponible
Debe ser fcil de administrar y
mantener
SQL vs NoSQL
OLTP DB
Orientad
a a Filas
Cdigo
Abierto
Siempre Disponible
Distribuida / Tolerante a fallos
Consistenci
a
Configurab
le
Distribu
da
Tolerant
ea
Fallos
Decentraliz
ada
Altament
e
Disponib
le
Masivamente escalable
Escalabilidad lineal en capacidad y rendimiento
Operacin simple
Elstica
Guatemal
a
Honduras
Costa Rica
BigTable
Dynamo
En octubre de 2007 se
public un paper con el
diseo y la especificacin, a
grandes rasgos, de
Dynamo, rompiendo con
conceptos como la
consistencia o modelo
relacional. Su objetivo se
defini claramente:
escalabilidad y
disponibilidad.
NoSQL.es
DataStax Enterprise
Listo y Certificado para ambientes de
produccin
In-Memory
Enterprise Security:
Autenticacin externa mediante Kerberos.
Encripcin transparente de datos.
Auditora de datos
Bsqueda integrada con Apache Solr
Integracin nativa con Spark para analticos
DataStax OpsCenter
Backup
Repair
Capacity
Best Practices
Benchmark
realizado por
Arquitectura
Node: Una instancia de Apache Cassandra.
RAC1
Cassandra Cluster
Nod
o1
RAck
1
Nod
o
2
Data Center 1
Nod
o3
Rack
2
Nod
o
4
Nod
o5
RAck
3
Nod
o
6
Data Center 2
Nod
o7
Rack
4
Nod
o
8
DC 1
DC 2
Cmo funciona?
Particionamiento
Objetivo: Distribucin de los datos
Particionador Funcin de Hash
100 0
Generador de Token
ID
NAME
DOB
AB1
John Smith
10/11/19
72
HASH
17 Node 2
AB2
Bob Jones
3/1/1964
HASH
79 Node 1
ZZ3
Mike West
4/22/196
8
HASH
14 Node 2
HASH
32 Node 3
HASH
51 Node 4
WX2
MNZ
Sally
Thompson
10/15/19
69
Bill Wright
6/6/1966
Node 1
75
Node
4
Node 2
Node
3
50
25
Replicacin
Provee tolerancia a fallos
Provee distribucin geogrfica
Copias de cada particin estn distribuidas en data centers.
Definido a nivel de esquema (Factor de replicacin)
RF =1
RF = 2
RF = 3
Replicacin
Mayor nivel de replicacin = Mayor tolerancia a fallos
UN
E AVA
IL
AB
L
RF =1
RF = 2
RF = 3
Teorema
CAP
Consistencia
El nivel de consistencia es configurable en Cassandra
La consistencia no funciona como en un RDBMS tradicional
Nivel de consistencia
Nmero de REPLICAS que necesito que respondan para responder a una solicitud
Puede ser establecido de manera independiente para cada solicitud (se puede tener un
default)
Algunos niveles de consistencia
ONE Una sola replica debe responder
Quorum 51% de las replicas deben responder
Local_Quorum 51% de las replicas en el data center
ALL Todas las replicas deben responder
Sistemas Anti-Entropa
Hints
El coordinador almacena actualizaciones pendientes para procesarse despus
Las almacena por tres horas (por defecto)
Read Repair
Resultados inconsistentes en tiempo de lectura disparan una accin de reparacin
para esa particin de datos
Read Repair Chance dispara una validacin de todas las replicas en un pequeo
porcentaje de lecturas
Repair
Proceso que corre en un nodo y Keyspace para verificar los datos
Puede ser calendarizado en Opscenter si se utiliza DSE
Asegura que las lpidas hayan sido propiamente eliminadas durante la
compactacin
Backups
Snapshots
Generadas por keyspace, nodo, cluster
Muy rpidas
Hard-Link
Necesitas backup?
Replicacin de datos
Datos distribuidos y replicados a travs de todos los nodos
Gossip
Gossip hace todo el trabajo
Los nodos interactan cada segundo
Comparten informacin acerca de s mismos y otros
nodos
Nodos lentos o muertos son marcados como tales
Las solicitudes son encaminadas a los nodos activos y
con buen rendimiento
Balanceo de carga
Todos los nodos pueden hacer las mismas tareas
El cliente puede contactar a cualquier nodo
Polticas:
Round Robin
DC Aware Round Robin
Token Aware
Cluster
RF = 3
Casos de Uso
Modelado de Datos
Cassandra is OLTP
QueryDriven
Methodol
ogy
No Joins
Data
Modeli
ng
No
Normaliza
tion
CQL
No
Constraint
s
Use Hadoop/Spark
for Analytics
Define un acercamiento
cientfico para el modelado
de datos a travs de:
Reglas de modelado
Patrones de mapeo
Tcnicas de optimizacin de
Conceptos bsicos
Keyspace
Identificado por nombre
Contiene tablas ("column families")
Determina el factor de replicacin
Table
Identificada por nombre
Tiene filas
Row
Contiene columnas (hasta 2 mil millones!) cien mil es el lmite prctico
Cada fila puede tener diferente nmero de columnas
Column
Identificada por nombre
Tiene un tipo de dato
Llave primaria
Requerida para cada tabla
Identifica inequvocamente una fila
Llave de Particin
Determina el nodo
Tiene una o ms columnas
Llave de Cluster
Modelado de Datos
DATE
CUST_I
D
TYPE
TIME
CUST NAME
LOCATION
AMOUNT
10/15/1
4
A11
DEPOSIT
09:24:33.55
JOHN SMITH
30132
252.50
10/15/1
4
A11
DEPOSIT
09:25:53.21
JOHN SMITH
30132
63.49
10/15/1
4
A11
WITHDRAW
12:45:22.23
JOHN SMITH
30060
-300.00
10/15/1
4
B23
DEPOSIT
08:12:22.32
BOB BARKER
94123
500.00
Tipos de Datos
CASSANDRA
PROCESS
ID
ID
NAME
NAME
DOB
DOB
AB1
AB1
John
John Smith
Smith
10/11/19
10/11/19
72
72
AB2
Bob Jones
3/1/1964
ZZ3
Mike West
4/22/196
8
IN MEMORY
ON DISK
(sequenti
al)
COMMIT LOG
2014 DataStax Confidential. Do not distribute without consent.
ID
NAME
DOB
ID
NAME
DOB
BB1
John Waters
11/11/19
BB1
John Waters 7411/11/19
74
CB2
Chris Jones
3/16/196
CB2
Chris Jones 4 3/16/196
4
NN3
Jim West
4/22/195
NN3
Jim West
8 4/22/195
8
SSTABLES
MEMTABLE
CASSANDRA
PROCESS
ID
NAME
DOB
AB1
John Smith
10/11/19
72
AB2
Bob Jones
3/1/1964
ZZ3
Mike West
4/22/196
8
IN MEMORY
ON DISK
(sequenti
al)
COMMIT LOG
2014 DataStax Confidential. Do not distribute without consent.
ID
NAME
DOB
ID
NAME
DOB
NAME 11/11/19
DOB
BB1 IDJohn Waters
BB1
John Waters 7411/11/19
AB1
John Smith 74 10/11/19
72
CB2
Chris Jones
3/16/196
CB2
Chris Jones 4 3/16/196
AB2
Bob Jones 4 3/1/1964
NN3 ZZ3
Jim West
4/22/195
Mike West
4/22/196
NN3
Jim West
8 4/22/195
8
8
SSTABLES
MEMTABLE
F
L
U
S
H
CASSANDRA
PROCESS
ID
NAME
DOB
AB1
John Smith
10/11/19
72
AB2
Bob Jones
3/1/1964
ZZ3
Mike West
4/22/196
8
MEMTABLE
IN MEMORY
ON DISK
(sequenti
al)
COMMIT LOG
2014 DataStax Confidential. Do not distribute without consent.
ID
NAME
ID
NAME
DOB
ID
NAME
DOBJohn Smith
AB1
NAME 11/11/19
DOB
BB1 IDJohn Waters
BB1
John Waters 7411/11/19
AB1
John Smith 74 10/11/19
AB2
Bob Jones
72
CB2
Chris Jones
3/16/196
CB2
Chris Jones ZZ3
Mike West
4 3/16/196
AB2
Bob Jones 4 3/1/1964
NN3 ZZ3
Jim West
4/22/195
Mike West
4/22/196
NN3
Jim West
CB2
Chris Jones
8 4/22/195
8
8
SSTABLES
COMPACTION
DOB
10/11/19
72
3/1/1964
4/22/196
8
3/16/196
4
SMACK Stack
Preguntas y Respuestas