Primeros pasos en la arquitectura no transaccional

1

Objetivos y presentación del proyecto

2

Aprende qué es un Data Warehouse

3

Bases de datos columnares y arquitectura orientada a optimización de consultas

4

¿Cómo funciona AWS Redshift?

Configura tu entorno de trabajo para Redshift

5

Creando nuestro entorno de trabajo en AWS

6

Configura tu primer cluster

7

Consumiendo Redshift: empieza la magia

8

Sentencias SQL en Redshift

Cómo diseñar tu base de datos para mejorar su desempeño

9

¿Qué es la compresión en Redshift?

10

Algoritmos de compresión con Redshift

11

Aplicando algoritmos de compresión

12

Análisis de desempeño con diferentes tipos de compresión

13

Estilos de distribución con Redshift

14

Evaluando los estilos de distribución

15

Llaves de ordenamiento para optimizar nuestras consultas

16

Aplicando ordenamiento de columnas

17

Evaluando algoritmos de ordenamiento

18

Buenas prácticas para diseñar tablas en Redshift

19

Tipos de datos en AWS Redshift

20

Reto: mejora el desempeño de tu base de datos

Manipular enormes cantidades de datos

21

Olvídate de los insert, el copy llego para quedarse

22

Cargando archivos tipo JSON

23

El comando copy a fondo

24

Manifiestos y uso de COMPUPDATE para carga con compresión automática

25

Métodos de carga alternativos al comando copy

26

¿Cómo ejecutar sentencias UPDATE y DELETE?

27

¿Cómo mantener el desempeño de tu base de datos?

28

Estadísticas y limpieza de las tablas

Buenas prácticas para diseñar y ejecutar consultas en tu base de datos

29

Agrupamiento, ordenamiento y subqueries

30

¿Qué es y cómo interpretar un explain plan?

Análisis de comportamiento y descarga de datos con Redshift

31

¿Cómo descargar datos eficientemente con UNLOAD?

32

Otras tablas útiles de Redshift para entender el comportamiento de nuestros datos

Conclusiones

33

Próximos pasos con AWS Redshift

Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Bases de datos columnares y arquitectura orientada a optimización de consultas

3/33
Recursos

Aportes 10

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Con el ejemplo que el profesor menciona en el minuto 8:20 sobre la diferencia de tiempo en realizar un UPDATE en una base de datos relacional y una base de datos columnar se puede apreciar la diferencia ABISMAL que hay entre los objetivos específicos para los que fueron diseñadas cada una de estas.

  • Base de datos relacional: Orientada a la alta transaccionalidad
  • Base de datos columnas: Orientada a la analítica

Bases de datos columnares y arquitectura orientada a optimización de consultas

.

¿Qué es una base de datos columnar?

Redshift es una de ellas. Es una BD optimizada para lograr una recuperación rápida de columnas de datos, normalmente en aplicaciones analíticas, esto permite procesar queries complejos de una manera óptima

  • Base de datos basadas en filas: Enfocados en la transaccionalidad y en la lectura y escritura rápida de filas únicas.

    • Están enfocadas en OLTP (Transacciones Online) y están pensadas para la lectura rápida de filas únicas.
    • Un registro a cada bloque de datos (pueden ser mas)
    • Una consulta a una tabla de 10 columnas de las cuales solo requiero 2, leería las 8 innecesarias también
  • Base de datos basadas en columnas: Procesan grandes cantidades de información, se encuentran optimizadas para procesos de analítica.

    • Sus registros se guardan columna a columna en el bloque de datos.

    • Excelentes para aplicaciones de analítica

    • En redshift cada columna se almacena en bloques de 1MB

    • Una consulta a una tabla de 10 columnas de las cuales solo requiero 2, leería únicamente las 2 necesarias.
      .
      Desventajas:

    • Si tengo items duplicados que debo modificar o eliminar es un dolor de cabeza porque toca reemplazarlas con otra tabla.
      .
      Las base de datos orientadas a filas son perfectas para las aplicaciones OLTP y las orientadas a columnas son perfectas para el análisis de datos y el procesamiento de datos.
      .

Bases de datos columnares

Beneficios de usar Redshift

.

💡 Características Redshift: https://aws.amazon.com/es/redshift/features/

  • Integración total con AWS
  • La base de datos más rápida en la nube
  • Los costos más bajos en la nube
  • Alta escalabilidad
  • Clientes SQL

Amazon Redshift es un servicio de almacén de datos completamente administrado, empresarial y de varios petabytes.

Esta guía se centra en el uso de Amazon Redshift para crear y administrar un data warehouse. Si trabaja con bases de datos como diseñador, desarrollador de software o administrador, le proporciona la información que necesita para diseñar, desarrollar, hacer consultas y mantener el data warehouse.

