powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Интеграция справочников из разных систем
18 сообщений из 18, страница 1 из 1
Интеграция справочников из разных систем
    #34932296
Пилот Пиркс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проектирую хранилище данных. Стоит задача составить один справочник (клиентов) в ХД из справочников (клиентов) в операционных системах. Подскажите, что почитать на эту тему. Или подскажите какие есть паттерны. Желательно минимальное участие пользователей в этом процессе.
...
Рейтинг: 0 / 0
Интеграция справочников из разных систем
    #34932422
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В таких случаях ( много разнородных систем-источников) в хранилище грузят зачастую денормализованные данные, безо всяких справочников.
...
Рейтинг: 0 / 0
Интеграция справочников из разных систем
    #34932470
В первую очередь - определиться с мастер-справочником, которому вы будете доверять и из которого будете заполнять измерение. Потом выбрать подходящий тип Slowly Changing Dimension
_____________________
С уважением , Андрей.
...
Рейтинг: 0 / 0
Интеграция справочников из разных систем
    #34932562
Пилот Пиркс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинВ таких случаях ( много разнородных систем-источников) в хранилище грузят зачастую денормализованные данные, безо всяких справочников.

Не подходит. Справочник однозначно должен быть. Но спасибо за ответ :)
...
Рейтинг: 0 / 0
Интеграция справочников из разных систем
    #34932575
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В MS SQL Server 2005 есть интересные приблуды для этого: Fuzzy Lookup,Fuzzy Grouping. Если не 2005, то погугли по Fuzzy Search
...
Рейтинг: 0 / 0
Интеграция справочников из разных систем
    #34932616
Пилот Пиркс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Васильев АндрейВ первую очередь - определиться с мастер-справочником, которому вы будете доверять и из которого будете заполнять измерение. Потом выбрать подходящий тип Slowly Changing Dimension
_____________________
С уважением , Андрей.

Мастер справочник выбрал. SCD не нужен.

Проблема в том, что грузить надо все справочники, для того чтобы привязывать транзакции к справочнику. Справочники частично пересекаются.. Отсюда вытекает, что нужно находить соответсвие мужду строками из справочника в первой системе и справочником во второй системе. Появляются такие ситуации:
1 - добавляется клиент1 из справочника 1
2 - добавляется клиент2 из справочника 2
3 - добавляются транзакции, которые привязываются на клиента1 и клиента2
4 - проходит update справочника 2, так что клиент1 теперь "равен" клиенту2.. коллизия . что делать?

интересны разные подходы к решению данной проблемы
...
Рейтинг: 0 / 0
Интеграция справочников из разных систем
    #34932620
Пилот Пиркс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaВ MS SQL Server 2005 есть интересные приблуды для этого: Fuzzy Lookup,Fuzzy Grouping. Если не 2005, то погугли по Fuzzy Search

У меня Oracle, но поищу..
...
Рейтинг: 0 / 0
Интеграция справочников из разных систем
    #34932707
Фотография А6дулла
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор4 - проходит update справочника 2, так что клиент1 теперь "равен" клиенту2.. коллизия . что делать?
Вот за этим и нужен SCD.
На оба справочника в системах-источниках вешается SCD, а согласование идет на уровне Surrogate Key, причем тоже с учетом истории, и возможно, с учетом возможности связывания сущностей из двух систем один-к-нескольким.
...
Рейтинг: 0 / 0
Интеграция справочников из разных систем
    #34933246
Пилот Пиркс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А6дулла автор4 - проходит update справочника 2, так что клиент1 теперь "равен" клиенту2.. коллизия . что делать?
Вот за этим и нужен SCD.
На оба справочника в системах-источниках вешается SCD, а согласование идет на уровне Surrogate Key, причем тоже с учетом истории, и возможно, с учетом возможности связывания сущностей из двух систем один-к-нескольким.

Не.. Или вы меня не поняли, или я вас не понял)

" коллизия " не в том, что я не знаю что писать в справочник, коллизия в том что есть транзакции привязанные к клиенту1 и транзакции привязанные к клиенту2. А теперь вдруг выясняется что это один и тот же клиент.. Вот как с этим быть? Если SCD мне чем-то помогут, распишите, пожалуйста, поподробней.
...
Рейтинг: 0 / 0
Интеграция справочников из разных систем
    #34933366
