Какая разница между временной базой данных и исторической архивной базой данных?

Здесь говорится:

http://www.ibm.com/developerworks/web/library/wa-dbdsgn2.html

Каждая таблица в БД должна иметь таблицу истории, отражающую весь история первичной таблицы. Если записи в основной таблице должны быть обновлено, старое содержимое запись сначала копируется в историю перед обновлением. В аналогичным образом, удаленные записи в первичная таблица копируется в таблицу истории перед удалением от первичной. История таблицы всегда имеют имя соответствующей первичной, но с _Hist прилагается.

В временном db см. здесь временное моделирование и нормализация базы данных, насколько я понимаю, нет отдельной таблицы.

Итак, когда мне нужно создать другую таблицу или нет?

Ответ 1

Что Роберт сказал теоретически - ничего не добавить.

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

Для сильно поддерживаемых данных (например, обновления/удаления значительно превосходят вставки), имеющих исторический (иногда также называемый "аудит" - поскольку он является основным механизмом обеспечения аудита следа данных БД), таблица позволяет сохранить основную таблица достаточно мала по сравнению с сохранением информации аудита внутри самой основной таблицы. Это может иметь значительные последствия для производительности как для выбора, так и для вставок в основной таблице, особенно в свете оптимизации индекса, обсуждаемой ниже.

В довершение всего, индексы таблицы hist/audit не должны быть на 100% идентичны основной таблице, что означает, что вы можете опустить индексы, которые не нужны для запроса данных аудита из базы данных hist (таким образом, ускорение вставки в таблицу аудита) и, наоборот, оптимизировать, какие индексы существуют для определенных аудиторских запросов, которые у вас есть (включая упорядочивание таблицы по метке времени с помощью кластерного индекса) без привязки основной таблицы к тем индексам, которые замедляют изменение данных (а в случае кластеризации во время обновления, столкновение с кластеризованным индексом основной таблицы, поэтому вы обычно не можете кластеризовать его во временном порядке).

Ответ 2

Таблицы истории предоставляют историю изменений (обычно не временных), внесенных пользователями в первичные записи базы данных. Эта история имеет архивный характер (т.е. Иногда используется для исторических целей). Временная информация (когда изменение было сделано) носит вторичный характер.

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

http://en.wikipedia.org/wiki/Temporal_database

Ответ 3

Таблица истории, о которой говорится в этой статье developerworks, представляет собой таблицу, в которой хранится история базы данных (т.е. история наших убеждений о реальности).

История, о которой вы просили в этом другом потоке, содержит нашу (текущую!) веру в историю реальности.

Обратите внимание на разницу. Эти два согласны только с тем, что наши прошлые убеждения о реальности действительно были правильными. И это не всегда на 100%.

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

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