Хранение данных

Проектирование баз данных

Lis Sulmont

Curriculum Manager

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

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

  • Соответствуют схеме
  • Определённые типы данных и связи

например, SQL, таблицы в реляционной базе данных

2. Неструктурированные данные  

  • Без схемы
  • Составляют большую часть данных в мире

например, фотографии, журналы чатов, MP3

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

  • Не следуют общей схеме
  • Самоописывающая структура

например, NoSQL, XML, JSON

# Example of a JSON file
"user": {
     "profile_use_background_image": true, 
     "statuses_count": 31, 
     "profile_background_color": "C0DEED", 
     "followers_count": 3066, 
     ...
Проектирование баз данных

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

Диаграмма, показывающая спектр между структурированными и неструктурированными данными

1 Flower by Sam Oth and Database Diagram by Nick Jenkins via Wikimedia Commons https://commons.wikimedia.org/wiki/File:Languages_xml.png
Проектирование баз данных

Хранение данных: за пределами традиционных баз данных

  • Традиционные базы данных
    • Для хранения актуальных реляционных структурированных данных ⟶ OLTP
  • Хранилища данных
    • Для анализа архивных структурированных данных ⟶ OLAP
  • Озёра данных
    • Для хранения данных любых структур = гибкость и масштабируемость
    • Для анализа больших данных
Проектирование баз данных

Хранилища данных

  • Оптимизированы для аналитики — OLAP
    • Организованы для чтения и агрегации данных
    • Как правило, только чтение
  • Содержат данные из нескольких источников
  • Массивная параллельная обработка (MPP)
  • Обычно используют денормализованную схему и размерное моделирование

Витрины данных

  • Подмножество хранилища данных
  • Посвящены отдельной теме

Amazon Redshift, Google BigQuery и Azure SQL Data Warehouse

Витрина данных как подмножество хранилища данных

Проектирование баз данных

Озёра данных

  • Хранят данные всех типов по более низкой цене:
    • например, сырые данные, операционные БД, журналы IoT-устройств, данные реального времени, реляционные и нереляционные
  • Сохраняют все данные; объём может достигать петабайт
  • Схема при чтении, а не при записи
  • Требуют каталогизации данных, иначе превращаются в болото данных
  • Поддерживают аналитику больших данных с помощью Apache Spark и Hadoop
    • Незаменимы для глубокого обучения и разведочного анализа данных

Amazon, Google и Microsoft предлагают решения для озёр данных

Проектирование баз данных

ETL

ELT

Проектирование баз данных

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

Проектирование баз данных

Preparing Video For Download...