5 достоинств и 2 недостатка Data Vault для КХД и архитектора Big Data

Автор Категория , ,
5 достоинств и 2 недостатка Data Vault для КХД и архитектора Big Data

В этой статье мы рассмотрим основные плюсы и минусы Data Vault – популярного подхода к моделированию сущностей при проектировании корпоративных хранилищ данных (КХД). Читайте сегодня, почему промежуточные базы перед витринами данных упрощают ETL-процессы, за счет чего обеспечивается отсутствие избыточности и как много таблиц могут усложнить жизнь архитектора Big Data.

Чем хорош Data Vault: основные преимущества для дизайна КХД

Ключевыми достоинствами подхода Data Vault считаются следующие [1]:

  • Гибкость и простота моделирования, когда для описания предметной области используется минимум концептуальных понятий (хабы, ссылки и спутники), взаимоотношения между которыми описываются строгой системой правил. Подробнее об этом мы рассказывали здесь.
  • Быстрота и удобство разработки ETL-процессов, которые реализуют последовательный подход к загрузке информации в хранилище с возможностью распараллеливания одного потока работ на несколько конвейеров, в т.ч. в режиме near real-time. Упрощение ETL-процессов достигается за счет промежуточных баз (Raw Vault и Business Vault), которые выполняют роль «прослойки» перед витринами данных. При том, что таблиц в этой прослойке может быть намного больше, чем в третьей нормальной форме, все объекты достаточно просты, а потому ETL-процессы тоже становятся проще за счет своего однообразия [2].
  • отсутствие избыточности данных, что особенно важно в области Big Data. Это возможно благодаря математической базе Data Vault архитектуры, основанной на сокращении избыточности. В частности, таблицы-Спутники используются только для хранения дельты (изменившейся информации). Обычно, таблицы-Спутники бывают очень длинными с малым количеством столбцов. В случае быстрого роста одного из спутников его можно оперативно разделить на 2, запустив процесс разделения дельты. Это позволит сократить дублирование колоночных данных и, соответственно, занимаемое на диске место. Это гораздо проще, чем традиционная архитектура КХД на основе измерений (Dimension Data Warehouse), где измерения 2-го типа могут реплицировать данные во многих столбцах, создавая многочисленные копии и новые ключи [3].

Также следует отметить еще 2 преимущества подхода Data Vault [2]:

  • расширяемость модели, когда по мере необходимости возможно изменение структуры уже использующегося КХД, в т.ч. добавление и сопоставление данных из новых источников. Максимально полное хранилище сырых данных и удобная структура их хранения позволяют сформировать предметную витрину (Data Mart) под любые требования бизнеса.
  • поддержка Agile-принципов, когда новые данные просто подключаются к существующей модели, не модифицируя ее структуру. При этом обеспечивается максимальная изоляция решаемой задачи от production посредством загрузки необходимого минимума данных. Таким образом планирование итераций, например, спринтов в Scrum, становится проще, а результаты этих этапов будут предсказуемы.

Недостатки метода или головная боль архитектора Big Data

Обратной стороной вышеописанных достоинств являются следующие недостатки:

  • Большое число операций соединения данных из разных таблиц (join). Поэтому запросы могут выполняться медленнее, чем в традиционных денормализованных КХД по схеме звезды [2]. Вообще join-операции считаются не слишком производительными, например, в Apache Hive, популярном SQL-on-Hadoop инструменте, их обилие может привести к замедлению MapReduce [1].
  • обязательное наличие витрин данных, т.к. сам по себе подход Data Vault не слишком хорошо подходит для прямых запросов [2] из-за особенностей хранения информации в сырых и бизнес-ориентированных видах (Raw Vault и Business Vault). Впрочем, витрины данных предназначены для широкого круга пользователей, что соответствует одному из главных прикладных назначений КХД – BI-аналитике. Поэтому обязательность Data Mart можно рассматривать как особенность, а не минус концепции Data Vault.

Также на практике можно столкнуться с недостатком обучающих материалов по концепции Data Vault. Однако сегодня этот недостаток стремительно нивелируется большим количеством русскоязычных и зарубежных публикаций и специализированных ресурсов. Поэтому можно сделать вывод о растущей популярности этого метода моделирования данных для разработки DWH.

Разумеется, Data Vault 2.0 – это не единственный современный подход к построению КХД. Например, архитекторы данных нефтехимической компании СИБУР решили использовать эту концепцию в сочетании с якорным (анкерным) методом моделирования, чтобы объединить в одном КХД показатели из бизнес-приложений (ERP, CRM, HR и пр.) и производственных систем (MES, SCADA) с целью сквозной аналитики Big Data [4]. Напомним, анкерное моделирование основано на высокой степени нормализации данных (до 6-ой нормальной формы, 6NF), что позволяет избегать пустых значений (null) и избыточности информации. При этом, как и в Data Vault, сохраняется возможность внесения изменений в структуру и содержание модели данных без ее разрушения. Таким образом, реализуется информационная эволюция контента СУБД с привязкой ко времени [5]. Тем не менее, сегодня именно Data Vault считается практически стандартом де-факто при построении КХД, особенно в случае их интеграции с озерами данных, как это сделано в кейсе банка Тинькофф, о котором мы писали здесь. Не случайно профессиональный свод знаний по управлению данными (DAMA-DMBOK) включил обзор этого метода в область знаний Data Modeling & Design [6].

Как практически использовать преимущества Data Vault для построения КХД и Data Lake для эффективного хранения больших данных, вы узнаете на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:

Источники

  1. https://habr.com/ru/company/tinkoff/blog/259173/
  2. https://habr.com/ru/post/348188/
  3. http://www.dwh-club.com/ru/dwh-bi-articles/data-vault-terminy-obekty-osnovy-arhitektury.html
  4. https://habr.com/ru/company/sibur_official/blog/496996/
  5. https://ru.wikipedia.org/wiki/Якорная_модель
  6. https://dama.org/sites/default/files/download/DAMA-DMBOK2-Framework-V2-20140317-FINAL.pdf