2013-12-12 3 views
0

Мы начали разработку процесса обнаружения изменений в нашей базе данных ERP для создания баз данных datawarehouse. Поскольку им не нравится размещать триггеры в базах данных ERP или даже включить CDC (сервер sql), мы думаем, что читаем изменения из баз данных, которые реплицируются в центральный репозиторий посредством репликации транзакций, а затем имеют дополнительную копию, которая объединит (у нас будет CDC на дополнительной копии) ...Datawarehousing, важно ли отслеживать исторические данные (SQL Server)?

Интересно, есть ли возможность, когда данные, которые изменяются внутри, скажем, 15 минут, достаточно важны, чтобы рассмотреть изменение в нашем дизайне, как мы план при проектировании это не сможет отслеживать каждое изменение, оно будет получать только самое позднее через некоторое время, например, если значение в строке изменяется от А до В, а затем через 1 минуту изменяется от В до C система репликации приведёт это последнее значение к центральному репозиторию, затем мы объединим таблицу с нашей дополнительной копией (эта дополнительная копия могла иметь значение A, а затем w плохо обновляется с помощью C, и мы потеряли значение B).

Есть ли хороший сценарий в базе данных хранилища данных, где вам нужно отслеживать ВСЕ изменения, которые прошла таблица?

+0

Вам необходимо отслеживать столько изменений, сколько было бы актуально для пользователя данных. Отслеживание изменений распространено в хранилищах данных. Если вы не знакомы с медленно меняющимися размерами (http://www.kimballgroup.com/2008/08/21/slowly-changing-dimensions), я предлагаю вам ознакомиться с ними. – mmarie

+0

Что хотят ваши пользователи? Что это за источник? Если это финансовые показатели, я сомневаюсь, что кто-то будет интересоваться значением B. Если его мониторинг в реальном времени, то этот пункт данных может быть очень важен. –

ответ

2

Заботясь исторических данных в DW имеет важное значение в некоторых случаях, таких как:

  1. При изменении значения размера. Скажем, поставщик слился с другим и изменил свое коммерческое название

  2. Когда таблица фактов использует вычисления, полученные на основе другой информации за пределами таблицы фактов, которая изменяется. Скажем, например, изменения скорости преобразования.

  3. Когда вам нужно запускать запросы, отражающие информацию о фактах в предыдущие периоды (версии таблицы фактов).

Пример, в котором каждое изменение матер может быть баланс банковского счета или склад товар хранение подсчитывать или цена акций и т.д.

Для вашего конкретного случая, вы должны проверить с вашим клиентом, как система будет использоваться, и каковы его преимущества точно, и дизайн соответственно. Насколько гранулированные изменения должны быть зафиксированы (каждый час, день и т. Д.) - это прежде всего призыв вашего клиента.

Некоторые методы обработки данных измерений изменяются в Kimball-Slowly Changing Dimension.

0

В прямой ответ на ваш вопрос: зависит от приложения.

Примеры: Значение - это поле описания элемента в каком-либо инвентаре, где сами элементы не меняются (т. Е. Идентификатор элемента X всегда блеск). В этом случае сохранение короткоживущих описаний, вероятно, не требуется.

Значение последнего показания датчика температуры. Если он переместит определенное значение, будет принято действие, чтобы вернуть температуру. В этом случае вам обязательно нужно сохранять каждое изменение.

Это поднимает три очка:

  1. Второго случай, когда каждое изменение требуется показывает очень плохой дизайн. Такая система, несомненно, введет новые значения с меткой времени в таблицу и не обновит одно значение.

  2. Плохие проекты действительно существуют. Следовательно:

  3. Объем данных, хранящихся на складе, зависит от характера данных.
    a. Сможете ли вы получить какой-либо интеллект из ваших складированных данных?
    b. Сможете ли вы знать, основываясь на изменениях на уровне базы данных, что произошло на уровне бизнеса?
    c. Что происходит с вашими данными при изменении схемы базы данных, поскольку вы обновили продукт ERP?

Мне интересно, можно ли сохранить журнал изменений на уровне таблицы. Возможно, вы сможете перепроектировать, что такое набор изменений, а затем сохранить его на складе или заставить ERP «рассказать» о том, что он сделал, и сохранить эти изменения.

Смежные вопросы