Tabelaryczne magazyny danych NoSQL

Wprowadzenie do NoSQL

Jake Roach

Data Engineer

Tabelaryczne magazyny danych

Pusta tabela wierszowa.

Pusta tabela kolumnowa.

Kolumnowe bazy danych:

  • Przechowują dane w kolumnach, nie w wierszach
  • Umożliwiają selektywny odczyt kolumn
  • Łatwiejsze zmiany schematu
  • Lepsza kompresja danych i wydajność zapytań
Wprowadzenie do NoSQL

Zapytania do kolumnowej bazy danych

Tabela books w bazie danych Snowflake.

Tabela books z wyróżnionymi filtrowanymi wartościami.

SELECT
    title,
    price
FROM books
WHERE price < 50.00;

$$

  • Składnia podobna do SQL
  • Eliminacja kolumn i selektywny odczyt
  • Automatyczne grupowanie danych
Wprowadzenie do NoSQL

Wykonywanie zapytań w kolumnowych magazynach danych

SELECT
    title,
    price
FROM books
WHERE price < 50.00;

Zapytanie wykonywane jest przez:

  • Odczyt kolumny price, identyfikację rekordów spełniających price < 50.00
  • Pobranie odpowiednich wartości z kolumny title

Wykonanie zapytania na tabeli books w bazie Snowflake.

W dalszej części omówimy:

  • Optymalizację ładowania i usuwania danych
  • Tworzenie wydajnych JOINów
  • Pracę z danymi częściowo ustrukturyzowanymi
Wprowadzenie do NoSQL

Łączenie z bazą danych Snowflake

import snowflake.connector

conn = snowflake.connector.connect(
  user="<user>",
  password="<password>",
  account="<account_identifier>",
  database="<database_name>",
  schema="<schema_name>",
  warehouse="<warehouse_name>"
)
  • Zmienna conn zostanie utworzona automatycznie przed ćwiczeniem
Wprowadzenie do NoSQL

Pisanie i wykonywanie zapytań 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)
Wprowadzenie do NoSQL

Czas na ćwiczenia!

Wprowadzenie do NoSQL

Preparing Video For Download...