Almacenes de datos NoSQL no tabulares

Introducción a NoSQL

Jake Roach

Data Engineer

Bases de datos de documentos

Definición: Una herramienta de almacenamiento NoSQL que guarda datos en un formato flexible y semiestructurado, compuesto por pares clave-valor, clave-array y clave-objeto (similar a JSON).

$$

$$

Logotipo de Postgres JSON.

{
    "title": "Python for Data Analysis",
    "price": 53.99,
    "topics": [
        "Data Science",
        "Data Analytics",
        ...
    ],
    "author": {
        "first": "William"
        ...
    }
}
Introducción a NoSQL

Consultar datos JSON con Postgres JSON

Datos JSON resaltados almacenados en una tabla de Postgres.

SELECT
    books -> 'title' AS title,
    books -> 'price' AS price
FROM data_science_resources
WHERE 
    books -> 'author' ->> 'last' = 'Viafore';

Genera la siguiente salida:

Resultado de la consulta JSON en Postgres.

Introducción a NoSQL

Conectarte a una base de datos Postgres

import sqlalchemy

# Create a connection string, and an engine
connection_string = "postgresql+psycopg2://<user>:<password>@<host>:<port>/<database>"
db_engine = sqlalchemy.create_engine(connection_string)

Para crear una conexión a una base de datos Postgres:

  • Forma una cadena de conexión
  • Crea un engine con sqlalchemy.create_engine
  • La variable db_engine se creará antes del ejercicio
Introducción a NoSQL

Escribir y ejecutar consultas JSON en Postgres

import pandas as pd

# Build the query
query = """
    SELECT
        books -> 'title' AS title,
        books -> 'price' AS price
    FROM data_science_resources;
"""

# Execute the query
result = pd.read_sql(query, db_engine)
print(result)

Para escribir y ejecutar una consulta:

  • Crea la consulta en una cadena
  • Pasa query y db_engine a la función pd.read_sql()
  • Imprime el DataFrame resultante
Introducción a NoSQL

Otros almacenes NoSQL no tabulares

Clave-valor
{
    "name": "Jane Doe",
    "age": 25,
    "email": "[email protected]"
}

$$

Logotipo de Redis.

Grafo

Imagen de una base de datos de grafos.

Introducción a NoSQL

¡Vamos a practicar!

Introducción a NoSQL

Preparing Video For Download...