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:

0 Días
11 Hrs
40 Min
21 Seg

Consumiendo Redshift: empieza la magia

7/33
Resources

How to connect an external client to an Amazon Revpsheet cluster?

Connecting an external client to a cloud cluster may seem complicated, but with the right steps, you will be able to manage your databases from your personal computer. Let's see how you can accomplish this using Amazon Revpsheet and an external SQL editing program.

What are the necessary configurations in Amazon Revpsheet?

Before establishing a connection to an external client, you must make sure that your Revpsheet cluster is configured to accept external connections:

  1. Cluster Access: You should verify in the AWS Management Console that your cluster has the status of "enabled" or "reachable".

  2. Allow external connections: In the properties tab, make sure that the flag to receive external connections is set to "yes" or "yes".

  3. Configure the firewall rules: Go to the security group of your cluster and adjust the firewall rules to allow connections through Revpsheet's default port, which is 5439. It is recommended to specify which IPs have access for security, although initially you can allow access to any IP for testing.

How to use a SQL client like DB Ever to connect to the cluster?

DB Ever is a lightweight and free SQL editor that can be used on different operating systems (Windows, Linux and MacOS). Here's how to use it to connect to your Revpsheet cluster.

  1. Installing DB Ever: If you don't have it installed yet, there are guides available online that will provide you with a step-by-step installation.

  2. Create a new connection: In DB Ever, select "new database connection". Select Revpsheet and enter the following details which can be found in the Revpsheet console:

    • Host: The address of your cluster host or server.
    • Port: 5439.
    • Database name: Use the one you assign during cluster creation.
    • Username and password: Make sure to use secure and correct credentials.
  3. Copy connection details: Use the details provided in your 0DBC connection and paste them into DB Ever to complete the configuration.

How to manage databases from DB Ever?

Once the connection is complete, you can manage your databases and perform SQL queries in the most convenient way. You can create and delete tables, insert data, and perform queries:

-- Create table studentCREATE TABLE student ( id INT, name VARCHAR(30), country_id INT);
-- Insert data into table studentINSERT INTO table student (id, name, country_id) VALUES(1, 'David', 1),(2, 'Rocío', 1),(3, 'Carlos', 2);
-- Perform a SELECT querySELECT * FROM student;

In addition, you can do more complex queries such as joins to get related information:

-- Inner JoinSELECT e.id, e.name, p.name AS countryFROM student eINNER JOIN country p ON e.country_id = p.id;
-- Left JoinSELECT e.id, e.name, p.name AS countryFROM student eLEFT JOIN country p ON e.country_id = p.id;

What advantages does Revpsheet offer over using pure SQL?

One of the biggest benefits of using Revpsheet is that you don't need to learn a new language or syntax; you can simply apply the traditional SQL you know, such as that used in PostgreSQL, Oracle or MySQL.

By connecting an external SQL client like DB Ever to Revpsheet, you can perform a wide range of operations on your data, from simple queries to complex database management, all while leveraging the power of Amazon AWS cloud computing - it's an important step towards modern data management!

With this knowledge and tools, we invite you to go ahead and explore all the possibilities Revpsheet offers you to improve your database management skills.

Contributions 19

Questions 2

Sort by:

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

trate de seguir los pasos del instructor, pero hay algunas diferencias en la interfaz de amazon a día de hoy que me ocasionaron unos problemas al realizar la conexión con DBeaver. asi que comparto algunas cosas a tener en cuenta para evitar los errores que tuve.

primer asegurarse de que de la opción “Publicy accesible” se encuentre en “Enabled”, en el video esta activa por default, pero pueden editarla dando click en “Edit publicly accesible”, podran ver las opciones Seleccionando su cluster, van a la pestaña “Properties”, hacen un poco de scroll y encontraran este flag

luego en en DBeaver cuando vayan a agregar la coneccion, si es primera vez que lo usan les aparecerá un cuadro de dialogo para descargar un controlador de AWS, acepten todo

