powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Первое хранилище
8 сообщений из 33, страница 2 из 2
Первое хранилище
    #38160996
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
londinium Мне кажется, правильнее обновить/пересчитать его один раз в ночью после завершения торговли апельсинами
.. А еще лучше - при [регулярном] импорте данных в отдельную OLAP-базу.
...
Рейтинг: 0 / 0
Первое хранилище
    #38161016
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
londiniumДопустим мы считаем агрегат "масса проданных апельсинов за день", "массса
проданных апельсинов за месяц". Разве будет правильно перетряхивать этот агрегат при
каждой продаже апельсинов на протяжении дня?
Да, если эта информация требуется в реальном времени. Кроме того, это проще чем ночное
обновление и не вызывает проблем при проведении документов задним числом.

Ты действительно думаешь, что "update agr set m=m+delta_m where id=апельсин" сильно
напряжёт хоть какую-то приличную СУБД?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Первое хранилище
    #38161058
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Разумеется напряжет - поскольку создает узкое место. Любые исправления любых движений по апельсинам (которые, вообще говоря, могли бы выполняться параллельно) будут конкурировать за эту строчку таблицы agr.
...
Рейтинг: 0 / 0
Первое хранилище
    #38161073
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинЛюбые исправления любых движений по апельсинам (которые, вообще
говоря, могли бы выполняться параллельно) будут конкурировать за эту строчку таблицы agr.

Есть схемы и без конкуренции за строчку, но смысл их применять-то? Где-то осуществляется
хотя бы десяток тысяч продаж апельсинов в секунду? Вроде бы даже на бирже интенсивность
поменьше...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Первое хранилище
    #38166635
alexdr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не понятно, почему топикстартер выбрал этот форум при наличии специализированного форума OLAP/DWH? Проектирование OLTP баз и ХД подчиняются несколько разным правилам (ваш Кэп ;) ). Думаю, что на специализированном форуме возникло бы меньше вопросов к топкстартеру и недопониманий с обеих сторон.

Имеются 2 таблицы фактов и n-таблиц измерений. Некоторые измерения являются общими для обеих таблиц фактов. Эти общие измерения должны быть согласованными (conformed).

Обычно, насколько я понимаю, делают так. Каждая запись в таблице общих измерений несет в себе системные бизнес-ключи (ключи из каждого источника). Кроме того, каждая запись в таблице измерений имеет суррогатный ключ (напр, целочисленный автоинкрементный вставляемый при каждом добавлении новой записи в таблицу измерений). В DWH для каждого измерения имеется одна и только одна таблица. При загрузке таблицы фактов (это уже ETL-процесс) в таблицу фактов вместо системных бизнес-ключей подставляются суррогатные, уникально определяющие каждый элемент измерения. В результате мы имеем 2 звезды в которых каждая таблица фактов связана с соответствующим набором таблиц измерений, часть из которых общая. Анализ фактов (мер), полученных из каждой из таблиц фактов возможен только в контексте общих (conformed) измерений.

Как-то так, очень вкратце и высокоуровнево... Сорри, если не очень понятно. Детали этой архитектуры и ее реализации можно посмотреть, напр. у Кимбалла (Ralph Kimball).
...
Рейтинг: 0 / 0
Первое хранилище
    #38166861
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Не понятно, почему топикстартер выбрал этот форум при наличии специализированного форума OLAP/DWH?
кросспостит
http://www.sql.ru/forum/actualthread.aspx?tid=1005921
...
Рейтинг: 0 / 0
Первое хранилище
    #38171033
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovlondiniumДопустим мы считаем агрегат "масса проданных апельсинов за день", "массса
проданных апельсинов за месяц". Разве будет правильно перетряхивать этот агрегат при
каждой продаже апельсинов на протяжении дня?
Да, если эта информация требуется в реальном времени.
И даже в этом случае никто не апдейтит агрегаты каждой транзакцией!!!!
Просто юзают ROLAP который агрегаты строит на лету при каждом запросе пользователя.
А запросы пользователя происходят в 100500 раз реже чем транзакции.
...
Рейтинг: 0 / 0
Первое хранилище
    #38171087
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan DurakИ даже в этом случае никто не апдейтит агрегаты каждой транзакцией!!!!
Просто юзают ROLAP который агрегаты строит на лету при каждом запросе пользователя.

Вот только апдейт агрегатов каждой транзакцией дешевле с точки зрения ресурсов сервера,
чем пересчёт агрегатов при запросе - меньше записей опрашивается.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
8 сообщений из 33, страница 2 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Первое хранилище
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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