|
|
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
Есть две системы данных, из комбинаций содержимого которых создается хранилище. При этом одна система хранит в себе информацию о сделках (клиенте, менеджере, производитель, сумме сделки и т.п.). В другой системе хранится информация о работниках, з/п, расходах, количеством поставленных и реализованных товаров, их производителе, дате. При этом сейчас для анализа продаж планируется ввести классификатор, состоящий из кат., подкат. и производителя. Видимо для реализации куба, в котором одной из сторон всегда будет производитель. Если я правильно понимаю идею и смысл классификатора. Господа, а теперь вопросы. Получается, что хд будет реализовано звездой, в которой будет каждая таблица из первой системы, и она будет измерением. Таблица сумм сделок будет являться фактом. Куда тогда приделать информацию из второй системы, дополнить ей таблицу фактов и измерений первой системы и получить хд? В общем у меня нет опыта проектирования, и я могу говорить только с стороны теории. Кто нибудь описывал требования к ХД при возможных изменениях содержимого классификатора? То есть изменение граней куба, и его постройки? Что включает в себя сей процесс. И еще как проектируется к примеру нахождение маржи от определенного производителя. Работал только с oltp. Сейчас вешаюсь от олапа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2013, 21:29 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
vpozhidaevИ еще как проектируется к примеру нахождение маржи от определенного производителя. Самый простой путь - добавить в Вашу таблицу фактов еще одну меру "себестоимость", которую на этапе импорта в хранилище рассчитывать [по некоему алгоритму] по данным второй системы. Это не совсем безупречный путь с точки зрения теории, но, повторюсь, самый простой с точки зрения реализации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 10:54 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин, Спасибо. Просто вся загвоздка и есть в том, что не получается построить куб из двух данных этих систем, т.к. они не связаны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 13:40 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
vpozhidaevне получается построить куб из двух данных этих систем, т.к. они не связаны. Так свяжи их сначала. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 14:07 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Если есть возможность, дай хотя бы наводку как это сделать. Потому что я не понимаю.Там по структуре появляются две звезды, от каждой системы, и как их представить для одного куба связав данные вопрос. По сути нам нужна будет витрина от производителя, категории и подкатегории. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 15:59 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
vpozhidaevпо структуре появляются две звезды Я вообще не врубаюсь о каких звёздах ты говоришь. Наверное, это слишком суровая для меня абстракция. Ближе к физическим структурам всё упрощается: сваливаются в одну БД таблицы от обоих, потом одинаковые сущности объединяются (возможно, с созданием вьюх для обратной совместимости). Для OLAP обычно используется другая база, куда данные из OLTP базы реплицируются. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 16:39 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
vpozhidaevDimitry Sibiryakov, Если есть возможность, дай хотя бы наводку как это сделать. Потому что я не понимаю.Там по структуре появляются две звезды, от каждой системы, и как их представить для одного куба связав данные вопрос. По сути нам нужна будет витрина от производителя, категории и подкатегории. Расширение функциональности второй системы и перенос в нее данных из первой - это тривиальная задача. Трудоемкость более правильного решения - сделать просто новую (разумеется, одну) систему OLTP/OLAP - несколько выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 17:06 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Речь идет о физической реализации таблиц для ХД, в которой есть одна таблица фактов и ее окружают измерения, при этом схема полностью денормализована. Потом на основе звезды строится куб. Как слить две базы от двух систем в одну. Вот в чем вопрос. На этом конкретном примере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 19:12 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
Бредятина, Полностью согласен, однако мне пока неясно как данные перенести, не то что говорить про сделать еще лучше. В общем тяжело и непонятно. Делить системы на уровне OLTP нет смысла, так как первая это CRM, вторая это отчетность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 19:15 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
vpozhidaevКот Матроскин, Спасибо. Просто вся загвоздка и есть в том, что не получается построить куб из двух данных этих систем, т.к. они не связаны. Еще раз Вы строите куб по первой системе, дополнив таблицу фактов еще одним полем (мерой) "себестоимость данной продажи", рассчитывая это поле по второй системе (LIFO-FIFO, отнесение прочих затрат и т.п.) . Это не очень хорошо, поскольку получается что Вы фиксируете в хранилище не факт, а факт + алгоритм расчета, но при предположении что алгоритм расчета себестоимости по прошедшим продажам фиксирован и не может меняться - допустимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 19:25 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
vpozhidaevРечь идет о физической реализации таблиц для ХД, в которой есть одна таблица фактов и ее окружают измерения, при этом схема полностью денормализована. Я один не понимаю о чём он говорит или он в самом деле использует термины, не особо вдаваясь в их значение?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 20:46 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, у меня нет большого опыта по хд, только теория. Соответственно потому задача создания некого концепта и лежит на мне. Если я что то неверно сказал, прошу прощения за ошибочную терминологию. Мне и нужна помощь именно в объяснении того, как имея данные двух систем создать хранилище. Что то типо вот эти таблицы туда, эту инфу сюда. Это факты, это измерения. У меня есть задача, я пытаюсь ее решить. Просто больше помощи искать негде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 22:02 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
vpozhidaevУ меня есть задача, я пытаюсь ее решить. Просто больше помощи искать негде. Задача твоя выглядит как лабораторная. Стало быть помощь лучше всего искать в конспектах. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 23:26 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Жаль что сложилось такое впечатление. Я не работал с хранилищами потому и такие проблемы в понятиях. обычные бд гораздо проще в освоении и терминах. а по хд ни кимбалла ни инмона ничего на русском нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 01:11 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
vpozhidaevЯ не работал с хранилищами потому и такие проблемы в понятиях. Тогда забудь всё, что ты о них прочитал. Считай, что ХД это просто большая БД, а OLAP кубы это просто разновидность хранимых агрегатов. Ты ведь знаешь что такое "хранимые агрегаты", да?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 01:19 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
OLAP куб - это аналог Pivot Table в Excel, только более "продвинутый". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 02:17 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Честно говоря никогда не сталкивался с этим понятием, однако судя по найденной информации, хранимые агрегаты это результаты суммирования по каким либо полям, которые хранятся в таблице. Их обновление происходит по срабатыванию триггеров на исходных данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 10:11 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
автор Их обновление происходит по срабатыванию триггеров на исходных данных. Зачем? Если Вы на каждый чих будете пересчитывать агрегаты, то все станет колом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 11:31 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
londinium, Ну я имел ввиду что то типо flow fields в навижн. Походу был не прав. А вкратце тогда что понимается под агрегатами? Это же термин OLAP? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 11:49 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
авторА вкратце тогда что понимается под агрегатами? Суммы и количества ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 12:11 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
londinium, Ну касательно этого я не сомневался, просто какой смысл хранить избыточную информацию в бд, тем более если она может быть и не актуальной? Если агрегаты хранятся отдельно от данных по которым рассчитываются суммы и количества, то тогда необходимо обновлять их для поддержки актуальности при изменениях данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 13:50 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
londiniumЕсли Вы на каждый чих будете пересчитывать агрегаты, то все станет колом Не встанет. Их не надо "пересчитывать", достаточно "корректировать", а это гораздо более лёгкая операция. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 13:56 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, То есть из двух систем достаточно сделать сводную таблицу агрегатов, на исходные таблицы навесить триггеры на обновление полей. Я прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 14:09 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
vpozhidaevЯ прав? Может да, может нет. Попробуй и узнаешь. Если всё получится, значит прав. Если не получится... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 14:29 |
|
||
|
Первое хранилище
|
|||
|---|---|---|---|
|
#18+
авторНе встанет. Их не надо "пересчитывать", достаточно "корректировать", а это гораздо более лёгкая операция. Давайте на примерах? Допустим мы считаем агрегат "масса проданных апельсинов за день", "массса проданных апельсинов за месяц". Разве будет правильно перетряхивать этот агрегат при каждой продаже апельсинов на протяжении дня? Мне кажется, правильнее обновить/пересчитать его один раз в ночью после завершения торговли апельсинами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 15:50 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=40&tid=1541351]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 376ms |

| 0 / 0 |
