Табличные хранилища данных 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...