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

You don't have access to this class

Keep learning! Join and start boosting your career

Aprovecha el precio especial y haz tu profesión a prueba de IA

Antes: $249

Currency
$209
Suscríbete

Termina en:

1 Días
10 Hrs
35 Min
2 Seg

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

32/33
Resources

What does a data engineer learn from using Repsheet?

In the information age, data engineers play a crucial role in designing and optimizing data structures. Using specialized tools such as Repsheet, these professionals can manage and interpret vast amounts of data efficiently. This content will take you through several essential tables and commands that a data engineer regularly uses in Repsheet, each with its unique purpose and specific benefits.

How is information structured in Repsheet?

With Repsheet, data structuring is based on specialized tables that allow efficient access and management. One of the fundamental tables is pgtable_dev, which provides vital details about columns, data types, compressions, key distributions and sorting. All this information is crucial for optimizing data loading and unloading.

Example query in pgtable_dev:

SELECT *FROM pgtable_devWHERE table_name = 'sales';

This query tells you exactly which columns are present, their data type and more technical details that are often used to optimize processes.

Which tables are key for performance evaluation?

Performance evaluation and task monitoring is facilitated by tables such as stb_pluglists, stl_load_errors, stl_load_commits, and stl_query. These tables help data engineers identify errors, monitor load processes, and evaluate query performance.

  • stb_pluglists: Allows you to view the distribution of data in nodes and the characteristics of specific columns.

  • stl_load_errors and stl_load_commits: Facilitate analysis of failed or successful attempts to load data, providing detailed logs for audits and analysis.

Load error example:

SELECT *FROM stl_load_errors;

This query helps to detect specific errors in the data load attempt, detailing which column or table may have caused the problem.

How is user and table management handled?

Managing users and tables is essential to ensure secure and efficient data access. Repsheet provides tables such as sbl_userinfo and SVV_Tables that are essential for managing and auditing users and database structures.

  • sbl_userinfo: Provides information about users, their accesses and permissions.

  • SVV_Tables: Displays all available tables organized by schemas and catalogs, which is useful to get an overview of the database structure.

Example of user creation and verification:

CREATE USER guest WITH PASSWORD 'password123';SELECT *FROM sbl_userinfo;

This command creates a new user and checks its permissions, which is crucial for database administrators looking to control access and operation within the system.

What are the most useful tables for analysis and administration in Repsheet?

The tables discussed above are just the tip of the iceberg in terms of Repsheet's capabilities. This system offers countless tables that support both database administration and query performance.

For a data engineer, it is crucial to understand which tables are relevant to your specific needs and how to take full advantage of their functionality to improve processes within any organization. By familiarizing yourself with these commands and tables, you will be better prepared to meet the challenges of the working world and perform efficient and effective data analysis.

Remember, the field of data engineering is vast and always evolving. Continuing to learn and explore new tools and techniques is key to success - be confident in your skills, keep practicing and perfecting your craft!

Contributions 5

Questions 0

Sort by:

Want to see more contributions, questions and answers from the community?

SELECT * FROM pg_table_def
WHERE tablename = 'sales'; -- encode, distribucion, ordenamiento

SELECT * FROM pg_catalog.stv_blocklist sb ; -- permite ver los bloques de datos

SELECT * FROM pg_catalog.stl_load_errors ; -- logs de los errores

SELECT * FROM pg_catalog.stl_load_commits ; -- logs de los commits quedaron bien

SELECT * FROM stl_query; -- informacion de los queries

SELECT * FROM stl_query
WHERE query = 29;

SELECT * FROM pg_catalog.svl_qlog  -- ver queries
ORDER BY starttime desc;


SELECT * FROM pg_catalog.svl_user_info ; -- informacion de los usuarios

CREATE user invitado password 'Password123';

SELECT * FROM svv_tables;

