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

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

24/33
Recursos

Aportes 5

Preguntas 1

Ordenar por:

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

El comando fixedwidth indica el numero de columna + dos puntos + numero de caracteres utilizados.
Un archivo de manifiesto indica donde se desea cargar los archivos.

copy estudiante FROM 's3://mibucketredshift/tercer_cargue.csv'
credentials 'aws_iam_role=arn:aws:iam::XXXXXX:role/MiRolRedshift'
region 'us-east-2'
fixedwidth '0:1,1:9,2:9,3:2,4:10'
dateformat 'mm-dd-yyyy';

{
    "entries": [
        {"url":"s3://mibucketredshift/cargue_1.csv", "mandatory":true},
        {"url":"s3://mibucketredshift/cargue_2.csv", "mandatory":true}
    ]
}

copy estudiante FROM 's3://mibucketredshift/test.manifest'
credentials 'aws_iam_role=arn:aws:iam::XXXXXX:role/MiRolRedshift'
delimiter ';'
ignoreheader 1
manifest
region 'us-east-2';


copy sales_compression_on FROM 's3://mibucketredshift/sales_tab.txt'
credentials 'aws_iam_role=arn:aws:iam::XXXXXX:role/MiRolRedshift'
delimiter '\t' timeformat 'MM/DD/YYYY HH:MI:SS' COMPUPDATE ON region 'us-east-2';

copy sales_compression_off FROM 's3://mibucketredshift/sales_tab.txt'
credentials 'aws_iam_role=arn:aws:iam::XXXXXX:role/MiRolRedshift'
delimiter '\t' timeformat 'MM/DD/YYYY HH:MI:SS' COMPUPDATE OFF region 'us-east-2';

SELECT * 
FROM pg_table_def
WHERE tablename = 'sales_compression_on';

SELECT * 
FROM pg_table_def
WHERE tablename = 'sales_compression_off';

Poderosísima herramienta Redshift

CREATE TABLE IF NOT EXISTS public.sales_compression_on
(
	salesid INTEGER NOT NULL  ENCODE raw
	,listid INTEGER NOT NULL  ENCODE raw
	,sellerid INTEGER NOT NULL  ENCODE raw
	,buyerid INTEGER NOT NULL  ENCODE raw
	,eventid INTEGER NOT NULL  ENCODE raw
	,dateid SMALLINT NOT NULL  ENCODE RAW
	,qtysold SMALLINT NOT NULL  ENCODE raw
	,pricepaid NUMERIC(8,2)   ENCODE raw
	,commission NUMERIC(8,2)   ENCODE raw
	,saletime TIMESTAMP WITHOUT TIME ZONE   ENCODE raw
);

CREATE TABLE IF NOT EXISTS public.sales_compression_off
(
	salesid INTEGER NOT NULL  ENCODE raw
	,listid INTEGER NOT NULL  ENCODE raw
	,sellerid INTEGER NOT NULL  ENCODE raw
	,buyerid INTEGER NOT NULL  ENCODE raw
	,eventid INTEGER NOT NULL  ENCODE raw
	,dateid SMALLINT NOT NULL  ENCODE RAW
	,qtysold SMALLINT NOT NULL  ENCODE raw
	,pricepaid NUMERIC(8,2)   ENCODE raw
	,commission NUMERIC(8,2)   ENCODE raw
	,saletime TIMESTAMP WITHOUT TIME ZONE   ENCODE raw
);


copy sales_compression_on from 's3://mybucketredshiftsantiago/tickitdb/sales_tab.txt'
credentials 'aws_iam_role=arn:aws:iam::XXXX:role/MiRoleRedshift'
delimiter '\t' timeformat 'MM/DD/YYYY HH:MI:SS' COMPUPDATE ON region 'us-east-2';

copy sales_compression_off from 's3://mybucketredshiftsantiago/tickitdb/sales_tab.txt'
credentials 'aws_iam_role=arn:aws:iam::XXXX:role/MiRoleRedshift'
delimiter '\t' timeformat 'MM/DD/YYYY HH:MI:SS' COMPUPDATE OFF region 'us-east-2';

SELECT * FROM pg_catalog.pg_table_def 
WHERE tablename = 'sales_compression_off';

SELECT * FROM pg_catalog.pg_table_def 
WHERE tablename = 'sales_compression_on';

Gran clase!!!

Con COPY también puedes especificar a que columnas de tu tabla quieres que se carguen los registro, es muy útil en el día a día.

Herramienta muy poderosa…