Anton Sidorov homepage

Bookmark this to keep an eye on my project updates!

Follow me on GitHub

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

Зачем

  • MS Хранилища данных
  • Интегрирует множество источников данных и помогает снизить нагрузку на производственную систему.
  • Оптимизированные данные для доступа к чтению и последовательного сканирования диска.
  • Хранилище данных помогает защитить данные от обновлений исходной системы.
  • Позволяет пользователям выполнять управление основными данными.
  • Улучшение качества данных в исходных системах.

Плюсы и минусы

Критерии

  • RDBMS (Relational Database Management System)
    • Almost anything could be solved by them.
  • Time-series database
    • Store and manage time-stamped data.
  • NoSQL
    • Key Value
      • In-memory store - Their speed and limited data size make them ideal for fast operations.
    • Graph database - It is suitable for complex relationships between unstructured objects.
    • Document store - They are good for large immutable data.
    • Wide column store - They are usually used for big data, analytics, reporting, etc., which needs denormalized data.
  • Full text search Полнотекстовый поиск

Паттерны

  • Модель данных звезда — оптимальная структура данных при переходе на российский BI
  • Агрегированные витрины
    • Materialized View
  • Data Mining против хранилища данных
  • On-Line Analitical Processing (OLAP) - оперативная аналитическая обработка данных
    • принципы построения систем поддержки принятия решений (Decision Support System - DSS)
    • хранилищ данных (Data Warehouse)
    • систем интеллектуального анализа данных (Data Mining)
  • Мутабельные (изменяемые mutable) или иммутабельные (не изменяемые immutable) данные
  • Принципы ACID
    • atomaric
    • consistently
    • isolation
    • durability
  • OLTP (Online Transaction Processing)
    • CRUD обработка транзакций
  • Нормальная форма отношений в РСУБД 1, 2, 3 для OLTP
    • Денормализация отношений для OLAP
    • В решениях 1С компромисс реализован следующим образом: События при записи в базу пишутся сразу в несколько мест
      • В одном месте записи имеют мало индексов и оптимизированы под OLTP нагрузки
      • в другом месте записи индексируются по всем полям и адаптированы для OLAP нагрузок
      • Такие таблицы называются регистрами накоплений и регистрами сведений.
  • Секционирование шардирование

Принципы проектирования

Выбор хранилища http://architecturethehardparts.com/

Технологии

Технологии