Нетабличные хранилища данных NoSQL

Введение в NoSQL

Jake Roach

Data Engineer

Документоориентированные базы данных

Определение: Инструмент хранения данных NoSQL, в котором данные хранятся в гибком, полуструктурированном формате в виде пар «ключ–значение», «ключ–массив» и «ключ–объект» (аналогично JSON).

$$

$$

Логотип Postgres JSON.

{
    "title": "Python for Data Analysis",
    "price": 53.99,
    "topics": [
        "Data Science",
        "Data Analytics",
        ...
    ],
    "author": {
        "first": "William"
        ...
    }
}
Введение в NoSQL

Запросы к данным JSON с помощью Postgres JSON

Выделенные данные JSON, хранящиеся в таблице Postgres.

SELECT
    books -> 'title' AS title,
    books -> 'price' AS price
FROM data_science_resources
WHERE 
    books -> 'author' ->> 'last' = 'Viafore';

Результат выполнения запроса:

Результат запроса Postgres JSON.

Введение в NoSQL

Подключение к базе данных Postgres

import sqlalchemy

# Create a connection string, and an engine
connection_string = "postgresql+psycopg2://<user>:<password>@<host>:<port>/<database>"
db_engine = sqlalchemy.create_engine(connection_string)

Чтобы подключиться к базе данных Postgres:

  • Сформируйте строку подключения
  • Создайте движок с помощью sqlalchemy.create_engine
  • Переменная db_engine будет создана до выполнения упражнения
Введение в NoSQL

Написание и выполнение запросов Postgres JSON

import pandas as pd

# Build the query
query = """
    SELECT
        books -> 'title' AS title,
        books -> 'price' AS price
    FROM data_science_resources;
"""

# Execute the query
result = pd.read_sql(query, db_engine)
print(result)

Чтобы написать и выполнить запрос:

  • Составьте запрос в виде строки
  • Передайте query и db_engine в функцию pd.read_sql()
  • Выведите полученный DataFrame
Введение в NoSQL

Другие нетабличные хранилища данных NoSQL

Ключ–значение
{
    "name": "Jane Doe",
    "age": 25,
    "email": "[email protected]"
}

$$

Логотип Redis.

Граф

Пример графовой базы данных.

Введение в NoSQL

Давайте потренируемся!

Введение в NoSQL

Preparing Video For Download...