Архитектура Data Warehouse: подробное описание
Введение
Прежде чем погрузиться в детали архитектуры хранилища данных, давайте как следует разберемся в назначении хранилища данных. Хранилища данных уникальны тем, что в одном месте хранятся как актуальные, так и архивные данные. Хранилище данных - это репозиторий данных, которые были получены из самых разных источников. Данные организованы в таблицы и другие базы данных, чтоб делает их более доступными и удобными в использовании. Хотя термин "хранилище данных" может вызывать ассоциации с большими хранилищами, предъявляющими высокие требования к хранению данных, многие современные хранилища максимально оптимизированы для того, чтобы ими могли использовать компании любого размера.
В этой статье мы расскажем обо всем, что нужно знать о проектировании архитектуры хранилища данных. Мы объясним, почему хранилища данных необходимы и как они могут быть реализованы, а также обсудим основные типы архитектур и выделим факторы, которые следует учитывать при выборе между различными вариантами.
Архитектура Data Warehouse
Существует три подхода к созданию хранилища данных: одноуровневый, двухуровневый и трехуровневый.
Одноуровневая архитектура (1-Tier): данный тип предназначен для хранения минимального объема данных. В реальной жизни данная структура используется редко.
Двухуровневая архитектура (2-Tier): хранилище данных - это совокупность данных, представленных в формате, который легко преобразовать и затем загрузить в базу данных. Хранилища данных могут быть реализованы различными способами, и очень важно выбрать именно тот, который подходит для нужд Вашего бизнеса. Самое важное, что следует учитывать, - это масштабируемость.
Трехуровневая архитектура (3-Tier): архитектурная модель программного комплекса, предполагающая наличие в нём трёх типов уровней:
- Нижний уровень хранилища данных - это реляционная система баз данных. Внутренние инструменты очищают, преобразуют и загружают данные в этот уровень.
- OLAP-сервер среднего уровня основан либо на ROLAP, либо на MOLAP. Хранилища данных, которые облегчают взаимодействие конечного пользователя с базой данных, и OLAP-серверы среднего уровня, которые абстрагируют OLAP от конечного пользователя, называются OLAP-серверами среднего уровня
- Внешний клиентский слой верхнего уровня важен, поскольку это первая точка взаимодействия с данными. Именно здесь данные представляются конечному пользователю, и на их основе принимаются решения. Внешний клиентский уровень верхнего уровня должен работать с данными в режиме реального времени и уметь быстро их обрабатывать. Также важно работать с данными в формате, который верхний уровень может понять и использовать. Как правило, данные верхнего уровня имеют формат реляционной базы данных, но это может быть файл или поток. Данные верхнего уровня должны быть хорошо структурированы, проверены и структурированы таким образом, чтобы облегчить профилирование и аналитику данных.
Свойства архитектуры Data Warehouse
Система хранения данных должна отвечать следующим требованиям:
- Аналитические и транзакционные процессы можно максимально разделить ;
- Масштабируемость решения должна проявляться в способности обрабатывать огромные объемы данных и передавать их в различные пункты назначения с высокой скоростью и в различных форматах. Поток данных должен обрабатываться и представляться в требуемом формате, в нужное время и в нужном месте, с минимальным воздействием на существующую инфраструктуру. Поток данных должен быть защищен и управляться с максимальным уровнем конфиденциальности и целостности. Размер потока данных и скорость их генерации должны определяться бизнес-требованиями, а имеющиеся аппаратные и программные ресурсы должны использоваться максимально эффективно;
- Архитектура должна быть расширяемой; новые функции (например, искусственный интеллект) могут быть реализованы в существующем сервисе путем расширения его API. В Новые технологии также должны внедряться в основные сервисы; основные сервисы могут быть расширены для новых бизнес-функций, таких как управление отношениями с клиентами;
- Безопасность данных - важнейший аспект стратегии управления данными. Средства контроля безопасности данных в самом источнике подразумевают создание средств контроля доступа к данным и их шифрование, а также политики безопасности данных и мониторинг доступа к ним;
- Пользователи должны иметь возможность работать с данными максимально эффективно и результативно. Управление хранилищем данных должно быть простым даже для новичков.
Типы архитектуры Data Warehouse
Существует три типа архитектуры хранилища данных:
Одноуровневая архитектура
Одноуровневые архитектуры используются для пакетной обработки данных, а также для обработки в режиме реального времени. Сначала данные передаются в одноуровневую архитектуру, где они преобразуются в формат, пригодный для обработки в режиме реального времени. Такая архитектура известна как "однопоточная". После этого данные передаются в систему, работающую в режиме реального времени. В настоящее время одноуровневые архитектуры являются наиболее предпочтительным способом обработки оперативных данных.
Промежуточное ПО для хранения и обработки данных должно уметь определять качество данных, прежде чем они будут преобразованы в необходимую информацию.
Двухуровневая архитектура
В двухуровневом хранилище данных аналитический процесс отделен от бизнес-процесса. Это позволяет в разы повысить уровень контроля данных. Кроме того, двухуровневая система обеспечивает лучшее понимание данных и позволяет принимать более взвешенные решения.
Основные характеристики двухуровневой архитектуры:
- Источник данных имеет решающее значение для целостности хранилища данных. Целостность данных, хранящихся в хранилище данных, должна быть гарантирована на 100 %. Целостность данных - это степень достоверности или точности значений данных, хранящихся в базе данных;
- Data staging - это ключевой процесс ETL, который позволяет значительно сократить время, необходимое для извлечения, преобразования и загрузки большого набора данных. Инструменты ETL могут извлекать данные из различных источников, преобразовывать их с помощью специфических инструментов и загружать в хранилище данных;
- Метаданные хранилища данных - важнейший компонент хранилища данных. Это информация, которая помогает администратору хранилища данных решить, какие данные удалить, какие сохранить, а какие использовать в будущих отчетах. Она также важна для поддержания согласованности данных;
- Профилирование данных также имеет большое значение, поскольку оно помогает проверить целостность данных. Важно помнить, что это не просто хранилище данных, а живая платформа данных, которая получает и анализирует огромные объемы данных. Поэтому важно следить за изменениями данных, масштабируемостью и производительностью системы в целом.
Трехуровневая архитектура
Трехуровневая структура включает в себя слой источника, согласованный слой и слой хранилища данных. Согласованный слой располагается между исходными данными и хранилищем данных. Основным недостатком согласованного слоя является тот факт, что невозможно полностью игнорировать проблемы с данными до их согласования. Поэтому основное внимание должно быть сосредоточено на целостности, точности и непротиворечивости данных. Например, предположим, что в хранилище данных содержатся данные компании, которые достаточно часто обновляются, например информация о заказах. В этом случае оптимальным подходом будет использование веб-инструмента обновления хранилища данных, который извлекает самые актуальные данные из хранилища данных и обновляет их в корпоративном приложении. Такая архитектура подходит для систем с длительным жизненным циклом. Эта архитектура также известна как архитектура, ориентированная на данные. В основном, такая структура используется для крупномасштабных систем.
Преимущества архитектуры Data Warehouse
- Витрины данных — это часть хранилища данных, которая занимается каким-то одним вопросом. Зачастую они создаются и управляются определенным бизнес-отделом. Поскольку они предметно-ориентированы, как правило, они берут данные лишь из небольшого числа источников, которыми могут быть внутренние операционные системы, озера данных, централизованное хранилище данных или какие-либо внешние источники. Витрины данных обычно сжаты и менее сложны, чем хранилища данных, что упрощает их создание и обслуживание;
- Процесс изменений начинается с выявления проблем и болевых точек Вашей существующей системы, затем составляется план решения этих проблем с помощью новой системы. После этого система тестируется для того, чтобы убедиться, что все работает именно так, как ожидалось. Как только система признана пригодной для использования, начинается процесс изменений;
- Не зря более 90 % данных, которые собирают предприятия, хранятся в хранилищах данных. Многие хранилища данных предназначены для поддержки процессов ETL и доставки данных в CRM-систему для того, чтобы бизнес-пользователи могли просматривать фактические данные и принимать взвешенные решения;
- С помощью хранилища данных Вы можете использовать все преимущества процессов ETL. Хранилище данных - это центральный репозиторий Ваших данных, доступ к которым могут получить все Ваши аналитические платформы;
- Хранилища данных стали еще более быстрыми и производительными благодаря внедрению баз данных NoSQL (в частности, MongoDB или GARIA), позволяющих проводить аналитику в режиме реального времени, оптимизировать процесс принятия решений, а также увеличивать рентабельность.
Недостатки архитектуры Data Warehouse
- Обслуживание хранилища данных – критически важная задача, которую необходимо выполнять качественно, что требует больших усилий, которые, в свою, очередь не всегда оправданы с точки зрения инвестиций. При этом хранилище данных может стать важнейшим компонентом системы управления корпоративными данными;
- Для того, чтобы ускорить процесс и свести к минимуму время, необходимое для извлечения данных, можно воспользоваться некоторыми инструментами ETL, позволяющими автоматизировать данный процесс. Однако автоматическое извлечение не гарантирует, что данные будут очищены и проверены должным образом. Когда данные проверены и процесс очистки автоматизирован, они готовы к вводу в хранилище;
- Интеграция данных необходима любой организации, обрабатывающей большие объемы данных. Необходимо убедиться в том, что все данные интегрированы в хранилище. Для этого можно использовать методы интеллектуального анализа данных;
- Инфраструктура хранилища должна быть построена так, чтобы анализ огромных объемов данных и их хранение было организовано наиболее экономичным и эффективным способом;
- Одним из важных аспектов архитектуры хранилища данных, который необходимо тщательно продумать, является источник данных. Если данные поступают из нескольких источников, например из внешних источников, таких как датчики или авторизованные партнеры, то очень важно подумать об интеграции данных. Сначала организация должна решить, с какими источниками данных она будет работать, а затем приступить к интеграции этих источников данных.
Заключение
Архитектура хранилища данных - это набор взаимосвязанных БД, которые хранят, организуют и анализируют данные. Она состоит из трех основных компонентов: хранилища данных, аналитической структуры и интеграционного слоя. Хранилище данных - это центральный репозиторий всех данных. Аналитическая структура - это ПО, которое обрабатывает данные и организует их в таблицы. Интеграционный слой - это ПО, которое соединяет базы данных вместе и делает их доступными для других приложений. Архитектура хранилища данных - важная часть любой ИТ-инфраструктуры, поскольку именно она помогает оптимизировать работу всей системы.










