Архивирование и нарушение логической целостности БД

Технические вопросы по UTM 5.0
Ответить
olegnv
Сообщения: 53
Зарегистрирован: Чт сен 08, 2011 07:48

Архивирование и нарушение логической целостности БД

Сообщение olegnv »

Архивирование у нас не проводилось ни разу. Решил заняться этим вопросом. В инструкции по архивированию сказано:
Транзакции списаний за трафик являются подмножеством транзакций изменения балансов лицевых счетов, поэтому записи в указанных выше таблицах связаны. Если для записи в таблице discount_transactions_all установлен service_type, равный 3, то должна существовать запись с таким же id, discount_date и discount в таблице discount_transactions_iptraffic_all. Невыполнение данного условия считается нарушением логической целостности БД
У нас разница между количеством записей с service_type, равным 3, и соответствующими записями в discount_transactions_iptraffic_all около 0,1%.
Запросы выполнял так:
select count(*) from discount_transactions_all where service_type = 3;
select count(*) from discount_transactions_all dta, discount_transactions_iptraffic_all dtia where dta.service_type = 3 and dtia.id = dta.id and dtia.discount_date = dta.discount_date and dtia.discount = dta.discount;
Насколько это критично? Стоит ли все-таки произвести архивирование таблиц или попробовать как-то разобраться с данными сначала? Если надо разобраться, то каким образом?

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

Буду благодарен за вашу помощь.

JAO
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Сообщение JAO »

Первый вопрос вообще никогда себе не задавал. Архивирую и всё.

По второму - да, пустые таблицы тоже нужно отмечать в archives и ставить границы времени. Если какая-то таблица имеет свой тип в архиве (см. документацию), то она должна там быть прописана, пустая она или нет.

В версии 5.2.1-007 таких таблиц семь.

Ответить