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

Поділитися
Вставка
  • Опубліковано 28 вер 2024

КОМЕНТАРІ • 63

  • @ИванЛебедев-с1ы
    @ИванЛебедев-с1ы Рік тому +10

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

  • @paleface_brother
    @paleface_brother 3 роки тому +3

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

    • @Niarlototep
      @Niarlototep 3 роки тому

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

  • @paleface_brother
    @paleface_brother 3 роки тому +19

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

  • @igormelin4023
    @igormelin4023 2 роки тому

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

  • @Сашач-ш8м
    @Сашач-ш8м Рік тому +1

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

  • @user-sdcs
    @user-sdcs Рік тому +1

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

  • @DataCourse
    @DataCourse 2 роки тому

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

  • @pahsarpa
    @pahsarpa 3 роки тому +1

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

    • @Niarlototep
      @Niarlototep 3 роки тому +3

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

  • @sergeysukharev4939
    @sergeysukharev4939 Рік тому

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

  • @The005005
    @The005005 3 роки тому +1

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

    • @Niarlototep
      @Niarlototep 3 роки тому +2

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

  • @АлексейВеселов-г8т

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

  • @vadimosipov8982
    @vadimosipov8982 3 роки тому +1

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

    • @Niarlototep
      @Niarlototep 3 роки тому

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

    • @vadimosipov2147
      @vadimosipov2147 3 роки тому

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

    • @Niarlototep
      @Niarlototep 3 роки тому

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

  • @vadimosipov8982
    @vadimosipov8982 3 роки тому

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

    • @cardinalerror1
      @cardinalerror1 2 роки тому +1

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

  • @vadimosipov8982
    @vadimosipov8982 3 роки тому

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

    • @Niarlototep
      @Niarlototep 3 роки тому +1

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

    • @vadimosipov2147
      @vadimosipov2147 3 роки тому

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

  • @atlant1707
    @atlant1707 3 роки тому

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

    • @Niarlototep
      @Niarlototep 3 роки тому +1

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

    • @denisporplenko7214
      @denisporplenko7214 3 роки тому

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

    • @Niarlototep
      @Niarlototep 3 роки тому

      @@denisporplenko7214 , data Vault

  • @GrigoriySokolik
    @GrigoriySokolik 3 роки тому

    Вот, кстати, интересный доклад про то как и зачем подниать уровень нормировки ua-cam.com/video/QY0kpIK2tCY/v-deo.html

    • @Niarlototep
      @Niarlototep 3 роки тому

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

  • @VladimirNovitsky-c8f
    @VladimirNovitsky-c8f 26 днів тому

    Очень доступно и понятно объясняется материал, плюс грамотно поставлена речь у спикера. Спасибо!

  • @andrewkhomich8085
    @andrewkhomich8085 2 роки тому +2

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

  • @Николай-ф7н7у
    @Николай-ф7н7у 3 місяці тому

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

  • @vor6758
    @vor6758 4 місяці тому

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

  • @pahsarpa
    @pahsarpa 3 роки тому +4

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

    • @Niarlototep
      @Niarlototep 3 роки тому +2

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

  • @alesyuzefovich115
    @alesyuzefovich115 2 роки тому +3

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

  • @АлексейИванов-о6у
    @АлексейИванов-о6у 2 роки тому +2

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

  • @АлексейРазводов-х5о

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

  • @alexanderlazutkin882
    @alexanderlazutkin882 2 роки тому +1

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

  • @eujc9009
    @eujc9009 2 роки тому +1

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

  • @vakrokodil
    @vakrokodil Рік тому +1

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

  • @СергейТравкин-ь1щ

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

  • @ЯрославФамилия-н9ю

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

  • @DzhigurdaAnton
    @DzhigurdaAnton Рік тому

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

  • @kushalsenlaskar
    @kushalsenlaskar Рік тому

    do you have any presentation on English ?

  • @vadimosipov8982
    @vadimosipov8982 3 роки тому

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

    • @Niarlototep
      @Niarlototep 3 роки тому

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

  • @sergeystrikanov2302
    @sergeystrikanov2302 2 роки тому

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

  • @BUZyYyes
    @BUZyYyes 3 роки тому

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

    • @Niarlototep
      @Niarlototep 3 роки тому +1

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

  • @user-fg6ng7ej6w
    @user-fg6ng7ej6w 2 роки тому

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

  • @Артур-р8н7у
    @Артур-р8н7у Рік тому

    Спасибо!

  • @atlant1707
    @atlant1707 3 роки тому

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

    • @Niarlototep
      @Niarlototep 3 роки тому

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

  • @pahsarpa
    @pahsarpa 3 роки тому

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

  • @igor-policee
    @igor-policee 2 роки тому

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

  • @Михаил-ц7ч1ж
    @Михаил-ц7ч1ж 3 роки тому

    Спасибо!

  • @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 пора снимать, факт