SELECT * FROM svv_tables
WHERE table_schema = 'public';
Amazon Redshift proporciona varias vistas del sistema y tablas que son útiles para monitorear, optimizar y entender el comportamiento de los datos en tu clúster. Estas tablas te permiten analizar el rendimiento, detectar problemas y tomar decisiones informadas sobre la estructura de tus datos. A continuación, se describen algunas de las más relevantes: ### **1.** `SVV_TABLE_INFO` Proporciona información sobre las tablas en la base de datos, incluyendo tamaño, distribución, y claves de ordenamiento. * **Columnas importantes**: * `schema`: Esquema de la tabla. * `table`: Nombre de la tabla. * `size`: Tamaño de la tabla en MB. * `diststyle`: Estilo de distribución. * `sortkey1`: Primera columna de la clave de ordenamiento (si existe). * `encoded`: Indica si las columnas están comprimidas. **Consulta útil**: SELECT schema, "table", size, diststyle, sortkey1, encoded FROM svv\_table\_info ORDER BY size DESC; ### **2.** `STL_ALERT_EVENT_LOG` Registra eventos y alertas que indican problemas potenciales en las consultas o en el clúster. * **Columnas importantes**: * `userid`: Usuario que ejecutó la consulta. * `event_time`: Hora del evento. * `alert_severity`: Severidad de la alerta. * `event`: Descripción del evento. **Consulta útil**: SELECT event\_time, alert\_severity, event FROM stl\_alert\_event\_log WHERE alert\_severity = 'WARNING' ORDER BY event\_time DESC; ### **3.** `STV_BLOCKLIST` Muestra cómo están distribuidos los bloques de datos en los nodos del clúster. * **Columnas importantes**: * `slice`: Número de partición. * `tbl`: ID de la tabla. * `blocknum`: Número del bloque. * `num_values`: Número de filas en el bloque. **Consulta útil**: SELECT slice, COUNT(\*) AS blocks\_per\_slice FROM stv\_blocklist GROUP BY slice ORDER BY blocks\_per\_slice DESC; ### **4.** `STL_QUERY` Contiene información sobre las consultas ejecutadas en el clúster. * **Columnas importantes**: * `userid`: Usuario que ejecutó la consulta. * `starttime`: Inicio de la consulta. * `endtime`: Fin de la consulta. * `query`: ID de la consulta. * `text`: Texto de la consulta. **Consulta útil**: SELECT query, starttime, endtime, text FROM stl\_query WHERE starttime >= CURRENT\_DATE - INTERVAL '1 day' ORDER BY starttime DESC; ### **5.** `STL_SCAN` Registra detalles sobre cómo las consultas escanean los datos. * **Columnas importantes**: * `query`: ID de la consulta. * `table_id`: ID de la tabla escaneada. * `rows`: Filas escaneadas. * `rows_pre_filtered`: Filas antes de aplicar filtros. **Consulta útil**: SELECT query, table\_id, rows, rows\_pre\_filtered FROM stl\_scan WHERE query = \<query\_id>; ### **6.** `STV_PARTITIONS` Proporciona información sobre las particiones de los datos en las tablas. * **Columnas importantes**: * `tbl`: ID de la tabla. * `slice`: Partición donde están los datos. * `rows`: Número de filas en cada partición. **Consulta útil**: SELECT tbl, slice, rows FROM stv\_partitions ORDER BY rows DESC; ### **7.** `SVL_QUERY_SUMMARY` Resume las estadísticas de rendimiento de las consultas. * **Columnas importantes**: * `query`: ID de la consulta. * `elapsed`: Tiempo total de ejecución. * `blocks_to_disk`: Bloques que se escribieron en el disco. * `rows`: Filas procesadas. **Consulta útil**: SELECT query, elapsed, rows, blocks\_to\_disk FROM svl\_query\_summary ORDER BY elapsed DESC; ### **8.** `SVV_DISKUSAGE` Muestra el uso del disco por tabla y nodo. * **Columnas importantes**: * `database`: Base de datos a la que pertenece la tabla. * `schema`: Esquema de la tabla. * `table`: Nombre de la tabla. * `disk_in_bytes`: Uso de disco en bytes. **Consulta útil**: SELECT schema, "table", disk\_in\_bytes / 1024 / 1024 AS disk\_usage\_mb FROM svv\_diskusage ORDER BY disk\_usage\_mb DESC; ### **9.** `SVV_TRANSACTIONS` Muestra detalles sobre las transacciones activas en el clúster. * **Columnas importantes**: * `pid`: ID del proceso de la transacción. * `userid`: Usuario que inició la transacción. * `starttime`: Inicio de la transacción. **Consulta útil**: SELECT pid, userid, starttime FROM svv\_transactions; ### **10.** `SVV_REDSHIFT_COLUMNS` Proporciona detalles sobre las columnas de las tablas en Redshift. * **Columnas importantes**: * `schema_name`: Esquema de la tabla. * `table_name`: Nombre de la tabla. * `column_name`: Nombre de la columna. * `data_type`: Tipo de dato. * `encoding`: Algoritmo de compresión aplicado. **Consulta útil**: SELECT schema\_name, table\_name, column\_name, data\_type, encoding FROM svv\_redshift\_columns WHERE encoding IS NOT NULL; ### **Conclusión** Estas tablas y vistas del sistema son herramientas esenciales para monitorear y optimizar tu base de datos Redshift. Utilízalas regularmente para identificar problemas de rendimiento, analizar patrones de uso y asegurar que las configuraciones de distribución, ordenamiento y compresión sean las óptimas.
Es el mejor curso que he tomado.

Excelente aporte 🙏

Excelente aporte