Couchbase

CD210: Couchbase NoSQL Data Modeling, Querying, and Tuning Using N1QL - Virtual English

24 horas
1895,00 €
Live Virtual Class
Live Virtual Class

Acerca de este curso

La tecnología NoSQL fue creada por las compañías líderes de internet – incluyendo Google, Facebook, Amazon y LinkedIn – para acabar con las limitaciones de las antiguas tecnologías de bases de datos relacionales para su uso con las aplicaciones web modernas. Hoy, las empresas están adoptando NoSQL para un amplio número de casos de uso, una elección para cuatro mega tendencias relacionadas: Big Users, Big Data, Internet de las Cosas y Cloud Computing.

Couchbase se ha consolidado en los últimos años como una de las Bases de Datos NoSQL líderes en el mercado, siendo utilizada por desarrolladores de todo el mundo para construir aplicaciones web de empresa, móviles y de Internet de las Cosas que soportan volúmenes masivos de datos en tiempo real.

A lo largo del presente curso, el alumno aprenderá la arquitectura y diseño de datos NoSQL utilizando N1QL, lenguaje de consultas SQL declarativo que se extiende por JSON, y focalizándose en el modelado de datos, búsqueda, almacenamiento y acceso para las aplicaciones NoSQL robustas, escalables y de alto rendimiento.

PUE es Training Partner oficial de Couchbase autorizado por dicha multinacional para impartir formación oficial en tecnologías Couchbase NoSQL.

PUE está también acreditado y reconocido para realizar servicios de consultoría y mentoring en la implementación de soluciones Couchbase en el ámbito empresarial con el consiguiente valor añadido en el enfoque práctico y de negocio del conocimiento que se traslada en sus cursos oficiales.

A quién va dirigido

Este curso va dirigido a desarrolladores, arquitectos, ingenieros de software, administradores de bases de datos, mánagers de almacén de datos, analistas de business intelligence, ingenieros de datos y profesionales DevOps que deseen utilizar Couchbase para el modelado de datos, almacenamiento y recuperación.

Para un correcto aprovechamiento del curso se requiere que el alumno este familiarizado con los fundamentos básicos de la programación y conceptos de datos

Objetivos del curso

El curso tiene como objetivo que el alumno aprenda sobre el almacenamiento y acceso a datos de manera rápida a nivel web, en diversos casos de uso de documentos en bases de datos basadas en JSON y utilizando Couchbase Server, N1QL y tecnologías relacionadas.

Contenidos

1. Introducción al curso

2. Introducción al NoSQL

  1. Reto de las aplicaciones modernas
  2. Crecimiento del Digital Data
  3. ¿Por qué no usar una Base de Datos Relacional?
  4. ¿Qué es el Big Data?
  5. Estrategias comunes para el manejo de Big Data
  6. Propiedades ACID en Bases de Datos Relacionales
  7. BASE
  8. Teoría de CAP
  9. Hadoop y NoSQL
  10. Tipos de NoSQL
  11. Programación políglota

3. Introducción a Couchbase

  1. Historia de Couchbase Server
  2. NoSQL y Couchbase Server
  3. ¿Qué es Couchbase Server?
  4. JavaScript Object Notation
  5. Couchbase como almacenador de claves vs almacenador de documentos
  6. Almacenar datos en Couchbase Server
  7. Arquitectura de Couchbase Server
  8. ¿Qué es Couchbase Document?
  9. Anatomía de una Aplicación Couchbase
  10. Lectura, Escritura y Modificación con couchbase
  11. Cache Miss
  12. “write path” de Couchbase
  13. Escalabilidad en Couchbase
  14. Arquitectura MDS
  15. Herramientas para integrar en couchbase

4. Características esenciales de N1QL

  1. JavaScript Object Notation
  2. Json como formato de base de datos de almacenaje
  3. Modelo Relacional Vs. JSON
  4. ¿Qué es N1QL?
  5. Objetivos de N1QL
  6. Quien usa N1QL
  7. Query Workbench
  8. CBQ
  9. Características clave de N1QL
  10. Querying con N1QL
  11. SELECT Query
  12. Querying con elementos anidados
  13. Document Meta-Data
  14. Realización de Aritmética simple
  15. Filtrando Documentos
  16. Búsqueda de Patrones
  17. Valores NULL y MISSING
  18. Búsqueda elementos en Arrays anidados con ANY
  19. Querying utilizando Claves de Documento
  20. Ordenación y agrupaciones
  21. Unnest
  22. Obtener información del sistema
    1. Querying Datastores
    2. Querying Namespaces
    3. Querying Keyspaces
    4. Querying Indexes
  23. Array, Objetos y Array de Objetos
  24. Operadores de recopilación
  25. Funciones en N1QL
    1. ARRAY_APPEND(expression, value, ...)
    2. ARRAY_INTERSECT(expression1, expression2, ...)
    3. DATE_ADD_MILLIS(date1, n, part)
    4. Otras funciones Date
    5. Funciones de búsqueda de patrones
    6. Funciones Token
    7. Funciones String
  26. Subqueries
    1. Joins
    2. Join de Documentos con un Key Array
    3. Sentencias de Manipulación de datos

