Базы данных

Введение в дата-инжиниринг

Vincent Vankrunkelsven

Data Engineer @ DataCamp

Что такое базы данных?

 

Изображение базы данных

Как правило, большая коллекция данных, организованная для быстрого поиска и извлечения.

 

  • Хранит данные
  • Организует данные
  • Поиск и извлечение данных через СУБД
Введение в дата-инжиниринг

Базы данных и файловые хранилища

Базы данных

 

Изображение базы данных

  • Высокая организованность
  • Функции поиска, репликации и др.

Файловые системы

 

Изображение файла

  • Менее организованны
  • Простые, с минимальным функционалом
Введение в дата-инжиниринг

Структурированные и неструктурированные данные

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

  • Реляционная база данных

 

Полуструктурированные

  • JSON

 

Неструктурированные: без схемы, ближе к файлам

  • Видео, фото

Изображение базы данных

 

{ "key": "value"}

 

Изображение файла

Введение в дата-инжиниринг

SQL и NoSQL

SQL

  • Таблицы
  • Схема базы данных
  • Реляционные базы данных

 

Изображение MySQL

Изображение PostgreSQL

NoSQL

  • Нереляционные базы данных
  • Структурированные или неструктурированные
  • Хранилища «ключ — значение» (например, кэширование)
  • Документные БД (например, объекты JSON)

 

Изображение Redis/MongoDB

Введение в дата-инжиниринг

SQL: схема базы данных

-- Create Customer Table 
CREATE TABLE "Customer" (
  "id" SERIAL NOT NULL,
  "first_name" varchar,
  "last_name" varchar,
  PRIMARY KEY ("id")
);

-- Create Order Table 
CREATE TABLE "Order" (
  "id" SERIAL NOT NULL,
  "customer_id" integer REFERENCES "Customer",
  "product_name" varchar,
  "product_price" integer,
  PRIMARY KEY ("id")
);

Схема базы данных для таблиц Customer и Order

-- Join both tables on foreign key
SELECT * FROM "Customer"
INNER JOIN "Order"
ON "customer_id" = "Customer"."id";
 id | first_name | ... | product_price
  1 | Vincent    | ... |            10
Введение в дата-инжиниринг

SQL: схема «звезда»

Схема «звезда» состоит из одной или нескольких таблиц фактов, связанных с произвольным числом таблиц измерений.

Диаграмма схемы «звезда» для таблиц Customers и Orders

  • Факты: произошедшие события (например, заказы товаров)
  • Измерения: контекстная информация (например, данные о клиентах)
1 Wikipedia: https://en.wikipedia.org/wiki/Star_schema
Введение в дата-инжиниринг

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

Введение в дата-инжиниринг

Preparing Video For Download...