SCD2 не лучшее решение для чего? Чтобы расставить всё по местам, посмотрите как я рассуждаю.
Про SCD2. D это Dimension (Измерение). Измерение и факт - понятия витрины, той части ХД, откуда генерируются отчёты и визуальные представления. Эти реляционные объекты (в данном случае измерения) имеют большую денормализацию. SCD2 это измерение, в которое добавляются записи отражающие изменённые состояния некоторых (иногда многих или всех) входящих в него атрибутов. Согласны?
Про MDM. Это управление справочной информацией. У записи справочной информации может быть версия, конечно. Но это нормализованные данные. Данные справочников из MDM становятся атрибутами измерений когда попадают в витрины через цепочку преобразований в ETL-процессах.
Может получиться, что атрибутами одного измерения будут данные многих взаимосвязанных справочников. Согласны?
Поэтому, я увидел вот что:
- есть терминологическая ошибка в том, чтобы называть версионируемые данные MDM словом SCD2.
- если говоря SCD2 вы говорили про измерения, тогда инструмент который вы ищите должен покрывать проектирование витрин и управление мастер-данными одновременно.
И я спросил, поэтому, как вы относите формирование SCD2 к этому инструменту, чтобы понять, чтоже вы ищите. Дело в том, что инструмент проектирования это одно, скажем PowerDesigner это такой инструмент, а инструмент управления мастер-данными это другое, скажем есть MDM в составе Enterprise и BI редакции SQL Server.
SCD2 обозначил как один из подходв к хранению прошлых и будущих версий справочников. Хранение измерений в витринах в SCD2 - одно из применений SCD2, но не вижу противоречий, если история + будущие версии записей справочника будут храниться в таком же формате (StartDate, EndDate). Для ветвлений версий придется усложнить, наверно. Добавить ссылку на реестр веток, одна из которых основная.
С версиями (ветвлениями) в МДМ все-таки придется иметь дело, поскольку: 1) часть справочников могут формироваться на основе записей, поступающих из разных систем и до выбора эталонной записи (экспертом или автоматическими правилами) в БД будут одновременно храниться несколько версий, либо моделировать эту ситуацию как разные справочники с одной структурой. 2) надо обеспечить плановую работу эксперта по подготовке будущих редакций справочников. Т.е. нормализованные данные в МДМ могут быть только "в моменте", либо в виде view-представлений, либо в виде таблиц типа матриализованных представлений.
Да, PowerDesigner смотрю для ведения логической модели первое время, далее можно либо его штатным генератором физических моделей из логических (когда-то пользовался этим), либо собственным кодогеном генерировать физическую с добавлением атрибутов типа StartDate, EndDate. Но это выглядит как дорожка в сторону создания своего велосипеда с UI для эксперта и администратора. SQLServer Enterprise покопаю, спасибо, хотя ограничен выбором из OpenSource и забесплатно или же свой велосипед изобретать :)