Pull to refresh

Comments 19

PinnedPinned comments

Вопрос - l_sales_order_order_detail_product какая из сущностей этого линка является драйвером? Как определить драйвер линка? Как регистрируются и где хранятся изменения в линках?

ER диаграмма ужасная, линии и объекты пересекаются и не видно, что от чего зависит.

Самое интересное в DV это линки, и по ним можно понять умеет автор в DV или нет. Любые транзакции, факты, проводки - это линк, а не хаб, в данной схеме h_order_detail - лишний, и должен быть линком.

Ну и тема историчности линков в статье не раскрыта, спойлер в самом линке не должно быть периода действия. Так же не раскрыта тема сателлита на линк.

А что такое вообще историчность проводки? Ну то есть какой бизнес-атрибут проводки может быть изменён во времени, который требует историчности? Кроме например какой-то реверсивной проводки.

Хороший вопрос, правильный, для этого у Линстеда есть определение "транзакционного линка" (transaction link, т.е. линка у которого нет сроков действия), но поскольку мы не только про банк, то тут может быть понятие историчности, скажем, я наблюдал при реализации DV для крупного поставщика, когда строка в заказе без сторно "пропадала" задним числом в течении месяца, или появлялась новая строка. Или скажем менеджер по заказу менялся несколько раз, если есть хаб заказ и хаб сотрудние и линк менеджер по заказу, и тут надо поддерживать историчность для этого линка, т.е. если бы мы получили отчет с 5 по 10 сентября, то менеджер был бы один, а если 11 сентября то другой.

Вообще говоря, весь DV про то, чтобы получить отчет за август, как он выглядел 8 сентября, сегодня 16 октября, когда прошла масса изменений задним числом. Если нет изменений задним числом, и отчет нужен только как он выглядит сегодня, то DV вообще не нужен.

Историчность поддерживать можно и простым SCD2 без всяких DV. DV нужен для автоматизации добавления новых сущностей, без изменения связей.

DV умеет и то и другое, в этом его и прелесть.

Как я писал основное это agile в разработке хранилища и версионность.

Не нужна версионность данных, можно сильно упростить и выкинуть сателлиты.

с чего вдруг h_order_detail  это линк. Что он с чем связывает? ордер с ордердетейлом? так уже есть один такой, линк на линк делать будешь???

Ну там на диаграмме клубок связей, она не читабельна.

Если есть линк, то тогда вообще не понятно, зачем нужен h_order_detail. Все должно решаться линком.

Линк на линк не правильно согласен.

Ну DV служит вполне определенной цели и не является, конечно же, панацеей. Во главу угла ставиться расширяемость в условиях неопределенности. Сколько раз в моей практике было, что приходилось ломать голову как изменить модель детального слоя хранилища (спроектированную не по DV), чтобы загрузить в него новый источник или доработать под поддержку совершенно нового бизнес кейса (после измерений в бизнес-системе), при этом не сломав уже то, что работает.
By design DV не подходит для аналитики. Поэтому пенять на необходимость множества джоинов и наличия множества таблиц, и тем более сложность использования для аналитики - не совсем разумно. Для аналитики надо архитектурно предусмотреть как минимум витрины поверх DV.

ну отодвинули проблему доработки под новый бизнес кейс на уровень витрин. От этого она не исчезнет.

Мне кажется, вы немного не понимаете архитектуру DWH и назначения слоев хранилища, а так же причины, приведшие к созданию такой архитектуры. Не надо смотреть на все только через призму "написания запросов".

я в своей жизни миниму дюжину хранилищ с нуля написал, а видел еще на порядок больше

Тогда меня вдвойне удивляет ваш комментарий.
PS я тоже и проектировал, и внедрял, и поддерживал (и продоложаю это делать сейчас) DWH/DataLake/DataPlatform. Дюжина тоже легко набирается.

Поскольку Data Vault 2.0 не зависит от платформ, NoSQL можно использовать на всех уровнях хранилища данных, включая подготовку данных, корпоративное хранилище и уровень предоставления информации.

Хм... Автор действительно "Эксперт в инженерии данных" если предлагает NoSQL для "корпоративного хранилища данных"? Все же "6 лет опыта" - мало чтобы считаться "экспертом".

Имхо, очередной вольный пересказ матчасти. Вопрос - зачем?

Может быть имелось в виду что NoSQL имеет четкую структуру метаданных и менно эти метаданные загружаються в корпоративное хранилище. А неструктурированная часть прицеплена к метаданным "вагончиком" и ее в случае необходимость можно вытащить и посмотреть.

Ну "экспретность" подразумевает и ясное изложение собственных мыслей, без необходимости читателям гадать, что же имел в виду автор ;-)

Из контекста повествования достаточно ясно следует, что речь идет именно об использовании NoSQL для хранения данных в модели, спроектированой по Data Vault.

Sign up to leave a comment.

Articles