Cassandra es igual una base de datos columnar, es de la familia Apache, por lo regular he visto mucho de estas arquitecturas implementadas en varias industrias en ambientes On-premise y para eventos casi en real-time, dicha arquitectura vive en un ambiente distribuido.

Las bases de datos columnares se parecen a la estructura de los DataFrames de Pandas, supongo que tiene sentido porque Pandas esta orientado al análisis de información.

Base de datos columnar
Mientras que la mayoría de las bases de datos distribuyen la información en filas, las bases de datos columnares funcionan de la manera contraria: los datos se distribuyen en columnas. ¿Por qué se hace esto? En el siguiente artículo descubrirás las ventajas de las bases de datos conocidas como columnar databases.

¿Cómo están estructuradas las bases de datos columnares?
En general, las bases de datos se orientan a filas. El sistema de gestión de base de datos (SGBD) crea una línea para cada entrada. Los campos con la información se listan uno tras otro. Un ejemplo clásico lo encontramos en las bases de datos relacionales. Las bases de datos columnares hacen lo contrario: por cada entrada, hay una columna, por lo tanto, los datos de cada entrada están dispuestos uno debajo del otro (y no uno al lado del otro, como en la variante orientada a filas).

Ámbitos de aplicación de las bases de datos columnares
Los sistemas relacionales basados en líneas se utilizan sobre todo cuando hay que realizar muchas transacciones rápidamente. Escribir, cambiar, borrar entradas: todo esto funciona muy bien con bases de datos relacionales. Las bases de datos columnares se utilizan cuando hay que analizar grandes cantidades de datos.

En muchos campos de aplicación (por ejemplo, pero no exclusivamente, en la investigación) los datos pasan por evaluaciones continuas. Esto es mucho más rápido con sistemas basados en columnas: la razón de esto es que se requiere acceder menosal disco duro. Los datos de una categoría se almacenan muy próximos entre sí. Si se desea leer y evaluar un registro de datos, basta con cargar un bloque; no es necesario leer la base de datos completa.

Ventajas y desventajas de la base de datos columnar
Las bases de datos columnares hacen alarde de sus ventajas cuando se deben realizar operaciones de evaluación de grandes volúmenes de datos –big data. Dado que el acceso al disco duro suele ser el cuello de botella en la lectura de cualquier base de datos y el acceso a una base de datos columnar es más eficiente, es aquí donde radica la mayor ventaja de la variante basada en columnas.

Sin embargo, en las aplicaciones transaccionales los accesos son diferentes en la mayoría de los casos: aquí, los datos nuevos se deben distribuir a través de toda la base de datos. En esta tarea, una base de datos orientada a columnas sería más lenta que el modelo clásico.

Otra ventaja de las bases de datos columnares es la posibilidad de compresión. Los datos de una columna son siempre del mismo tipo, por ejemplo, una cadena o un entero. Como todas las entradas de un tipo están próximas entre sí, se pueden comprimir de forma más eficiente.

### Bases de Datos Columnares Las bases de datos columnares están diseñadas para manejar eficientemente grandes volúmenes de datos en columnas en lugar de filas. A diferencia de las bases de datos tradicionales orientadas a filas, las columnares almacenan y procesan datos de forma optimizada por columnas, lo que permite: * **Optimización en consultas analíticas**: Las bases de datos columnares están especialmente optimizadas para consultas analíticas, ya que permiten realizar operaciones sobre columnas específicas, lo que reduce la cantidad de datos leídos y procesados. * **Eficiencia en almacenamiento**: Almacenamiento más eficiente debido a la compresión columnar, lo que resulta en un menor uso de disco y una mejor utilización de recursos. * **Mejora del rendimiento en lecturas**: Son ideales para consultas de agregación, sumas, promedios, y otros cálculos que operan en grandes conjuntos de datos. ### Arquitectura Orientada a Optimización de Consultas La arquitectura orientada a la optimización de consultas es un diseño de bases de datos que prioriza el rendimiento en la ejecución de consultas. Esta arquitectura incluye varios componentes clave: 1. **Indexación Avanzada**: Utilización de índices específicos para acelerar las búsquedas y filtrados. 2. **Técnicas de particionado**: División de grandes conjuntos de datos en particiones más pequeñas para acelerar consultas específicas. 3. **Caché**: Almacenamiento temporal de resultados para consultas repetidas, reduciendo el tiempo de acceso a los datos. 4. **Optimización de Consulta**: Técnicas como predicción de índices, agrupamiento de datos y ejecución paralela para mejorar el rendimiento. 5. **Compresión y almacenamiento eficiente**: Reducción del espacio ocupado por los datos mediante técnicas avanzadas de almacenamiento, tanto físicas como lógico-físicas. En conjunto, estas características ayudan a optimizar el rendimiento de las bases de datos y a satisfacer demandas de procesamiento masivo de datos.
😍😍

Excelente la explicacion, muy buna presentacion