Curso de Desarrollo con Apache Cassandra
Acerca de este curso
> Módulo 1: Ponerse en marcha con Cassandra
¿Qué es Big Data?
Desafíos de las aplicaciones modernas
¿Por qué no bases de datos relacionales?
Cómo manejar big data
¿Qué es Cassandra y por qué Cassandra?
MapReduce y Spark
Instalación de Cassandra
Instalación del JDK
Instalación del tarball binario
Bootstrapping del proyecto
CQL: el lenguaje de consulta de Cassandra
Interactuar con Cassandra
Empezando con CQL
Nuevas funciones en Cassandra
> Módulo 2: La Primera Tabla
Cómo configurar keyspaces
Creando la tabla de usuarios
Insertar datos
Seleccionar datos
Desarrollando un modelo mental para Cassandra
> Módulo 3: Organización de datos relacionados
Organización de datos relacionados
Una tabla para actualizaciones de estado
Trabajar con actualizaciones de estado
Anatomía de una clave primaria compuesta
Más allá de dos columnas
Las claves compuestas representan las relaciones entre padres e hijos
Acoplamiento de padres e hijos mediante columnas estáticas
Refinando nuestro modelo mental
> Módulo 4: Más allá de la búsqueda de valores-clave
Buscando filas por partición
Los límites de la palabra clave WHERE
Recuperar actualizaciones de estado para un intervalo de tiempo específico
Paginar sobre filas en una partición
Invertir el orden de las filas
Paginar sobre múltiples particiones
Soporte JSON
Construyendo una función de autocompletar
> Módulo 5: Establecer relaciones
Modelado de relaciones de seguimiento
Almacenamiento de relaciones de seguimiento
Modelado de datos de Cassandra
Desnormalización
Buscando relaciones de seguimiento
Dejar de seguir a los usuarios
Usar índices secundarios para evitar la desnormalización
Vistas materializadas
> Módulo 6: Desnormalización de datos para un rendimiento máximo
Un enfoque normalizado
Desnormalización parcial
Desnormalizar completamente la línea de tiempo del hogar
Escribir la complejidad y la integridad de los datos
Lote en Cassandra
> Módulo 7: Ampliando su modelo de datos
Ver un esquema de espacio de claves
Ver un esquema de tabla en cqlsh
Agregar columnas a tablas
Eliminando columnas
Actualizar las filas existentes
Eliminar un valor de una columna
Inserta, actualiza y upserts
Transacciones ligeras y su costo
> Módulo 8: Colecciones, tuplas y tipos definidos por el usuario
El problema con las actualizaciones concurrentes
Columnas de colección y actualizaciones simultáneas
Usar listas para valores ordenados y no únicos
Usar mapas para almacenar pares clave-valor
Colecciones en encartes
Colecciones e índices secundarios
Las limitaciones de las colecciones
Trabajar con tuplas
Tipos definidos por el usuario
Elegir entre tuplas y tipos definidos por el usuario
Colecciones anidadas
Tuplas / UDT anidadas
Comparación de estructuras de datos
> Módulo 9: Agregación de datos de series temporales
Registro de observaciones analíticas discretas
Registro de observaciones analíticas agregadas
Registro de observaciones analíticas
Configuración de Cassandra
Funciones definidas por el usuario
Funciones agregadas definidas por el usuario
> Módulo 10: Cómo Cassandra distribuye los datos
Distribución de datos en Cassandra
Replicación de datos en Cassandra
Protocolo de chismes
Clúster de centros de datos múltiples
Consistencia
Manejo de datos conflictivos
Eliminación distribuida
Opciones de configuración de la tabla
> Módulo 11: Clúster de varios nodos de Cassandra
3 – clúster de nodos
Consistencia en acción
Internos de Cassandra
Mecanismos de reparación de Cassandra
> Módulo 12: Desarrollo de aplicaciones con el controlador de Java
Una simple consulta
Declaraciones preparadas
API de QueryBuilder
Consulta asincrónica
Políticas del driver
> Módulo 13: Mirando debajo del Hood
Usando cassandra-cli
La estructura de una tabla de clave primaria simple
Claves primarias compuestas en familias de columnas
Columnas de colección en familias de columnas
> Módulo 14: Autenticacion y autorizacion
Autenticacion y autorizacion
Habilitación de autenticación y autorización
Configurar un usuario
Controlando el acceso
Autorización en acción
Seguridad más allá de la autenticación y autorización