|
|
|
Суррогатные ключи на суррогатные ключи?
|
|||
|---|---|---|---|
|
#18+
Во общем вопрос следующий. Есть OLPT база на постгресе. Есть задача создания аналитики данных этой базы.Как реализовано - создана база MSSQLServer(staging), которая содержит актуальные данные из постгреса. Создана еще одна сиквельная база(reporting), которая будет источником данных для Олап базы. В reporting базу данные заливаются из staging.В постгресе все первичные ключи - суррогатные. Какие могут быть причины не использования этих первичных ключей из постгреса в базе reporting тоже как первичные?Зачем создавать новые первичные ключи reporting базе, делать ремапинг между таблицами на новые ключи и т.д? Некоторые причины я могу сказать (если в постгресе есть мертвые ссылки, или не все данные доехали в staging). Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2010, 21:23 |
|
||
|
Суррогатные ключи на суррогатные ключи?
|
|||
|---|---|---|---|
|
#18+
Шрек, Что значит, что у вас они уже сурогатные? Еще накидаю вам вариантов для необходимости: - несколько полей справочника идентифицируют одну запись к примеру - пациенты Фамилия + Имя + Отчетство + Дата рождения (встречал в одной базе полных однофамильцев) - справочник как медленно меняющееся измерение - место жительства, паспортные данные и т.д. со временем могут поменяться - первичные ключи - в виде кодов (символов) лучше их переделывать в int. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2010, 10:08 |
|
||
|
Суррогатные ключи на суррогатные ключи?
|
|||
|---|---|---|---|
|
#18+
ШрекВо общем вопрос следующий. Есть OLPT база на постгресе. Есть задача создания аналитики данных этой базы.Как реализовано - создана база MSSQLServer(staging), которая содержит актуальные данные из постгреса. Создана еще одна сиквельная база(reporting), которая будет источником данных для Олап базы. В reporting базу данные заливаются из staging.В постгресе все первичные ключи - суррогатные. Какие могут быть причины не использования этих первичных ключей из постгреса в базе reporting тоже как первичные?Зачем создавать новые первичные ключи reporting базе, делать ремапинг между таблицами на новые ключи и т.д? Некоторые причины я могу сказать (если в постгресе есть мертвые ссылки, или не все данные доехали в staging). Спасибо Первичные ключи бывают и меняются даже суррогатные! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2010, 11:31 |
|
||
|
Суррогатные ключи на суррогатные ключи?
|
|||
|---|---|---|---|
|
#18+
ПолковникШрек, Что значит, что у вас они уже сурогатные? То, что они не изменяются конечным пользователем. В моей случаи первичные суррогатные ключи получаются из последовательностей в постгресе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2010, 11:58 |
|
||
|
Суррогатные ключи на суррогатные ключи?
|
|||
|---|---|---|---|
|
#18+
Ivan Durak Первичные ключи бывают и меняются даже суррогатные! Как по мне обновление первичные суррогатных ключей очень плохая практика. В этом случае проблема каскадных обновлений данных при изменении первичных ключей лежит все также на СУБД источнике данных (постгресе). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2010, 12:03 |
|
||
|
Суррогатные ключи на суррогатные ключи?
|
|||
|---|---|---|---|
|
#18+
если у тебя только один источник и все сущности отображаются однозначно, то можно и не перекодировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2010, 14:45 |
|
||
|
Суррогатные ключи на суррогатные ключи?
|
|||
|---|---|---|---|
|
#18+
------------------------------если у тебя только один источник и все сущности отображаются однозначно, то можно и не перекодировать да-да. Все так же думают поначалу. А потом. Когда уже все написано, все отлажено, навернуто сверху олап с отчетами, заоптимайзено и запущено. Вот потом выясняется что............ (подставить нужную ситуацию). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2010, 10:11 |
|
||
|
Суррогатные ключи на суррогатные ключи?
|
|||
|---|---|---|---|
|
#18+
Шрек wrote: Зачем создавать новые первичные ключи reporting базе, > делать ремапинг между таблицами на новые ключи и т.д? Некоторые причины > я могу сказать (если в постгресе есть мертвые ссылки, или не все данные > доехали в staging). Спасибо Это дурацкая причина. Если там что-то не так с данными, тащить эти данные в OLAP нет никакого смысла. может на мой взгляд быть только одна причина -- если предусматривать возможность в OLAP базе хранить данные не из одной OLTP базы, а из нескольких. Других причин не вижу. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2010, 10:25 |
|
||
|
Суррогатные ключи на суррогатные ключи?
|
|||
|---|---|---|---|
|
#18+
Ivan Durak wrote: > Первичные ключи бывают и меняются даже суррогатные! Если меняется первичный ключ, то это уже не первичный ключ. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2010, 10:26 |
|
||
|
Суррогатные ключи на суррогатные ключи?
|
|||
|---|---|---|---|
|
#18+
MasterZiv может на мой взгляд быть только одна причина -- если предусматривать возможность в OLAP базе хранить данные не из одной OLTP базы, а из нескольких. +1 вообще, ваши суррогатные ключи из OLTP являются естественными с точки зрения DWH ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2010, 11:24 |
|
||
|
Суррогатные ключи на суррогатные ключи?
|
|||
|---|---|---|---|
|
#18+
Критик wrote: > вообще, ваши суррогатные ключи из OLTP являются естественными с точки > зрения DWH С какой это радости ? они либо везде суррогатные, либо везде естественные. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2010, 12:23 |
|
||
|
Суррогатные ключи на суррогатные ключи?
|
|||
|---|---|---|---|
|
#18+
MasterZiv может на мой взгляд быть только одна причина -- если предусматривать возможность в OLAP базе хранить данные не из одной OLTP базы, а из нескольких. Других причин не вижу. Вместо ремапинга тока проще добавить еще колонку - признак откуда пришли данные и ничего не нужно ремапить. В этом случае первичный ключ становиться составным (оригинальный ключ + колонка код источника) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2010, 13:47 |
|
||
|
Суррогатные ключи на суррогатные ключи?
|
|||
|---|---|---|---|
|
#18+
MasterZiv, Естественные ключи это те поля, с помощью которых можно идентифицировать объекты внешнего (относительно рассматриваемой системы) мира. Пусть имеем 2 системы, OLTP и DWH С помощью ключа в DWH (импортированного из OLTP) можно идентифицировать запись в OLTP. Значит такой ключ является естественным (в DWH). Все относительно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2010, 14:23 |
|
||
|
Суррогатные ключи на суррогатные ключи?
|
|||
|---|---|---|---|
|
#18+
шрек Вместо ремапинга тока проще добавить еще колонку - признак откуда пришли данные и ничего не нужно ремапить. В этом случае первичный ключ становиться составным (оригинальный ключ + колонка код источника) угу, особенно, если в одной системе-источнике ключи int, а в другой char(100) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2010, 14:24 |
|
||
|
Суррогатные ключи на суррогатные ключи?
|
|||
|---|---|---|---|
|
#18+
Критикшрек Вместо ремапинга тока проще добавить еще колонку - признак откуда пришли данные и ничего не нужно ремапить. В этом случае первичный ключ становиться составным (оригинальный ключ + колонка код источника) угу, особенно, если в одной системе-источнике ключи int, а в другой char(100) Обсуждается классическая и неразрешимая проблема РМД, в которой нет идентификации сущностей. Ключи - это те же атрибуты отношения (среди прочих), которые формально могут, конечно же, меняться. Нужно использовать идентификаторы (которые принципиально не являются характеристикой объекта, и находжятся вне прочих характеристик), то есть нужно просто отказаться от РМД по этой и многим другим причинам:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2010, 16:44 |
|
||
|
Суррогатные ключи на суррогатные ключи?
|
|||
|---|---|---|---|
|
#18+
Критик wrote: > Пусть имеем 2 системы, OLTP и DWH > > С помощью ключа в DWH (импортированного из OLTP) можно идентифицировать > запись в OLTP. Ключи надо рассматривать относительно предметной области. OLTP и DWH -- это ОДНА система. Две её подсистемы. Потому что если ты перекладываешь данные из одной БД в другую, они принципиально ни в чём не меняются. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2010, 00:06 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=70&tid=1542539]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 216ms |
| total: | 403ms |

| 0 / 0 |