Фотография А6дулла
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вы сделаете версионируемую таблицу согласования суррогатных ключей из справочников систем- источников, то вообще нет коллизии.

Т.е. до момента авторА теперь вдруг выясняется у вас действовала пара
SK_Пары | Код системы 1 = 1000 = Код системы 2 = 2000 | срок действия с -бесконечность по этот момент.
а с момента авторА теперь вдруг выясняется, когда стало известно, что это один объект в обеих системах, действует пара
SK_Пары | Код системы 1 = 1000 = Код системы 2 = 1500 | срок действия с этот момент по +бесконечность.

Применяя в факте как ID согласованного справочника SK_Пары, вы снимаете описанную вами проблему.
...
Рейтинг: 0 / 0
Интеграция справочников из разных систем
    #34933508
Пилот Пиркс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так ведь до момента "А теперь вдруг выясняется" у меня не действовало никакой нормальной пары! У меня было две неполные пары, т.е. я думал что клиент есть в одной системе и его нет в другой.

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. Вроде логично. Покритикуете?
...
Рейтинг: 0 / 0
Интеграция справочников из разных систем
    #34933774
Фотография А6дулла
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, то, что вы написали - это частный случай.
Критика будет такой, что если вы заглянете хотя бы на немного в будущее, то поймете, что такая функция, как связывание кодов двух систем, по своей природе должна отражаться как время-зависимая. Добавьте дата_начала и дата_конца в вашу таблицу пар и идите с миром %)
...
Рейтинг: 0 / 0
Интеграция справочников из разных систем
    #34934010
Выкрутиться, конечно, можно, однако интеграционные вопросы, лучше решать в рамках операционных систем, ПМСМ, сберегёте кучу здоровья. Мало того, что будете избавлены от коллизий интеграции, дак ещё и данные\аналитику вразумительную на выходе получите.
А SCD нужен практически всем измерениям, за исключенем тех, данные в которых вообще никогда не изменяются.
Более красочные примеры Вам могут дать здесь .
_____________________
С уважением , Андрей.
...
Рейтинг: 0 / 0
Интеграция справочников из разных систем
    #34934404
Фотография А6дулла
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторинтеграционные вопросы, лучше решать в рамках операционных систем
интересно-интересно, как это?
механизмы файлов/очередей, которые предлагает ОС, и семантическая интеграция (по кодам, значениям полей, нечеткой логике) - весьма разные вещи
...
Рейтинг: 0 / 0
Интеграция справочников из разных систем
    #34934460
А6дуллаинтересно-интересно, как это?
Уважаемый, мы же с вами в ветке "Проектирование БД", а не "Windows". Я имел ввиду транзакционные (OLTP) системы. Контекст, вроде, не предполагал ОС.
_____________________
С уважением , Андрей.
...
Рейтинг: 0 / 0
Интеграция справочников из разных систем
    #34934505
Фотография А6дулла
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЯ имел ввиду транзакционные (OLTP) системы

Давайте тогда уж писать "оперативные", т.к. в русском операционная =DOS, Win, ...
Сам иногда путаюсь.

Теперь я прошу от вас тезисно лекцию о том, почему вы умнее всей индустрии IT, и чем интеграция "точка-точка", основанная на ИС, лучше хабовой или на основе ХД.
...
Рейтинг: 0 / 0
Интеграция справочников из разных систем
    #34934618
А6дуллаДавайте тогда уж писать "оперативные" т.к. в русском операционная =DOS, Win, ...
Есть такое недоразумение:)
А6дуллапочему вы умнее всей индустрии IT
Боже упаси!
А6дуллачем интеграция "точка-точка", основанная на ИС, лучше хабовой или на основе ХД.
Я не сравниваю здесь виды интеграций. Это отдельная тема. Я говорил лишь о том, что разрешение коллизий в данных - это задачи OLTP систем, а не OLAP. Можно, конечно, проводить "интеграцию на коленке", но, ПМСМ, это может выйти себе дороже. Хотя, как вариант, может быть приемлим.
_____________________
С уважением , Андрей.
...
Рейтинг: 0 / 0
Интеграция справочников из разных систем
    #34935788
Пилот Пиркс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобщем примерно понял что делать) Всем спасибо :)
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Интеграция справочников из разных систем
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]