Табличні NoSQL-сховища даних

Вступ до NoSQL

Jake Roach

Data Engineer

Табличні сховища даних

Порожня рядково-орієнтована таблиця.

Порожня стовпцево-орієнтована таблиця.

Стовпцево-орієнтовані бази даних:

  • Зберігають дані у стовпцях, а не в рядках
  • Дають вибіркове читання й отримання стовпців
  • Легше змінювати схему
  • Краще стискання даних і швидші запити
Вступ до NoSQL

Запити до стовпцево-орієнтованої бази даних

Таблиця Books у базі даних Snowflake.

Таблиця Books з підсвіченими відфільтрованими значеннями.

SELECT
    title,
    price
FROM books
WHERE price < 50.00;

$$

  • Синтаксис, схожий на SQL
  • Вилучення стовпців і вибіркове читання/отримання
  • Автоматичне кластеризація даних
Вступ до NoSQL

Виконання запитів у стовпцево-орієнтованих сховищах даних

SELECT
    title,
    price
FROM books
WHERE price < 50.00;

Цей запит виконується так:

  • Звертається до стовпця price, знаходить записи з price < 50.00
  • Отримує відповідні значення зі стовпця title

Виконання запиту до таблиці books у базі даних Snowflake.

Далі розглянемо:

  • Оптимізацію завантажень і видалень даних
  • Створення швидких JOIN
  • Роботу з напівструктурованими даними
Вступ до NoSQL

Підключення до бази даних Snowflake

import snowflake.connector

conn = snowflake.connector.connect(
  user="<user>",
  password="<password>",
  account="<account_identifier>",
  database="<database_name>",
  schema="<schema_name>",
  warehouse="<warehouse_name>"
)
  • Змінну conn буде створено для вас до початку вправи
Вступ до NoSQL

Написання та виконання запитів у 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)
Вступ до NoSQL

Давайте потренуємось!

Вступ до NoSQL

Preparing Video For Download...