|
|
|
Интеграция справочников из разных систем
|
|||
|---|---|---|---|
|
#18+
Проектирую хранилище данных. Стоит задача составить один справочник (клиентов) в ХД из справочников (клиентов) в операционных системах. Подскажите, что почитать на эту тему. Или подскажите какие есть паттерны. Желательно минимальное участие пользователей в этом процессе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 14:14 |
|
||
|
Интеграция справочников из разных систем
|
|||
|---|---|---|---|
|
#18+
В таких случаях ( много разнородных систем-источников) в хранилище грузят зачастую денормализованные данные, безо всяких справочников. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 14:42 |
|
||
|
Интеграция справочников из разных систем
|
|||
|---|---|---|---|
|
#18+
В первую очередь - определиться с мастер-справочником, которому вы будете доверять и из которого будете заполнять измерение. Потом выбрать подходящий тип Slowly Changing Dimension _____________________ С уважением , Андрей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 14:51 |
|
||
|
Интеграция справочников из разных систем
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинВ таких случаях ( много разнородных систем-источников) в хранилище грузят зачастую денормализованные данные, безо всяких справочников. Не подходит. Справочник однозначно должен быть. Но спасибо за ответ :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 15:06 |
|
||
|
Интеграция справочников из разных систем
|
|||
|---|---|---|---|
|
#18+
В MS SQL Server 2005 есть интересные приблуды для этого: Fuzzy Lookup,Fuzzy Grouping. Если не 2005, то погугли по Fuzzy Search ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 15:08 |
|
||
|
Интеграция справочников из разных систем
|
|||
|---|---|---|---|
|
#18+
Васильев АндрейВ первую очередь - определиться с мастер-справочником, которому вы будете доверять и из которого будете заполнять измерение. Потом выбрать подходящий тип Slowly Changing Dimension _____________________ С уважением , Андрей. Мастер справочник выбрал. SCD не нужен. Проблема в том, что грузить надо все справочники, для того чтобы привязывать транзакции к справочнику. Справочники частично пересекаются.. Отсюда вытекает, что нужно находить соответсвие мужду строками из справочника в первой системе и справочником во второй системе. Появляются такие ситуации: 1 - добавляется клиент1 из справочника 1 2 - добавляется клиент2 из справочника 2 3 - добавляются транзакции, которые привязываются на клиента1 и клиента2 4 - проходит update справочника 2, так что клиент1 теперь "равен" клиенту2.. коллизия . что делать? интересны разные подходы к решению данной проблемы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 15:13 |
|
||
|
Интеграция справочников из разных систем
|
|||
|---|---|---|---|
|
#18+
SeVaВ MS SQL Server 2005 есть интересные приблуды для этого: Fuzzy Lookup,Fuzzy Grouping. Если не 2005, то погугли по Fuzzy Search У меня Oracle, но поищу.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 15:14 |
|
||
|
Интеграция справочников из разных систем
|
|||
|---|---|---|---|
|
#18+
автор4 - проходит update справочника 2, так что клиент1 теперь "равен" клиенту2.. коллизия . что делать? Вот за этим и нужен SCD. На оба справочника в системах-источниках вешается SCD, а согласование идет на уровне Surrogate Key, причем тоже с учетом истории, и возможно, с учетом возможности связывания сущностей из двух систем один-к-нескольким. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 15:29 |
|
||
|
Интеграция справочников из разных систем
|
|||
|---|---|---|---|
|
#18+
А6дулла автор4 - проходит update справочника 2, так что клиент1 теперь "равен" клиенту2.. коллизия . что делать? Вот за этим и нужен SCD. На оба справочника в системах-источниках вешается SCD, а согласование идет на уровне Surrogate Key, причем тоже с учетом истории, и возможно, с учетом возможности связывания сущностей из двух систем один-к-нескольким. Не.. Или вы меня не поняли, или я вас не понял) " коллизия " не в том, что я не знаю что писать в справочник, коллизия в том что есть транзакции привязанные к клиенту1 и транзакции привязанные к клиенту2. А теперь вдруг выясняется что это один и тот же клиент.. Вот как с этим быть? Если SCD мне чем-то помогут, распишите, пожалуйста, поподробней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 17:27 |
|
||
|
Интеграция справочников из разных систем
|
|||
|---|---|---|---|
|
#18+
Если вы сделаете версионируемую таблицу согласования суррогатных ключей из справочников систем- источников, то вообще нет коллизии. Т.е. до момента авторА теперь вдруг выясняется у вас действовала пара SK_Пары | Код системы 1 = 1000 = Код системы 2 = 2000 | срок действия с -бесконечность по этот момент. а с момента авторА теперь вдруг выясняется, когда стало известно, что это один объект в обеих системах, действует пара SK_Пары | Код системы 1 = 1000 = Код системы 2 = 1500 | срок действия с этот момент по +бесконечность. Применяя в факте как ID согласованного справочника SK_Пары, вы снимаете описанную вами проблему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 17:56 |
|
||
|
Интеграция справочников из разных систем
|
|||
|---|---|---|---|
|
#18+
Так ведь до момента "А теперь вдруг выясняется" у меня не действовало никакой нормальной пары! У меня было две неполные пары, т.е. я думал что клиент есть в одной системе и его нет в другой. SK_Пары1 | Код системы 1 = 1000 = Код системы 2 = NULL | срок действия с -бесконечность по этот момент. SK_Пары2 | Код системы 1 = NULL = Код системы 2 = 2000 | срок действия с -бесконечность по этот момент. SK_Пары1!=SK_Пары2 Или я опять не понял? Вобщем пока придумали такой способ: Было Клиенты GroupIDIDкод в системе 1код в системе 2имя11001000nullИванов А. Б.2200null2000А. Б. Иванов Факты ID клиентфакт100158200255 прошёл update клиентов. Стало Клиенты GroupIDIDкод в системе 1код в системе 2имя11001000nullИванов А. Б.2200null1000А. Б. Иванов "Связываем" этих двух клиентов понимая что система 1 у нас приоритетная по данным, получаем Клиенты GroupIDIDкод в системе 1код в системе 2имя110010001000Иванов А. Б.120010001000Иванов А. Б. Объединяем с фактами по ID, а если хотим посмотреть инфу по конкретному клиенту - используем GroupID. Вроде логично. Покритикуете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 18:42 |
|
||
|
Интеграция справочников из разных систем
|
|||
|---|---|---|---|
|
#18+
Да, то, что вы написали - это частный случай. Критика будет такой, что если вы заглянете хотя бы на немного в будущее, то поймете, что такая функция, как связывание кодов двух систем, по своей природе должна отражаться как время-зависимая. Добавьте дата_начала и дата_конца в вашу таблицу пар и идите с миром %) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 22:03 |
|
||
|
Интеграция справочников из разных систем
|
|||
|---|---|---|---|
|
#18+
Выкрутиться, конечно, можно, однако интеграционные вопросы, лучше решать в рамках операционных систем, ПМСМ, сберегёте кучу здоровья. Мало того, что будете избавлены от коллизий интеграции, дак ещё и данные\аналитику вразумительную на выходе получите. А SCD нужен практически всем измерениям, за исключенем тех, данные в которых вообще никогда не изменяются. Более красочные примеры Вам могут дать здесь . _____________________ С уважением , Андрей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 06:38 |
|
||
|
Интеграция справочников из разных систем
|
|||
|---|---|---|---|
|
#18+
авторинтеграционные вопросы, лучше решать в рамках операционных систем интересно-интересно, как это? механизмы файлов/очередей, которые предлагает ОС, и семантическая интеграция (по кодам, значениям полей, нечеткой логике) - весьма разные вещи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 10:40 |
|
||
|
Интеграция справочников из разных систем
|
|||
|---|---|---|---|
|
#18+
А6дуллаинтересно-интересно, как это? Уважаемый, мы же с вами в ветке "Проектирование БД", а не "Windows". Я имел ввиду транзакционные (OLTP) системы. Контекст, вроде, не предполагал ОС. _____________________ С уважением , Андрей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 10:52 |
|
||
|
Интеграция справочников из разных систем
|
|||
|---|---|---|---|
|
#18+
авторЯ имел ввиду транзакционные (OLTP) системы Давайте тогда уж писать "оперативные", т.к. в русском операционная =DOS, Win, ... Сам иногда путаюсь. Теперь я прошу от вас тезисно лекцию о том, почему вы умнее всей индустрии IT, и чем интеграция "точка-точка", основанная на ИС, лучше хабовой или на основе ХД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 11:05 |
|
||
|
Интеграция справочников из разных систем
|
|||
|---|---|---|---|
|
#18+
А6дуллаДавайте тогда уж писать "оперативные" т.к. в русском операционная =DOS, Win, ... Есть такое недоразумение:) А6дуллапочему вы умнее всей индустрии IT Боже упаси! А6дуллачем интеграция "точка-точка", основанная на ИС, лучше хабовой или на основе ХД. Я не сравниваю здесь виды интеграций. Это отдельная тема. Я говорил лишь о том, что разрешение коллизий в данных - это задачи OLTP систем, а не OLAP. Можно, конечно, проводить "интеграцию на коленке", но, ПМСМ, это может выйти себе дороже. Хотя, как вариант, может быть приемлим. _____________________ С уважением , Андрей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 11:36 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34932422&tid=1544201]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
168ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 456ms |

| 0 / 0 |
