Tabellarische NoSQL-Datenspeicher

Einführung in NoSQL

Jake Roach

Data Engineer

Tabellarische Datenspeicher

Leere zeilenorientierte Tabelle.

Leere spaltenorientierte Tabelle.

Spaltenorientierte Datenbanken:

  • Speichern Daten in Spalten statt in Zeilen
  • Erlauben selektives Lesen/Abrufen von Spalten
  • Einfachere Schemaänderungen
  • Bessere Kompression und Abfrageleistung
Einführung in NoSQL

Abfragen einer spaltenorientierten Datenbank

Bücher-Tabelle in einer Snowflake-Datenbank.

Bücher-Tabelle mit gefilterten Werten hervorgehoben.

SELECT
    title,
    price
FROM books
WHERE price < 50.00;

$$

  • SQL-ähnliche Syntax
  • Spalteneliminierung und selektives Lesen/Abrufen
  • Automatisches Daten-Clustering
Einführung in NoSQL

Abfrageausführung in spaltenorientierten Datenspeichern

SELECT
    title,
    price
FROM books
WHERE price < 50.00;

Diese Abfrage läuft so ab:

  • Zugriff auf die Spalte price, Datensätze mit price < 50.00 ermitteln
  • Entsprechende Werte aus der Spalte title abrufen

Ausführung der Abfrage gegen die Bücher-Tabelle in einer Snowflake-Datenbank.

Später schauen wir uns an:

  • Laden und Löschen von Daten optimieren
  • Performante JOINs erstellen
  • Mit semi-strukturierten Daten arbeiten
Einführung in NoSQL

Verbindung zu einer Snowflake-Datenbank herstellen

import snowflake.connector

conn = snowflake.connector.connect(
  user="<user>",
  password="<password>",
  account="<account_identifier>",
  database="<database_name>",
  schema="<schema_name>",
  warehouse="<warehouse_name>"
)
  • Die Variable conn wird vor der Übung für dich erstellt
Einführung in NoSQL

Snowflake-Abfragen schreiben und ausführen

# Erstelle eine Abfrage in einem String (oder Multiline-String)
query = """
SELECT
    title,
    price
FROM books
WHERE price < 50.00;
"""

# Führe die Abfrage aus und gib die Ergebnisse aus
results = conn.cursor().execute(query).fetch_pandas_all()
print(results)
Einführung in NoSQL

Lass uns üben!

Einführung in NoSQL

Preparing Video For Download...