DataVault / Anchor Modeling / Николай Голов

Поделиться
HTML-код
  • Опубликовано: 7 сен 2021

Комментарии • 62

  • @user-lk7st7mk8w
    @user-lk7st7mk8w Год назад +7

    Лучшая лекция по Data Vault, что встретилась на просторах интернета.

  • @paleface_brother
    @paleface_brother 2 года назад +19

    Да, будет интересно послушать про Data Vault 2.0 and Anchor.

  • @alesyuzefovich115
    @alesyuzefovich115 2 года назад +3

    Огромное спасибо, лекция ну очень дельная!

  • @user-rw3vi3et3w
    @user-rw3vi3et3w 2 года назад +2

    Лекция супер, огромное спасибо! Побольше бы таких материалов

  • @sergeystrikanov2302
    @sergeystrikanov2302 2 года назад

    Очень круто, большое спасибо!

  • @igor-policee
    @igor-policee 2 года назад

    Крутое объяснение, спасибо!

  • @pahsarpa
    @pahsarpa 2 года назад

    С нетерпением ждём продолжения.

  • @eujc9009
    @eujc9009 2 года назад +1

    Николай классно объясняет

  • @DataCourse
    @DataCourse 2 года назад

    очень интересно, спасибо!

  • @user-fg6ng7ej6w
    @user-fg6ng7ej6w Год назад

    оличные лекции у Голова. спасибо

  • @paleface_brother
    @paleface_brother 2 года назад +3

    Большое спасибо!
    А то я всё никак не мог найти внятное-простое-доступное объяснение, зачем нужен Data Vault. Как его строить - есть информация, а вот в каких случаях использовать и в чём преимущество перед звездой/снежинкой - нету :)

    • @Niarlototep
      @Niarlototep 2 года назад

      Обращайтесь :) ... Любые вопросы за разумные деньги.

  • @pahsarpa
    @pahsarpa 2 года назад +4

    Супер объяснение, спасибо большое!
    Жалко что не было сказано о ситуации, когда части данные о сущности приходят из нескольких источников.

    • @Niarlototep
      @Niarlototep 2 года назад +2

      Как не было? :) ... Я же упоминал, что ключ хаба может формироваться с учетом исходной системы. Думаю, в следующей лекции я постараюсь описать этот кейс - половина данных о хабе из одной системы, а половина из другой, и как сопоставлять ключи.
      Если вкратце, как минимум, тут понадобиться более мелко дробить сателиты...
      Это будет одной из проблем Data Vault, которая впоследствии породила Anchor Modeling.

  • @igormelin4023
    @igormelin4023 2 года назад

    Молодец и спасибо! Чувствуется что ты разбираешься в предмете!
    Кстати, sap bw это использовала еще с начала 2000х.

  • @vakrokodil
    @vakrokodil Год назад +1

    спасибо большое)

  • @user-ko4me4zz6z
    @user-ko4me4zz6z 2 года назад

    Спасибо!

  • @alexanderlazutkin882
    @alexanderlazutkin882 2 года назад +1

    Любопытно было бы услышать о секционировании в DV

  • @user-hr4me7ei3v
    @user-hr4me7ei3v 2 года назад +1

    Прикрепляйте ссылки в первом комментарии или описании, пожалуйста. А так -- всё очень круто, спасибо большое

  • @user-dn5ct8of5z
    @user-dn5ct8of5z 2 года назад

    огромное спасибо!) лучше описание дата вольт)

  • @andrewkhomich8085
    @andrewkhomich8085 2 года назад +2

    К вопросу Hadoop + DV. В Hadoop (Hive, Spark) ключевой момент, как вы партицируете данные. На мой взгляд BIgData не может обойтись без партицирования по датам. Если sql-запрос затрагивает только ограниченное количество партиций, то join в Hive и тем более в Spark уже не проблема.
    Если у вас появляется очень большая (терабайты) таблица, которую нельзя эффективно партицировать по датам, если эта таблица в sql-запросах читается целиком, то вот тут проблема. Причем это проблема как для классической РСУБД с поддержкой join на индексах, так и тем более для NoSQL без поддержки полноценных индексов (в формате дерева поиска). Здесь уже надо погружаться в специфику задачи и как-то нетривиально оптимизировать хранение данных.

  • @user-dw6vd9xf7r
    @user-dw6vd9xf7r Год назад +1

    Подача и примеры отличные. Подскажите, пожалуйста, когда реально нужны bridge или это больше полу-декоративные вещи, как и pit?

  • @user-ei9co3fv7h
    @user-ei9co3fv7h 2 года назад

    Не знаю когда это придумали, но в Парусе8 это было реализовано ещё в 2007 году и я думаю раньше. Любой бизнес ложился на архитектуру базы

  • @user-sdcs
    @user-sdcs 9 месяцев назад +1

    Подскажите пжлст, как будет устроена запись о клиенте в Хабе Клиенты, если данные о клиенте есть в разных системах - допустим CRM и ДБО ? При этом, ИД 1 системы не равен ИД 2 системы. В Хабе будет только 1 запись, или допускаются 2 записи из разных источников для 1-го физического клиента? PS Отсылка к 16-17 мин видео

  • @BUZyYyes
    @BUZyYyes 2 года назад

    Николай, спасибо за доклад,
    В конце затронули тему дат, хотелось бы для себя закрепить, как лучше сделать, если дат много: дата захода клиента на сайт, дата приезда клиента, дата оплаты, дата отгрузки, дата производства, дата резерва, дата возврата и тд…
    Каждую дату вещать сателлитом на подходящий хаб??

    • @Niarlototep
      @Niarlototep 2 года назад +1

      Каждая дата - это атрибут типа "дата", полный аналог атрибутов типа "текст" или "число". Их можно и нужно добавить в подходящие сателиты соответствующих хабов.

  • @vor6758
    @vor6758 2 месяца назад

    Схема на 22:25
    Если мы просто от схемы звезды переместим в сателлиты атрибуты сущности, то при добавлении нового хаба мы добавляем новый столбец в ссылку.
    Я правильно понял?

  • @vadimosipov8982
    @vadimosipov8982 2 года назад

    Был вопрос про удаление данных в Data Vault. У меня вопрос к решению.
    Как определить, когда удаление сущности реализовывать через атрибут, а когда через атрибуты from_date, to_date сателита ?

    • @Niarlototep
      @Niarlototep 2 года назад

      Через даты from_date/to_date реализуется кейс "значение/линк заменено отсутствием". Опять же, сейчас часто используют однодатную историчность, только from_date, тогда запись нельзя закрыть апдейтом to_date. про это будет в следующем видео.
      Атрибут удаления нужен для пометки записей, которые пришли по ошибке, т.е. их не должно было быть, но на их основе уже были приняты какие-то решения. В общем, редкий случай, в большинстве случаев такое вообне не нужно.

  • @DzhigurdaAnton
    @DzhigurdaAnton 10 месяцев назад

    Смотрю и удивляюсь как это хорошо ложится на DDD

  • @pahsarpa
    @pahsarpa 2 года назад +1

    А есть ли что-то еще кроме 3NF, Star/Snowflake, Data Vault и Anchor modeling? Или это все, что человечество смогло придумать для моделирования данных?

    • @Niarlototep
      @Niarlototep 2 года назад +3

      Это очень хороший вопрос :)
      Потому что человечество, научное сообщество, конечно же, придумало много чего еще. Но в публичное пространство попадает только то, про что были сделаны усилия по популяризации (видео, книги, выступления).
      Например, про Anchor Modeling вы знаете из-за успеха в Авито.
      А иначе методология могла бы остаться в списке таких методологий как:
      Hyperagility
      Focal Point
      Ensemble Modeling

  • @vadimosipov8982
    @vadimosipov8982 2 года назад

    Как сильно увеличение числа хабов, линков и сателитов может приводить к удорожанию поддержки ?

    • @cardinalerror1
      @cardinalerror1 2 года назад +1

      если про ETL-поддержку, то не сильно что-то меняется, процесс ETL не меняется, плюс код загрузки однообразен.
      Бизнес-поддержка увеличивается пропорционально при любой методологии.

  • @vadimosipov8982
    @vadimosipov8982 2 года назад +1

    Если такие атрибуты пол, дата рождения могут менять, то на что можно опираться при выделении атрибутов на изменяемые и неизменяемые ?

    • @Niarlototep
      @Niarlototep 2 года назад

      Этот момент прозвучал в начале - финалом развития Data Vault 1.0 стало понимание, что подлинно неизменным является только бизнес-ключ, идентификатор сущности, лежащей в хабе. Т.к. изменение бизнес ключа = другая сущность, автоматическая защита от изменений...
      PS... И продолжая анонс второй серии, про Data Vault 2.0 и Anchor Modeling - одной из причин рождения новых методологий было понимание того, что, на самом деле, меняется даже бизнес-ключ.... Но в Data Vault мы такой мысли не допускаем :)

    • @vadimosipov2147
      @vadimosipov2147 2 года назад

      @@Niarlototep , ха-ха, прикольно. Про business key я себе отметил, смотря вебинар. Мне стало интересно про другие атрибуты. К примеру, load_sys.
      Что ж ) буду ждать вашего следующего вебинара про Data Vault 2.

    • @Niarlototep
      @Niarlototep 2 года назад

      @@vadimosipov2147 , load_sys это не атрибут, это техническое поле, для отладки. Маркер первой системы, откуда прилетело значение хаба. ПРо технические поля я не рассказывал из-за временных ограничений вебинара.

  • @sergeysukharev4939
    @sergeysukharev4939 Год назад

    Есть пара, тройка вопросов - (1) - что является ключом распределения для таблиц DV в MMP архитектуры? (2) каждый сателлит по сути является медленно меняющейся размерностью 2-го типа, если у вас сателлит в несколько терабайт, то что бы найти строку изменения для сравнения по HDIFF нужно сканировать всю таблицу каждый раз на загрузке, как это обойти? (3) ничего не сказано о саталлитах линков, меняются не только данные но и отношения между сущностями, сколько должно быть ключей драйверов в линке как выбирать поле для ключа драйвера?

  • @atlant1707
    @atlant1707 2 года назад

    Если чека нет, например на старте продаж- то нет связи?

    • @Niarlototep
      @Niarlototep 2 года назад

      Конечно. Товар есть, его свойства есть. Продажного линка нет, но, возможно, есть линк на склад (поставка на склад).

  • @kushalsenlaskar
    @kushalsenlaskar 10 месяцев назад

    do you have any presentation on English ?

  • @vadimosipov8982
    @vadimosipov8982 2 года назад

    А есть способ для быстрого нахождения всех сателитов клиента ?
    Есть гипотеза, что это можно делать через "S_" + + "_" + . И все же хочется узнать мнение специалистов.

    • @Niarlototep
      @Niarlototep 2 года назад +1

      "S_" + + "_" + - это моя стратегия нейминга, линстэдт эту тему не уточняет, насколько я знаю. В принципе, в Data Vault полезно делать документацию со списком атрибутов каждого сателита.

    • @vadimosipov2147
      @vadimosipov2147 2 года назад

      @@Niarlototep , спасибо!

  • @The005005
    @The005005 2 года назад +1

    Смотрю я на картинку с хабом "чеки" и вижу чистую 3НФ. Особенно если отдельным хабом добавлять строки чека. Все точно также - есть сущности, есть аттбрибуты, есть связи.
    Так в чем же все таки отличие ? В том что Дата Волт не обязует к строгости и позволяет строить смешанные линки ?
    Сложилось впечатление, что 3НФ - предельная форма Дата Волт

    • @Niarlototep
      @Niarlototep 2 года назад +2

      Это и есть 3НФ :) ... Я про это упоминал в видео. Data Vault - это способ быстро и понятно объяснить обычному человека, как проектировать модель данных в 3НФ. Алгоритм.

  • @atlant1707
    @atlant1707 2 года назад

    Есть ли отличия в запросах Data volt?

    • @Niarlototep
      @Niarlototep 2 года назад +1

      В каких запросах? :)

    • @denisporplenko7214
      @denisporplenko7214 2 года назад

      Конечно) Теперь запросы в гугле нужно изменить с "Star scheme for dummies" на "Data volt for dummies" ))

    • @Niarlototep
      @Niarlototep 2 года назад

      @@denisporplenko7214 , data Vault

  • @fedorgulin311
    @fedorgulin311 2 года назад

    А есть ли полу-практический пример. вот чем мне нравилаь книжка Кимбалал там была куча примеров (пусть упрощенных)
    ну воти и вопрос : допустим кефир Кефирный : в 0.5л и, 0.2 пакетах и в бутылках - я так понимаю это 3 разных товара
    но с ОДНИМ каким то общим атрибутом (Кефирный ) по которому и можно подбить все итоги по нему в независимости от тары ?
    зы Не уверен что такие примеры есть (копирайт )- но вдруг

    • @Niarlototep
      @Niarlototep 2 года назад

      Может быть на сайте Линстедта, но, как показывает практика, лучше консультировать индивидуально, чем собирать примеры в книжку... никто больше не читает толстых книжек.

    • @Niarlototep
      @Niarlototep 2 года назад

      По сути примера - я не понял, в чем вопрос? ... Да, это 3 разных товара, у них разные штрихкоды. Но они в одной товарной группе, в кисломолочке, и у них названия похожие. и производитель один.

    • @fedorgulin311
      @fedorgulin311 2 года назад

      @@Niarlototep ага понял собирать инфу можно по другим атрибутам (названия похожие - типа name like '' , а по произвдоителю == )
      да хотелось бы послушать такую же лекцию по Data Vault 2.0 and Anchor.

    • @Niarlototep
      @Niarlototep 2 года назад +1

      @@fedorgulin311 пора снимать, факт

  • @user-lt1ul9cn5c
    @user-lt1ul9cn5c Месяц назад

    Почему всегда говорят про хабы, линки, сателлиты, но забывают про рефы?!

  • @user-ie3zj8rw5r
    @user-ie3zj8rw5r Год назад

    не понял по последнему комментарию по типам и отношениям
    Есть кто понял и может прокомментировать.

  • @GrigoriySokolik
    @GrigoriySokolik 2 года назад

    Вот, кстати, интересный доклад про то как и зачем подниать уровень нормировки ruclips.net/video/QY0kpIK2tCY/видео.html

    • @Niarlototep
      @Niarlototep 2 года назад

      ага, отличная тема, спасибо :) ... а то у моих знакомых создается ощущение, что за Anchor Modeling только я топлю.

  • @user-vx9bx2bd5k
    @user-vx9bx2bd5k 11 месяцев назад

    Спасибо!