Зачем нужно хранилище данных
Лицо, принимающее решение (ЛПР; decision maker), отвечает за
корпоративные решения. Чтобы принимать их эффективно, ему нужен
детальный анализ бизнеса. В анализе могут использоваться все потоки
данных, которые логируются, то есть записываются и где-то хранятся.
Например, компания с колл-центром может записывать разговоры операторов,
переводить аудио в текст и анализировать диалоги. Так становится
понятно, чем клиенты довольны, а чем недовольны, какие претензии
встречаются чаще. Это помогает улучшать предложение.
Данные бывают разными:
- структурированные — карточка заказа или клиента, где известно
значение каждого поля;
- неструктурированные — разговор клиента и оператора, содержание
которого заранее не известно.
Для анализа нужны не только внутренние данные компании, но и внешние
источники:
- данные о конкурентах;
- статистика по регионам, возрасту, полу, доходам;
- макроэкономические показатели, например курс валют.
Также важно видеть тенденции спроса. Поэтому нужно хранить не только
текущую информацию, но и ретроспективную историю: как развивалась
компания, бизнес-процесс, отдел или другой аспект деятельности.
Что такое хранилище данных
Для упрощения этой цепочки было создано хранилище данных (Data
Warehouse). Оно содержит сведения из разных источников. Эти источники
заранее не должны быть жестко зафиксированы. Внутри хранилища должен
быть инструмент, который позволяет подключаться как к внутренним
серверам компании, так и к внешним источникам.
Концепция хранилища данных основана на развитой технологии баз данных. В
компании может быть много баз с разной структурой и разными задачами.
Понадобился объект, который собирает данные независимо от их структуры и
предназначения.
Формальное определение: хранилище данных — это
предметно-ориентированный, интегрированный, привязанный ко времени и
неизменяемый набор данных, предназначенный для поддержки принятия
решений.
Это определение нужно раскрывать по частям.
Ключевые свойства хранилища данных
Предметная ориентированность
Хранилище данных служит человеку и решению конкретной задачи в
определенной предметной области. Его главная цель — не минимизация
места хранения и не максимальное удобство для машины. Оно должно
отталкиваться от прикладной задачи, а не от особенностей железа или
программного обеспечения.
Основоположники архитектуры хранилищ данных работали в период, когда
техника еще не отвечала нужным требованиям. Они предвидели, что
технологии разовьются. Ключевые фигуры этого направления — Билл Инмон
(Bill Inmon) и Ральф Кимболл (Ralph Kimball).
Интегрированность
Вся цепочка — от изъятия информации из источников до глубокого анализа
— должна быть интегрирована в единое решение. Нельзя, чтобы один
компонент хранилища делала одна команда, а другой — другая, без
единого инструмента.
Интеграция многослойна:
- на уровне данных из разных источников;
- на уровне задач и компонентов всей цепочки.
Хранилище должно быть единым, цельным инструментом.
Привязка ко времени
Анализ продаж всегда идет за период. Хранилище должно быстро формировать
и извлекать информацию за заданный временной промежуток.
Один и тот же отчет можно использовать для разных периодов. Меняется
только параметр времени. Это особенно важно для бухгалтерии, где из
месяца в месяц формируются похожие отчеты. Если меняется
законодательство, отчет корректируется, но в остальном структура
остается той же.
Для анализа данных действует та же логика. История накоплена, из нее
делается вывод о будущем. Через месяц будущее становится настоящим, и
нужен новый прогноз. Не нужно заново писать алгоритм — достаточно
изменить временной период. Так формируется снимок данных, актуальный
для выбранного периода.
Неизменяемость
В транзакционной базе данных естественны операции:
- Insert — вставка;
- Update — обновление;
- Delete — удаление;
- Select — выборка.
Например, при продаже товара в базе появляется новая строка. При
возврате данные могут измениться. Для базы данных это нормально.
В хранилище данных ситуация иная. Здесь практически не существует
модификации данных. Основная операция — Select. Все изменения
происходят только в первичном источнике.
Взгляд направлен только от базы к хранилищу. База передает информацию
хранилищу, но хранилище не может вернуться в базу и изменить ее данные.
За корректность информации в базе отвечает сама база. Хранилище
принимает данные как факт.
Если нужно отобразить дату в другом формате, это делается инструментом
визуализации. Исходная информация остается неизменной. Поэтому набор
данных в хранилище неизменяем. Он меняется только по времени: сегодня
получены одни данные, завтра — более свежие. Но обратного изменения
первичного источника быть не может.
OLAP и Data Mining
Ответственным за корпоративные решения нужны мощные инструменты анализа
накопленных данных. Ключевой инструмент — OLAP (Online Analytical
Processing), то есть оперативная аналитическая обработка, или
онлайн-аналитика.
OLAP — это технология, которая позволяет хранить информацию в
удобной для анализа форме и извлекать ее так, чтобы быстро формировать
отчетность, отвечать на вопросы и проводить анализ.
Другой инструмент — Data Mining (интеллектуальный анализ данных,
добыча данных). Его задача — находить неочевидные зависимости. Это
возможно благодаря алгоритмам машинного обучения и искусственного
интеллекта.
Совокупность OLAP и Data Mining — это то, ради чего создаются
хранилища данных. Нужно собрать информацию, упаковать ее в архитектуру
OLAP и добавить инструмент анализа, который видит скрытые
закономерности.
Эволюция и главная задача хранилища
С 1970-х по 1990-е годы активно развивались компьютерные технологии.
Стало понятно, что человек ограничен в хранении данных. Бумажные и
аналоговые носители несовершенны: у них малый объем и невысокое качество
хранения.
Поэтому компании стали развивать компьютерные системы. Задача хранения
информации в основном была решена. Чтобы записывать данные, нужны
накопители: жесткие диски или SSD (Solid-State Drive,
твердотельный накопитель). Информацию можно сохранить и извлечь даже
через много лет.
Но компании стали хранить сотни гигабайт, терабайты и даже петабайты
данных. Возник вопрос: какой смысл в хранении, если из него не
извлекаются новые знания?
Поэтому основной аспект хранилищ данных сместился от самого хранения к
анализу. Хранение продолжает совершенствоваться: появляются алгоритмы
сжатия, новые файловые системы. Но главная задача — извлечь ценное из
огромного объема информации.
Основная задача хранилища — преобразование накопленных архивов в
источник новых знаний. Из ретроспективы нужно делать выводы о будущем.
История должна формировать будущее.
Концепция хранилища данных должна удовлетворять требованиям систем
поддержки принятия решений. Также она должна базироваться на информации
из нескольких различных источников оперативных данных.
Витрины данных
В конце курса рассматривается понятие Data Mart — витрина
данных, или «магазин данных». Русский перевод звучит странно, потому
что исходный термин не сводится к магазину. Это семантическая коллизия
перевода.
Краткие итоги
Хранилище данных возникает там, где бизнесу требуется не просто
фиксировать операции, а понимать закономерности и принимать обоснованные
решения. Текущие транзакционные системы хорошо справляются с вводом,
изменением и удалением записей, но они не предназначены для полного
анализа истории. Для управленческих решений нужна другая логика: собрать
данные из множества внутренних и внешних источников, сохранить их
ретроспективу, привести к согласованному виду и предоставить инструменты
анализа.
Поэтому хранилище проектируется не как копия базы, а как
предметно-ориентированная среда, где главным является задача
пользователя, а не экономия места или удобство конкретного программного
модуля.
Ключевая ценность такой среды раскрывается через четыре свойства:
предметная ориентированность, интегрированность, привязка ко времени и
неизменяемость. Предметная ориентированность означает, что решения
принимаются для конкретной области, а не ради самой автоматизации.
Интегрированность требует единой цепочки от извлечения данных до анализа
и согласования сведений из разных источников. Привязка ко времени
превращает период в основной параметр отчетов и срезов: один и тот же
запрос пересчитывается для нужного интервала. Неизменяемость фиксирует
разделение ответственности: источник отвечает за корректность текущих
операций, а хранилище только читает и накапливает данные, не изменяя их
задним числом.
Практический смысл этого разделения становится ясен при сравнении с
транзакционной базой. В базе операции Insert, Update и Delete
естественны, потому что она обслуживает текущий бизнес-процесс. В
хранилище основная операция — Select. Новые данные поступают по мере
работы источников, но уже загруженные исторические записи не
переписываются. Если нужно отобразить дату в другом формате, это
делается визуализацией, а не изменением исходного факта. Так сохраняется
достоверность истории.
Аналитическая надстройка над хранилищем включает OLAP и Data Mining.
OLAP обеспечивает быструю отчетность и анализ по заданным измерениям,
прежде всего по времени. Data Mining ищет неочевидные зависимости,
используя алгоритмы машинного обучения и искусственного интеллекта.
Вместе они превращают накопленный архив в источник новых знаний: прошлое
используется для понимания настоящего и прогнозирования будущего.
Поэтому главная задача хранилища — не просто хранить большие объемы, а
извлекать из них ценность для решений. Развитие технологий хранения
сделало эту задачу технически возможной, но не отменило необходимость
анализа.
Назначение хранилища данных
Лицо, принимающее решение (ЛПР; decision maker), нуждается в
детальном анализе бизнеса. Для этого используются все логируемые данные:
структурированные, например карточки заказов, и неструктурированные,
например разговоры колл-центра. Анализ опирается не только на внутренние
данные, но и на внешние источники: статистику, данные о конкурентах,
макроэкономические показатели. Чтобы видеть тенденции, нужно хранить
историю, а не только текущее состояние.
Определение и свойства
Хранилище данных (Data Warehouse) — это
предметно-ориентированный, интегрированный, привязанный ко времени и
неизменяемый набор данных для поддержки принятия решений.
Предметная ориентированность означает, что хранилище служит
конкретной прикладной задаче, а не экономии места или удобству машины.
Интегрированность означает единую цепочку от извлечения данных до
анализа. Данные из разных источников должны быть согласованы, а
хранилище — единым инструментом.
Привязка ко времени означает, что период является параметром отчета.
Один и тот же отчет или прогноз можно пересчитать для другого временного
промежутка. Данные представляют собой снимок, актуальный на выбранный
период.
Неизменяемость означает, что в хранилище данные не модифицируются.
Основная операция — Select. Изменения происходят только в
первичном источнике. Хранилище принимает данные как факт и не влияет на
источник.
База данных и хранилище
В транзакционной базе естественны
операции Insert, Update, Delete и Select. Она
обслуживает текущий бизнес-процесс. В хранилище модификация данных не
используется: данные только читаются. Если нужно изменить формат даты,
это делается визуализацией, а исходный факт остается неизменным.
OLAP и Data Mining
OLAP (Online Analytical Processing) — оперативная аналитическая
обработка. Это технология, позволяющая хранить и извлекать данные так,
чтобы быстро формировать отчеты, отвечать на вопросы и проводить анализ.
Data Mining — интеллектуальный анализ данных. Он ищет неочевидные
зависимости с помощью алгоритмов машинного обучения и искусственного
интеллекта.
OLAP и Data Mining — ключевые инструменты анализа накопленных данных.
Вместе они превращают архив в источник новых знаний.
Эволюция и главная задача
С 1970-х по 1990-е годы развивались компьютерные технологии. Хранение
данных в основном стало решенной задачей: появились диски и SSD. Но
объемы данных выросли до гигабайт, терабайт и петабайт. Возник вопрос:
как извлекать из них ценность?
Главная задача хранилища — преобразовывать накопленные архивы в
источник новых знаний. История должна помогать понимать настоящее и
прогнозировать будущее. Хранение продолжает улучшаться за счет сжатия и
новых файловых систем, но основной акцент сместился к анализу.
Витрины данных
Data Mart — витрина данных, или «магазин данных». Русский перевод
неточен: исходный термин не сводится к магазину. Это специализированное
представление данных для более узких задач.
1. Хранилище данных нужно для поддержки решений, а не для текущей транзакционной работы.
2. Источники данных могут быть внутренними и внешними, структурированными и неструктурированными.
3. Хранилище сохраняет историю, чтобы анализировать динамику и строить прогнозы.
4. Определение хранилища включает предметную ориентированность, интегрированность, привязку ко времени и неизменяемость.
5. Предметная ориентированность важнее экономии места и удобства машины.
6. Интегрированность означает единый инструмент и согласованные данные.
7. Привязка ко времени делает период параметром отчета.
8. Неизменяемость: хранилище только читает данные, а изменения происходят в источнике.
9. В базе данных допустимы Insert, Update и Delete; в хранилище основная операция — Select.
10. OLAP обеспечивает быструю отчетность и анализ.
11. Data Mining ищет неочевидные зависимости в данных.
12. Главная задача хранилища — превращать архив в источник новых знаний.
1. Почему для принятия корпоративных решений недостаточно только текущих данных?
2. Какие типы данных и источников могут использоваться в анализе?
3. Что означает предметная ориентированность хранилища?
4. Почему интегрированность важна и на уровне данных, и на уровне процессов?
5. Как привязка ко времени проявляется в отчетности?
6. Почему хранилище называется неизменяемым, если данные в него регулярно поступают?
7. Чем роль Insert, Update и Delete в базе данных отличается от роли Select в хранилище?
8. Почему изменения должны происходить только в первичном источнике?
9. Что такое OLAP и какую задачу он решает?
10. Что такое Data Mining и чем он дополняет OLAP?
11. Почему хранение больших объемов данных само по себе не создает ценности?
12. Как исторические данные помогают прогнозировать будущее?