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

No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

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

20/33
Recursos

Aportes 12

Preguntas 4

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Me siento solo, no hay nadie aqu铆鈥 Ni modo, a darle!

Bueno, este fue el resultado final:

Segun la herramienta

analysis compression

ya no se puede reducir m谩s.

Recomendaciones desde mi experiencia con el reto:

  • Paciencia: Son tiempos de procesamiento nunca antes visto durante el curso, si eres como yo que viene de campos distintos a la arquitectura de DBs, debemos entender que esto es pan de cada d铆a y el ejercicio est谩 super bien intencionado para este prop贸sito.

  • Ajustar a los m茅todos de compresi贸n no es suficiente: debes revisar cada tabla, como est谩n distribuyendose sus slices, qu茅 tipo de llave le resulta mejor y con esto vas a tener cambios enormes.

-驴 Problemas de conexi贸n?: Revisa en los comentarios el aporte de Cesar Augusto Morales Godoy con el tutorial para este tipo de inconvenientes.

-Finalmente, pero no menos importante: 茅xitos con el reto 馃挋

Realice las queries de los ejercicios y cree las nuevas tablas haciendo la compresi贸n recomendada por el 鈥渁nalize鈥, pero no disminuyeron los tiempos de ejecuci贸n al contrario aumentaron. Haciendo pruebas con la distribuci贸n mejoraron un poco los resultados.

Alguien mas le paso lo mismo? o como lo resolvieron?

Para los que tubieron problemas para encontrar las tablas y como se deben modificar, deben configurar la conexi贸n con la database:

  1. Ver base de datos:
  2. Abrir cofiguraci贸n de conexi贸n:
  3. Configurar para ver todas las tablas:
  4. Ya aparecen las tablas, continuar con el video:

Estos fueron mis resultados despues de aplicar la optimizacion de compresion:

indicates distkey when the table is created: CREATE TABLE tale_name (column_name type constraint encoding distkey)

compupdate off evita que se compriman los datos una vez sean cargados a redshift

No puedo realizar el reto. Muchos problemas con mi DBeaver, se desconecta solo de la nada y no termina la ejecuci贸n de queries tan largos. Alguna sugerencia?

buena practica !!

CREATE TABLE part 
(
  p_partkey     INTEGER NOT NULL,
  p_name        VARCHAR(22) NOT NULL,
  p_mfgr        VARCHAR(6) NOT NULL,
  p_category    VARCHAR(7) NOT NULL,
  p_brand1      VARCHAR(9) NOT NULL,
  p_color       VARCHAR(11) NOT NULL,
  p_type        VARCHAR(25) NOT NULL,
  p_size        INTEGER NOT NULL,
  p_container   VARCHAR(10) NOT NULL
);

CREATE TABLE supplier 
(
  s_suppkey   INTEGER NOT NULL,
  s_name      VARCHAR(25) NOT NULL,
  s_address   VARCHAR(25) NOT NULL,
  s_city      VARCHAR(10) NOT NULL,
  s_nation    VARCHAR(15) NOT NULL,
  s_region    VARCHAR(12) NOT NULL,
  s_phone     VARCHAR(15) NOT NULL
);

CREATE TABLE customer 
(
  c_custkey      INTEGER NOT NULL,
  c_name         VARCHAR(25) NOT NULL,
  c_address      VARCHAR(25) NOT NULL,
  c_city         VARCHAR(10) NOT NULL,
  c_nation       VARCHAR(15) NOT NULL,
  c_region       VARCHAR(12) NOT NULL,
  c_phone        VARCHAR(15) NOT NULL,
  c_mktsegment   VARCHAR(10) NOT NULL
);

CREATE TABLE dwdate 
(
  d_datekey            INTEGER NOT NULL,
  d_date               VARCHAR(19) NOT NULL,
  d_dayofweek          VARCHAR(10) NOT NULL,
  d_month              VARCHAR(10) NOT NULL,
  d_year               INTEGER NOT NULL,
  d_yearmonthnum       INTEGER NOT NULL,
  d_yearmonth          VARCHAR(8) NOT NULL,
  d_daynuminweek       INTEGER NOT NULL,
  d_daynuminmonth      INTEGER NOT NULL,
  d_daynuminyear       INTEGER NOT NULL,
  d_monthnuminyear     INTEGER NOT NULL,
  d_weeknuminyear      INTEGER NOT NULL,
  d_sellingseason      VARCHAR(13) NOT NULL,
  d_lastdayinweekfl    VARCHAR(1) NOT NULL,
  d_lastdayinmonthfl   VARCHAR(1) NOT NULL,
  d_holidayfl          VARCHAR(1) NOT NULL,
  d_weekdayfl          VARCHAR(1) NOT NULL
);
CREATE TABLE lineorder 
(
  lo_orderkey          INTEGER NOT NULL,
  lo_linenumber        INTEGER NOT NULL,
  lo_custkey           INTEGER NOT NULL,
  lo_partkey           INTEGER NOT NULL,
  lo_suppkey           INTEGER NOT NULL,
  lo_orderdate         INTEGER NOT NULL,
  lo_orderpriority     VARCHAR(15) NOT NULL,
  lo_shippriority      VARCHAR(1) NOT NULL,
  lo_quantity          INTEGER NOT NULL,
  lo_extendedprice     INTEGER NOT NULL,
  lo_ordertotalprice   INTEGER NOT NULL,
  lo_discount          INTEGER NOT NULL,
  lo_revenue           INTEGER NOT NULL,
  lo_supplycost        INTEGER NOT NULL,
  lo_tax               INTEGER NOT NULL,
  lo_commitdate        INTEGER NOT NULL,
  lo_shipmode          VARCHAR(10) NOT NULL
);

Desp煤es de realizar la mejora a la tabla customer, volv铆 a ejecutar un ANALYSE COMPRESSION customer_pro; y ahora sugiere delta para la columna c_custkey.