Archivi NoSQL tabellari

Introduzione ai database NoSQL

Jake Roach

Data Engineer

Archivi tabellari

Tabella orientata alle righe vuota.

Tabella orientata alle colonne vuota.

Database orientati alle colonne:

  • Archiviano i dati per colonne, non per righe
  • Consentono letture/recuperi selettivi di colonne
  • Modifiche di schema più semplici
  • Migliore compressione e prestazioni delle query
Introduzione ai database NoSQL

Interrogare un database orientato alle colonne

Tabella Books in un database Snowflake.

Tabella Books con valori filtrati evidenziati.

SELECT
    title,
    price
FROM books
WHERE price < 50.00;

$$

  • Sintassi tipo SQL
  • Eliminazione colonne e letture/recuperi selettivi
  • Clustering dei dati automatico
Introduzione ai database NoSQL

Esecuzione delle query negli archivi orientati alle colonne

SELECT
    title,
    price
FROM books
WHERE price < 50.00;

Questa query viene eseguita così:

  • Accede alla colonna price, identifica i record con price < 50.00
  • Recupera i valori corrispondenti dalla colonna title

Esecuzione della query sulla tabella books in un database Snowflake.

Più avanti vedremo:

  • Ottimizzare caricamenti ed eliminazioni di dati
  • Creare JOIN performanti
  • Lavorare con dati semi-strutturati
Introduzione ai database NoSQL

Connessione a un database 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 variabile conn sarà già creata per te prima dell'esercizio
Introduzione ai database NoSQL

Scrivere ed eseguire query in Snowflake

# Crea una query in una stringa (anche multi-linea)
query = """
SELECT
    title,
    price
FROM books
WHERE price < 50.00;
"""

# Esegui la query e stampa i risultati
results = conn.cursor().execute(query).fetch_pandas_all()
print(results)
Introduzione ai database NoSQL

Esercitiamoci!

Introduzione ai database NoSQL

Preparing Video For Download...