Большое спасибо! А то я всё никак не мог найти внятное-простое-доступное объяснение, зачем нужен Data Vault. Как его строить - есть информация, а вот в каких случаях использовать и в чём преимущество перед звездой/снежинкой - нету :)
Как не было? :) ... Я же упоминал, что ключ хаба может формироваться с учетом исходной системы. Думаю, в следующей лекции я постараюсь описать этот кейс - половина данных о хабе из одной системы, а половина из другой, и как сопоставлять ключи. Если вкратце, как минимум, тут понадобиться более мелко дробить сателиты... Это будет одной из проблем Data Vault, которая впоследствии породила Anchor Modeling.
Схема на 22:25 Если мы просто от схемы звезды переместим в сателлиты атрибуты сущности, то при добавлении нового хаба мы добавляем новый столбец в ссылку. Я правильно понял?
К вопросу Hadoop + DV. В Hadoop (Hive, Spark) ключевой момент, как вы партицируете данные. На мой взгляд BIgData не может обойтись без партицирования по датам. Если sql-запрос затрагивает только ограниченное количество партиций, то join в Hive и тем более в Spark уже не проблема. Если у вас появляется очень большая (терабайты) таблица, которую нельзя эффективно партицировать по датам, если эта таблица в sql-запросах читается целиком, то вот тут проблема. Причем это проблема как для классической РСУБД с поддержкой join на индексах, так и тем более для NoSQL без поддержки полноценных индексов (в формате дерева поиска). Здесь уже надо погружаться в специфику задачи и как-то нетривиально оптимизировать хранение данных.
Подскажите пжлст, как будет устроена запись о клиенте в Хабе Клиенты, если данные о клиенте есть в разных системах - допустим CRM и ДБО ? При этом, ИД 1 системы не равен ИД 2 системы. В Хабе будет только 1 запись, или допускаются 2 записи из разных источников для 1-го физического клиента? PS Отсылка к 16-17 мин видео
Есть пара, тройка вопросов - (1) - что является ключом распределения для таблиц DV в MMP архитектуры? (2) каждый сателлит по сути является медленно меняющейся размерностью 2-го типа, если у вас сателлит в несколько терабайт, то что бы найти строку изменения для сравнения по HDIFF нужно сканировать всю таблицу каждый раз на загрузке, как это обойти? (3) ничего не сказано о саталлитах линков, меняются не только данные но и отношения между сущностями, сколько должно быть ключей драйверов в линке как выбирать поле для ключа драйвера?
Это очень хороший вопрос :) Потому что человечество, научное сообщество, конечно же, придумало много чего еще. Но в публичное пространство попадает только то, про что были сделаны усилия по популяризации (видео, книги, выступления). Например, про Anchor Modeling вы знаете из-за успеха в Авито. А иначе методология могла бы остаться в списке таких методологий как: Hyperagility Focal Point Ensemble Modeling
Николай, спасибо за доклад, В конце затронули тему дат, хотелось бы для себя закрепить, как лучше сделать, если дат много: дата захода клиента на сайт, дата приезда клиента, дата оплаты, дата отгрузки, дата производства, дата резерва, дата возврата и тд… Каждую дату вещать сателлитом на подходящий хаб??
Каждая дата - это атрибут типа "дата", полный аналог атрибутов типа "текст" или "число". Их можно и нужно добавить в подходящие сателиты соответствующих хабов.
Этот момент прозвучал в начале - финалом развития Data Vault 1.0 стало понимание, что подлинно неизменным является только бизнес-ключ, идентификатор сущности, лежащей в хабе. Т.к. изменение бизнес ключа = другая сущность, автоматическая защита от изменений... PS... И продолжая анонс второй серии, про Data Vault 2.0 и Anchor Modeling - одной из причин рождения новых методологий было понимание того, что, на самом деле, меняется даже бизнес-ключ.... Но в Data Vault мы такой мысли не допускаем :)
@@Niarlototep , ха-ха, прикольно. Про business key я себе отметил, смотря вебинар. Мне стало интересно про другие атрибуты. К примеру, load_sys. Что ж ) буду ждать вашего следующего вебинара про Data Vault 2.
@@vadimosipov2147 , load_sys это не атрибут, это техническое поле, для отладки. Маркер первой системы, откуда прилетело значение хаба. ПРо технические поля я не рассказывал из-за временных ограничений вебинара.
если про ETL-поддержку, то не сильно что-то меняется, процесс ETL не меняется, плюс код загрузки однообразен. Бизнес-поддержка увеличивается пропорционально при любой методологии.
Был вопрос про удаление данных в Data Vault. У меня вопрос к решению. Как определить, когда удаление сущности реализовывать через атрибут, а когда через атрибуты from_date, to_date сателита ?
Через даты from_date/to_date реализуется кейс "значение/линк заменено отсутствием". Опять же, сейчас часто используют однодатную историчность, только from_date, тогда запись нельзя закрыть апдейтом to_date. про это будет в следующем видео. Атрибут удаления нужен для пометки записей, которые пришли по ошибке, т.е. их не должно было быть, но на их основе уже были приняты какие-то решения. В общем, редкий случай, в большинстве случаев такое вообне не нужно.
Смотрю я на картинку с хабом "чеки" и вижу чистую 3НФ. Особенно если отдельным хабом добавлять строки чека. Все точно также - есть сущности, есть аттбрибуты, есть связи. Так в чем же все таки отличие ? В том что Дата Волт не обязует к строгости и позволяет строить смешанные линки ? Сложилось впечатление, что 3НФ - предельная форма Дата Волт
Это и есть 3НФ :) ... Я про это упоминал в видео. Data Vault - это способ быстро и понятно объяснить обычному человека, как проектировать модель данных в 3НФ. Алгоритм.
А есть способ для быстрого нахождения всех сателитов клиента ? Есть гипотеза, что это можно делать через "S_" + + "_" + . И все же хочется узнать мнение специалистов.
"S_" + + "_" + - это моя стратегия нейминга, линстэдт эту тему не уточняет, насколько я знаю. В принципе, в Data Vault полезно делать документацию со списком атрибутов каждого сателита.
А есть ли полу-практический пример. вот чем мне нравилаь книжка Кимбалал там была куча примеров (пусть упрощенных) ну воти и вопрос : допустим кефир Кефирный : в 0.5л и, 0.2 пакетах и в бутылках - я так понимаю это 3 разных товара но с ОДНИМ каким то общим атрибутом (Кефирный ) по которому и можно подбить все итоги по нему в независимости от тары ? зы Не уверен что такие примеры есть (копирайт )- но вдруг
Может быть на сайте Линстедта, но, как показывает практика, лучше консультировать индивидуально, чем собирать примеры в книжку... никто больше не читает толстых книжек.
По сути примера - я не понял, в чем вопрос? ... Да, это 3 разных товара, у них разные штрихкоды. Но они в одной товарной группе, в кисломолочке, и у них названия похожие. и производитель один.
@@Niarlototep ага понял собирать инфу можно по другим атрибутам (названия похожие - типа name like '' , а по произвдоителю == ) да хотелось бы послушать такую же лекцию по Data Vault 2.0 and Anchor.
Лучшая лекция по Data Vault, что встретилась на просторах интернета.
Да, будет интересно послушать про Data Vault 2.0 and Anchor.
Очень доступно и понятно объясняется материал, плюс грамотно поставлена речь у спикера. Спасибо!
Переношу все видео в Rutube, тоже канал Data Learn.
Угарнула про вывод ведущего в конце про «ну то есть это инструмент, чтобы сделать на коленке»🙃
Лекция супер, огромное спасибо! Побольше бы таких материалов
Большое спасибо!
А то я всё никак не мог найти внятное-простое-доступное объяснение, зачем нужен Data Vault. Как его строить - есть информация, а вот в каких случаях использовать и в чём преимущество перед звездой/снежинкой - нету :)
Обращайтесь :) ... Любые вопросы за разумные деньги.
Огромное спасибо, лекция ну очень дельная!
Николай классно объясняет
Супер объяснение, спасибо большое!
Жалко что не было сказано о ситуации, когда части данные о сущности приходят из нескольких источников.
Как не было? :) ... Я же упоминал, что ключ хаба может формироваться с учетом исходной системы. Думаю, в следующей лекции я постараюсь описать этот кейс - половина данных о хабе из одной системы, а половина из другой, и как сопоставлять ключи.
Если вкратце, как минимум, тут понадобиться более мелко дробить сателиты...
Это будет одной из проблем Data Vault, которая впоследствии породила Anchor Modeling.
оличные лекции у Голова. спасибо
С нетерпением ждём продолжения.
Очень круто, большое спасибо!
Молодец и спасибо! Чувствуется что ты разбираешься в предмете!
Кстати, sap bw это использовала еще с начала 2000х.
+
Подача и примеры отличные. Подскажите, пожалуйста, когда реально нужны bridge или это больше полу-декоративные вещи, как и pit?
Схема на 22:25
Если мы просто от схемы звезды переместим в сателлиты атрибуты сущности, то при добавлении нового хаба мы добавляем новый столбец в ссылку.
Я правильно понял?
Любопытно было бы услышать о секционировании в DV
К вопросу Hadoop + DV. В Hadoop (Hive, Spark) ключевой момент, как вы партицируете данные. На мой взгляд BIgData не может обойтись без партицирования по датам. Если sql-запрос затрагивает только ограниченное количество партиций, то join в Hive и тем более в Spark уже не проблема.
Если у вас появляется очень большая (терабайты) таблица, которую нельзя эффективно партицировать по датам, если эта таблица в sql-запросах читается целиком, то вот тут проблема. Причем это проблема как для классической РСУБД с поддержкой join на индексах, так и тем более для NoSQL без поддержки полноценных индексов (в формате дерева поиска). Здесь уже надо погружаться в специфику задачи и как-то нетривиально оптимизировать хранение данных.
Крутое объяснение, спасибо!
спасибо большое)
Подскажите пжлст, как будет устроена запись о клиенте в Хабе Клиенты, если данные о клиенте есть в разных системах - допустим CRM и ДБО ? При этом, ИД 1 системы не равен ИД 2 системы. В Хабе будет только 1 запись, или допускаются 2 записи из разных источников для 1-го физического клиента? PS Отсылка к 16-17 мин видео
Прикрепляйте ссылки в первом комментарии или описании, пожалуйста. А так -- всё очень круто, спасибо большое
очень интересно, спасибо!
Не знаю когда это придумали, но в Парусе8 это было реализовано ещё в 2007 году и я думаю раньше. Любой бизнес ложился на архитектуру базы
Есть пара, тройка вопросов - (1) - что является ключом распределения для таблиц DV в MMP архитектуры? (2) каждый сателлит по сути является медленно меняющейся размерностью 2-го типа, если у вас сателлит в несколько терабайт, то что бы найти строку изменения для сравнения по HDIFF нужно сканировать всю таблицу каждый раз на загрузке, как это обойти? (3) ничего не сказано о саталлитах линков, меняются не только данные но и отношения между сущностями, сколько должно быть ключей драйверов в линке как выбирать поле для ключа драйвера?
А есть ли что-то еще кроме 3NF, Star/Snowflake, Data Vault и Anchor modeling? Или это все, что человечество смогло придумать для моделирования данных?
Это очень хороший вопрос :)
Потому что человечество, научное сообщество, конечно же, придумало много чего еще. Но в публичное пространство попадает только то, про что были сделаны усилия по популяризации (видео, книги, выступления).
Например, про Anchor Modeling вы знаете из-за успеха в Авито.
А иначе методология могла бы остаться в списке таких методологий как:
Hyperagility
Focal Point
Ensemble Modeling
Николай, спасибо за доклад,
В конце затронули тему дат, хотелось бы для себя закрепить, как лучше сделать, если дат много: дата захода клиента на сайт, дата приезда клиента, дата оплаты, дата отгрузки, дата производства, дата резерва, дата возврата и тд…
Каждую дату вещать сателлитом на подходящий хаб??
Каждая дата - это атрибут типа "дата", полный аналог атрибутов типа "текст" или "число". Их можно и нужно добавить в подходящие сателиты соответствующих хабов.
Смотрю и удивляюсь как это хорошо ложится на DDD
Спасибо!
Если такие атрибуты пол, дата рождения могут менять, то на что можно опираться при выделении атрибутов на изменяемые и неизменяемые ?
Этот момент прозвучал в начале - финалом развития Data Vault 1.0 стало понимание, что подлинно неизменным является только бизнес-ключ, идентификатор сущности, лежащей в хабе. Т.к. изменение бизнес ключа = другая сущность, автоматическая защита от изменений...
PS... И продолжая анонс второй серии, про Data Vault 2.0 и Anchor Modeling - одной из причин рождения новых методологий было понимание того, что, на самом деле, меняется даже бизнес-ключ.... Но в Data Vault мы такой мысли не допускаем :)
@@Niarlototep , ха-ха, прикольно. Про business key я себе отметил, смотря вебинар. Мне стало интересно про другие атрибуты. К примеру, load_sys.
Что ж ) буду ждать вашего следующего вебинара про Data Vault 2.
@@vadimosipov2147 , load_sys это не атрибут, это техническое поле, для отладки. Маркер первой системы, откуда прилетело значение хаба. ПРо технические поля я не рассказывал из-за временных ограничений вебинара.
огромное спасибо!) лучше описание дата вольт)
do you have any presentation on English ?
Как сильно увеличение числа хабов, линков и сателитов может приводить к удорожанию поддержки ?
если про ETL-поддержку, то не сильно что-то меняется, процесс ETL не меняется, плюс код загрузки однообразен.
Бизнес-поддержка увеличивается пропорционально при любой методологии.
Почему всегда говорят про хабы, линки, сателлиты, но забывают про рефы?!
Был вопрос про удаление данных в Data Vault. У меня вопрос к решению.
Как определить, когда удаление сущности реализовывать через атрибут, а когда через атрибуты from_date, to_date сателита ?
Через даты from_date/to_date реализуется кейс "значение/линк заменено отсутствием". Опять же, сейчас часто используют однодатную историчность, только from_date, тогда запись нельзя закрыть апдейтом to_date. про это будет в следующем видео.
Атрибут удаления нужен для пометки записей, которые пришли по ошибке, т.е. их не должно было быть, но на их основе уже были приняты какие-то решения. В общем, редкий случай, в большинстве случаев такое вообне не нужно.
Смотрю я на картинку с хабом "чеки" и вижу чистую 3НФ. Особенно если отдельным хабом добавлять строки чека. Все точно также - есть сущности, есть аттбрибуты, есть связи.
Так в чем же все таки отличие ? В том что Дата Волт не обязует к строгости и позволяет строить смешанные линки ?
Сложилось впечатление, что 3НФ - предельная форма Дата Волт
Это и есть 3НФ :) ... Я про это упоминал в видео. Data Vault - это способ быстро и понятно объяснить обычному человека, как проектировать модель данных в 3НФ. Алгоритм.
не понял по последнему комментарию по типам и отношениям
Есть кто понял и может прокомментировать.
А есть способ для быстрого нахождения всех сателитов клиента ?
Есть гипотеза, что это можно делать через "S_" + + "_" + . И все же хочется узнать мнение специалистов.
"S_" + + "_" + - это моя стратегия нейминга, линстэдт эту тему не уточняет, насколько я знаю. В принципе, в Data Vault полезно делать документацию со списком атрибутов каждого сателита.
@@Niarlototep , спасибо!
А есть ли полу-практический пример. вот чем мне нравилаь книжка Кимбалал там была куча примеров (пусть упрощенных)
ну воти и вопрос : допустим кефир Кефирный : в 0.5л и, 0.2 пакетах и в бутылках - я так понимаю это 3 разных товара
но с ОДНИМ каким то общим атрибутом (Кефирный ) по которому и можно подбить все итоги по нему в независимости от тары ?
зы Не уверен что такие примеры есть (копирайт )- но вдруг
Может быть на сайте Линстедта, но, как показывает практика, лучше консультировать индивидуально, чем собирать примеры в книжку... никто больше не читает толстых книжек.
По сути примера - я не понял, в чем вопрос? ... Да, это 3 разных товара, у них разные штрихкоды. Но они в одной товарной группе, в кисломолочке, и у них названия похожие. и производитель один.
@@Niarlototep ага понял собирать инфу можно по другим атрибутам (названия похожие - типа name like '' , а по произвдоителю == )
да хотелось бы послушать такую же лекцию по Data Vault 2.0 and Anchor.
@@fedorgulin311 пора снимать, факт
Если чека нет, например на старте продаж- то нет связи?
Конечно. Товар есть, его свойства есть. Продажного линка нет, но, возможно, есть линк на склад (поставка на склад).
Есть ли отличия в запросах Data volt?
В каких запросах? :)
Конечно) Теперь запросы в гугле нужно изменить с "Star scheme for dummies" на "Data volt for dummies" ))
@@denisporplenko7214 , data Vault
Вот, кстати, интересный доклад про то как и зачем подниать уровень нормировки ruclips.net/video/QY0kpIK2tCY/видео.html
ага, отличная тема, спасибо :) ... а то у моих знакомых создается ощущение, что за Anchor Modeling только я топлю.
Спасибо!