Tabulární úložiště NoSQL dat

Úvod do NoSQL

Jake Roach

Data Engineer

Tabulární úložiště dat

Prázdná řádkově orientovaná tabulka.

Prázdná sloupcově orientovaná tabulka.

Sloupcově orientované databáze:

  • Ukládají data ve sloupcích, nikoli v řádcích
  • Umožňují selektivní čtení a načítání sloupců
  • Snadnější změny schématu
  • Lepší komprese dat a výkon dotazů
Úvod do NoSQL

Dotazování sloupcově orientované databáze

Tabulka knih v databázi Snowflake.

Tabulka knih se zvýrazněnými filtrovanými hodnotami.

SELECT
    title,
    price
FROM books
WHERE price < 50.00;

$$

  • Syntaxe podobná SQL
  • Eliminace sloupců a selektivní čtení/načítání
  • Automatické clustering dat
Úvod do NoSQL

Provádění dotazů ve sloupcově orientovaných úložištích

SELECT
    title,
    price
FROM books
WHERE price < 50.00;

Dotaz se provede takto:

  • Přístup ke sloupci price, identifikace záznamů s price < 50.00
  • Načtení odpovídajících hodnot ze sloupce title

Provádění dotazu nad tabulkou knih v databázi Snowflake.

Dále se zaměříme na:

  • Optimalizaci načítání a mazání dat
  • Tvorbu výkonných JOINů
  • Práci s polostrukturovanými daty
Úvod do NoSQL

Připojení k databázi Snowflake

import snowflake.connector

conn = snowflake.connector.connect(
  user="<user>",
  password="<password>",
  account="<account_identifier>",
  database="<database_name>",
  schema="<schema_name>",
  warehouse="<warehouse_name>"
)
  • Proměnná conn bude vytvořena předem, před cvičením
Úvod do NoSQL

Psaní a spouštění dotazů ve Snowflake

# Build a query in a string (or multi-line string)
query = """
SELECT
    title,
    price
FROM books
WHERE price < 50.00;
"""

# Execute the query, print the results
results = conn.cursor().execute(query).fetch_pandas_all()
print(results)
Úvod do NoSQL

Pojďme procvičovat!

Úvod do NoSQL

Preparing Video For Download...