Almacenes de datos NoSQL tabulares

Introducción a NoSQL

Jake Roach

Data Engineer

Almacenes de datos tabulares

Tabla vacía orientada a filas.

Tabla vacía orientada a columnas.

Bases de datos orientadas a columnas:

  • Guardan datos por columnas, no por filas
  • Permiten leer y recuperar columnas selectivas
  • Cambios de esquema más sencillos
  • Mejor compresión y rendimiento en consultas
Introducción a NoSQL

Consultar una base de datos orientada a columnas

Tabla Books en una base de datos Snowflake.

Tabla Books resaltada con valores filtrados.

SELECT
    title,
    price
FROM books
WHERE price < 50.00;

$$

  • Sintaxis similar a SQL
  • Eliminación de columnas y lecturas/recuperación selectivas
  • Clustering de datos automático
Introducción a NoSQL

Ejecución de consultas en almacenes orientados a columnas

SELECT
    title,
    price
FROM books
WHERE price < 50.00;

Esta consulta se ejecuta así:

  • Accede a la columna price e identifica registros con price < 50.00
  • Recupera los valores correspondientes de la columna title

Ejecución de la consulta sobre la tabla books en una base de datos Snowflake.

Más adelante veremos:

  • Optimizar cargas y borrados de datos
  • Crear JOINs con buen rendimiento
  • Trabajar con datos semiestructurados
Introducción a NoSQL

Conectarse a una base de datos Snowflake

import snowflake.connector

conn = snowflake.connector.connect(
  user="<user>",
  password="<password>",
  account="<account_identifier>",
  database="<database_name>",
  schema="<schema_name>",
  warehouse="<warehouse_name>"
)
  • La variable conn se creará por ti antes del ejercicio
Introducción a NoSQL

Escribir y ejecutar consultas en Snowflake

# Construye una consulta en una cadena (o cadena multilínea)
query = """
SELECT
    title,
    price
FROM books
WHERE price < 50.00;
"""

# Ejecuta la consulta e imprime los resultados
results = conn.cursor().execute(query).fetch_pandas_all()
print(results)
Introducción a NoSQL

¡Vamos a practicar!

Introducción a NoSQL

Preparing Video For Download...