Stocuri de date NoSQL tabelare

Introducere în NoSQL

Jake Roach

Data Engineer

Stocuri de date tabelar

Tabel orientat pe rânduri, gol.

Tabel orientat pe coloane, gol.

Baze de date orientate pe coloane:

  • Stochează datele pe coloane, nu pe rânduri
  • Permit citirea și recuperarea selectivă a coloanelor
  • Modificări mai ușoare ale schemei
  • Compresie mai bună și performanță ridicată la interogări
Introducere în NoSQL

Interogarea unei baze de date orientate pe coloane

Tabelul Books într-o bază de date Snowflake.

Tabelul Books evidențiat cu valori filtrate.

SELECT
    title,
    price
FROM books
WHERE price < 50.00;

$$

  • Sintaxă asemănătoare SQL
  • Eliminarea coloanelor și citire/recuperare selectivă
  • Clustering automat al datelor
Introducere în NoSQL

Execuția interogărilor în stocuri de date orientate pe coloane

SELECT
    title,
    price
FROM books
WHERE price < 50.00;

Această interogare se execută astfel:

  • Se accesează coloana price, se identifică înregistrările cu price < 50.00
  • Se recuperează valorile corespunzătoare din coloana title

Execuția interogării asupra tabelului Books într-o bază de date Snowflake.

În continuare, vom analiza:

  • Optimizarea încărcărilor și ștergerilor de date
  • Crearea unor JOIN-uri performante
  • Lucrul cu date semi-structurate
Introducere în NoSQL

Conectarea la o bază de date Snowflake

import snowflake.connector

conn = snowflake.connector.connect(
  user="<user>",
  password="<password>",
  account="<account_identifier>",
  database="<database_name>",
  schema="<schema_name>",
  warehouse="<warehouse_name>"
)
  • Variabila conn va fi creată în prealabil, înaintea exercițiului
Introducere în NoSQL

Scrierea și executarea interogărilor 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)
Introducere în NoSQL

Să exersăm!

Introducere în NoSQL

Preparing Video For Download...