5. Indexes en N1QL

  1. Opciones de Index
    1. Primary Index
    2. Named Primary Index
    3. Secondary Index
    4. Secondary Composite Index
    5. Functional Index
    6. Array Index
    7. Partial Index
    8. Covering Index
    9. Duplicate Index
  2. Intersecar Scans en N1QL
  3. Análisis Bucket
  4. Comando INFER
  5. Indexing Architectures Arquitectura de Indexación
  6. GSI Vs. Vistas

6. Motor de Querys

  1. Ejecución de Query
  2. Servicio Client to Query: REST API
  3. Fase de análisis
  4. Fase de planificación
  5. Fase de escaneo
  6. Fase de Búsqueda
  7. Joins
  8. Filtro
  9. Aggregate, Sort, Offset, Limit
  10. Fase de proyección
  11. Indexes cubiertos y no cubiertos
  12. Capacidad de administración de nodo de Querys

7. Planning y Optimización de Querys

  1. Query Planning
  2. Metodos de Acceso al Data Source
  3. Index Selection
  4. Index Scans – Index Scan regulares y de recubrimiento
  5. Index Scans – CountScan y IndexCountScan
  6. Index Scans – ValueScan y DummyScan
  7. Pushdowns - Predicates
  8. Pushdowns - Order
  9. Pushdowns - Limit
  10. Pushdowns - Offset
  11. Optimización de Querys en N1QL
  12. Checklist de la optimización de querys

8. Consejos de rendimiento y otras herramientas de N1QL

  1. Pretty – Query Setting
  2. UPDATE en Arrays Anidados
  3. cURL en N1QL

9. Introducción al Data Modeling

  1. ¿Qué es el Data Modeling?
  2. Data Modeling para Sistemas Distribuidos
  3. Data Modeling para Couchbase Server
  4. Data Modeling conceptual
  5. Data Modeling Lógico
  6. Data Modeling Físico
  7. Data Models usados en este curso

10. Data Modeling para Couchbase Server

  1. ¿Qué es el Data Modeling?
  2. Data Modeling para Sistemas Distribuidos
  3. Data Modeling para Couchbase Server
  4. Data Modeling Conceptual
  5. Data Modeling Lógico
  6. Data Modeling Físico
  7. Diseño de Documento JSON
  8. Elecciones de diseño JSON
  9. Atributos Single Roor
  10. Objectos vs. Arrays
  11. Tipos de Array Element
  12. Formatos de Timestamp
  13. Nombre de propiedad
  14. Valores de propiedad de Empty y Null
  15. JSON Schema
  16. Anidación de datos (conocido como Desnormalización)
  17. Diseño de Claves
  18. Búsqueda de patron de claves
  19. Realizando Trade-offs
  20. Escoger decisiones complicadas: Tamaño de documento, Atomicity, Complejidad, velocidad
  21. Embebido vs Referido

11. Monitorización y Troubleshooting de Querys

  1. ¿Qué es la monitorización de Querys?
  2. REST API Endpoints en N1QL
  3. Vitals
  4. REST: Solicitudes activas
  5. REST: Solicitudes completas
  6. REST: Sentencias preparadas
  7. REST: Configuración de cache
  8. SYSTEM Namespaces y monitorización de Querys N1QL
  9. Utilización de la monitorización N1QL para la resolución de problemas
  10. Sentencias preparadas con el tiempo de ejecución más alta
  11. Sentencias preparadas con el mayor número de Counts preparados
  12. Sentencias no preparadas con el mayor tiempo de ejecución/Número de Counts
  13. Plans Using Sub-Optimal Indexes Uso de Indexes Sub-Opcionales
  14. Cancelación de solicitudes revoltosas
  15. Profiling

12. Características esenciales de las vistas

  1. ¿Qué es una Vista?
  2. MapReduce
  3. Diseñando Documentos
  4. Trabajar con vistas en la consola web de Couchbase
  5. Crear una vista de Desarrollo
  6. Escribir Funciones Map
  7. Función emit
  8. Escribir Funciones Reduce
  9. Incorporar Funciones Reduce
  10. Vistas group y group_level
  11. Emitir múltiples filas desde una Función Map
  12. Emitir Array de Claves
  13. Casos de Uso de Vistas
  14. Vista vs. N1QL

Convocatorias abiertas