notaran que cuando el profe copia el ODBC URL, hace uso del boton Copy en la interfaz de amazon,

en la nueva interfaz estos datos están en el primer flag de “General information”

si usan el botón para copiar el odbc o el jdbc, estarán copiando el témplate completo con el siguiente formato

jdbc:redshift://{host}:{port}/{database}

y si pegan todo el url en la casilla ‘Host’ cuando estén dentro DBeaver les dará error en la conexión, lo que deben colocar ahi es solo lo que les aprese escrito en esta parte
asi cuando peguen borren todo lo demás que viene cuando copian el link , llenan los demás campos y listo testeen la conexión

Ahora para editar Publicly accesible si está Disabled por defecto, le damos clic a Actions y luego a Modify publicly accesible setting

DBeaver solo te da una licencia de 14 días de prueba gratis para usar su IDE, pero puedes pedir una licencia Academica gratis si tienes correo electronico finalizado con .edu, acá dejo el formulario para pedir la licencia Academica free.

**aqui esta todo, no lo escriba **

SELECT "hola mundo";


CREATE table estudiante(
id int2,
nombre varchar(30),
pais_id int2
);


CREATE table pais (
psid_id int2,
nombre varchar(60),
pais_is int2 
);

INSERT into estudiante values (1,'David',1),(2,'Rocio',1),(3,'Carlos',3);
INSERT into pais values (1,'Colombia'),(3,'Mexico')

SELECT * FROM estudiante

inner join pais p 
on e.pais_id = p.pais_id; 

Les dejo el código solo denle formato recuerden que como buenas practicas debe ir en mayúsculas.

SELECT 'hola mundo¡¡' texto;
CREATE table estudiante(
id int2
nombre varchar(30),
pais_id int2
);

CREATE table pais (
psid_id int2,
nombre varchar(60),
pais_is int2 
);
INSERT into estuadiante values (1,'David',1),(2,'Rocio',1),(3,'Carlos');
INSERT into pai values (1,'Colombia'),(3,'Mexico')

