Бинарные типы данных идеально подходят для хранения хэшей, потому что результат работы функции представляет собой строку, похожую на шестнадцатеричное значение. Это значит, что вам не нужно учитывать сортировку, специальные символы или проблемы с символами из разных языков. Хэши являются «сырыми» данными и используют в два раза меньше байтов для хранения тех же символов, что и строка. Поэтому они эффективны в качестве ключей для соединений (join keys), что значительно повышает производительность!
Продолжаем рассмотрение ошибок и антипаттернов при построении DataVault
Не обновляйте данные в таблицах! DataVault предназначает только для вставки новых данных. Если изменилось значение атрибута, вставляйте обновленное значение новой строкой.
Обновления данных — это дорогая и неэффективная операция, поэтому современные реляционные базы данных используют оконные функции SQL (SQL Window Functions) для вычисления даты окончания в сателлитах.
В Data Vault нет строгого ограничения на количество ключей в таблице Link. Ошибочно полагать, что связи всегда должны быть только между двумя объектами (Hub-таблицами). Если в бизнес-процессе участвуют три или более объекта, их связь должна сохраняться в единой таблице Link, а не разбиваться на несколько двухузловых связей. Разделение таких связей на отдельные таблицы может исказить данные и создать ложные отношения, которых не существовало в исходной системе. Link-таблица должна отражать реальные бизнес-правила и хранить все ключи, участвующие в процессе, обеспечивая целостность и достоверность информации.
В Data Vault натуральные ключи (бизнес-ключи) следует хранить в столбцах со строковыми типами данных, а не в числовых. Это связано с тем, что в будущем может появиться новый источник данных, где идентификаторы будут представлены в текстовом формате (например, содержать буквы, специальные символы). Если изначально использовать числовой тип данных, это может привести к потере информации, необходимости сложной миграции или даже к невозможности корректного объединения данных из разных источников. Поэтому VARCHAR или аналогичные типы данных являются более гибким и надёжным решением для хранения бизнес-ключей.
Объединяя в один столбец значения составного натурального ключа, вы попросту усложняете себе жизнь, ведь в какой-то момент потребуется снова «расконкатенировать» значения для определенной бизнес-задачи. Конкатенируйте только при вычислении суррогатного ключа, а сами разные натуральные ключи нужно хранить в разных столбцах таблицы hub.
закажите
демо-версию
datapulse
оставьте ваши контакты и наш менеджер свяжется с вами
Закрыть
Получить бесплатный доступ к DataPulse
Наш менеджер свяжется с вами для предоставления бесплатного доступа и презентует наш сервис
Made on
Tilda