SELECT * FROM estudiamnte
inner join pais p 
on e.pais_id = p.pais_id; ```
Consumir datos desde un clúster de **AWS Redshift** implica interactuar con las tablas que has cargado y ejecutar consultas SQL optimizadas para obtener insights o alimentar aplicaciones downstream. Aquí te explico cómo empezar a consumir Redshift: ### **1. Configuración inicial** Asegúrate de que: * Tu clúster de Redshift está creado y funcionando. * Los datos están cargados en Redshift (puedes usar Amazon S3 para cargar datos). * Las herramientas de consulta están configuradas para acceder al clúster. ### **2. Conectar a Redshift** Puedes conectarte al clúster de Redshift mediante: * **Cliente SQL**: Herramientas como DBeaver, SQL Workbench/J o cualquier herramienta compatible con JDBC/ODBC. * **AWS Query Editor**: Disponible directamente en la consola de AWS Redshift. * **Librerías de programación**: Usando librerías como `boto3` (Python) o conectores JDBC/ODBC en lenguajes como Java o C#. #### **Pasos para conectarte** 1. **Obtén el endpoint del clúster** desde la consola de AWS. 2. **Configura tu cliente SQL**: * Endpoint (ejemplo: `redshift-cluster-name.cluster-abc123xyz.us-west-2.redshift.amazonaws.com`). * Usuario y contraseña configurados al crear el clúster. * Puerto (por defecto: `5439`). * Nombre de la base de datos. 3. **Proporciona credenciales**: * Al usar herramientas externas, asegúrate de que las credenciales coincidan con las configuradas. ### **3. Escribe y ejecuta consultas SQL** #### **Consulta básica** SELECT \* FROM employees LIMIT 10; * Extrae los primeros 10 registros de la tabla `employees`. #### **Filtrar datos** SELECT name, department FROM employees WHERE department = 'Sales'; * Filtra empleados cuyo departamento sea "Ventas". #### **Agrupar datos** SELECT department, COUNT(\*) AS num\_employees FROM employees GROUP BY department; * Cuenta el número de empleados por departamento. #### **Optimizar con SORTKEY** Si tienes una tabla configurada con una clave de ordenación (SORTKEY), aprovecha este diseño en tus consultas para mejorar el rendimiento. ### **4. Integración con herramientas** Puedes consumir datos desde Redshift para alimentar dashboards, sistemas de análisis o aplicaciones usando: * **Amazon QuickSight**: Visualiza datos directamente desde tu clúster Redshift. * **ETL Tools**: Conecta Redshift con herramientas como Apache Airflow o Glue para mover datos entre sistemas. * **Python (psycopg2)**:import psycopg2 conn = psycopg2.connect( dbname='your\_dbname', host='your\_endpoint', port='5439', user='your\_username', password='your\_password' ) cur = conn.cursor() cur.execute("SELECT \* FROM employees LIMIT 10;") rows = cur.fetchall() for row in rows: print(row) conn.close() ### **5. Monitorear y ajustar** * Usa la consola de **Redshift Performance** para identificar consultas que consumen demasiados recursos. * Aplica estrategias como la partición de tablas, claves de distribución (DISTKEY) y claves de ordenación (SORTKEY) para mejorar tiempos de consulta. ### **6. Automatización y despliegue** * **Amazon EventBridge**: Programa la ejecución de consultas. * **Airflow**: Automatiza la extracción, transformación y carga desde y hacia Redshift.

Para los curiosos, en VScode se puede realizar la conexion, solo descarguen las extensiones correctas y les servira, hay opciones, en mi caso instale SQLTools y redshift driver, con esos dos pude desde mi vscode hacer la conexion a redshift y hacer las consultas. No digo que sera igual que usar dbeaver, yo particularmente ya lo habia manejado y estaba instalado en mi sistema, sin embargo quise probar a usar el vscode.

Ya entiendo por que Sheldon ama Amazon

Es posible ejecutar codigo y tipos de datos #postgresql con esta configuracion de Redshift?

Y no olviden siempre eliminar el cluster cuando terminen de practicar xD yo justo me acabo de llevar una sorpresa con la facturación de mi cuenta
Que version de DBeaver debo instalar, ma aparecen varias la late, interpraise???

Por si alguien no puede conectar y al parecer está todo bien, prueben modificando la contraseña del usuario de la base de datos. A mí me funcionó.
Slds

Alguien tuvo problemas al instalar DBeaverEE en mac? Me sale un error cuando voy a crear la conexion. El log muestra que es por la falta del driver. Pero busque en el directorio y estan los drivers para redshift, aunque no encontre exactamente este driver 'com.amazon.redshift.jdbc42.Driver’
alguna ayuda?
abajo esta el error logeado
Can’t create driver instance
Error creating driver ‘AWS / Redshift’ instance.
Most likely required jar files are missing.
You should configure jars in driver settings.

Reason: can’t load driver class 'com.amazon.redshift.jdbc42.Driver’
Error creating driver ‘AWS / Redshift’ instance.
Most likely required jar files are missing.
You should configure jars in driver settings.

Reason: can’t load driver class 'com.amazon.redshift.jdbc42.Driver’
SHA1 digest error for com/amazon/redshift/jdbc42/Driver.class
SHA1 digest error for com/amazon/redshift/jdbc42/Driver.class

interesante

Para los que no les funciona sin el AS:

SELECT * FROM estudiante AS e
LEFT JOIN pais AS p
ON e.pais_id = p.pais_id;

Por si alguien estaba buscando el link para descargar DBeaver:

https://dbeaver.com/download/lite/

Excelente la clase

de verdad no me puedo conectar

Muy interesante