Возможности UTM 5
Платформы:
  • Linux
  • FreeBSD
  • Windows NT4.0/2000/XP
  • Sun solaris
Оборудование:
  • Cisco systems
  • Sun microsystems
  • NSG
  • D-Link
  • Revolution
  • Nomadix
  • MikroTik
  • PC router
Технологии:
  • NetFlow
  • RADIUS
Услуги:
  • Ethernet
  • VPN
  • PPPoE
  • Dial-up
  • Hotspot
  • VoIP
  • Web hosting
узнать больше »

Инструкция по архивированию таблиц списаний


Для версий UTM 5.2.1-007 и выше. Инструкция для более ранних версий находится в архиве.

Внимание! Перед выполнением любых действий с БД UTM5 в обязательном порядке следует сделать полную резервную копию БД UTM5 и проверить возможность восстановления данных из этой резервной копии. Дальнейший текст предназначен только для тех, кто понимает, что делает, и имеет достаточный уровень технических знаний в области работы с СУБД. Вопросы касательно способов манипуляции данными средствами СУБД останутся без ответа по существу, в том числе и если они будут заданы в hotline. Перед проведением любых действий рекомендуется отработать их на стендовой машине

Архивирование применяется к определённым наиболее быстро растущим таблицам с целью снизить накладные расходы на операции вставки. В ходе архивирования таблица переносится (переименовывается) в архивную, и одновременно создаётся пустая (текущая) таблица с первоначальным названием и с той же структурой для вновь поступающих данных. Операция может применяться периодически по мере роста таблиц. Ограничения описаны ниже.

  1. В настоящий момент механизм архивирования распространяет свое действие на таблицы, перечисленные ниже:
    Таблица Тип Название поля даты
    discount_transactions_all 1discount_date
    discount_transactions_iptraffic_all 2discount_date
    tel_sessions_log 3recv_date
    tel_sessions_detail 4recv_date
    dhs_sessions_log 5recv_date
    dhs_sessions_detail 6recv_date
    payment_transactions 7payment_enter_date
  2. Транзакции списаний за трафик являются подмножеством транзакций изменения балансов лицевых счетов, поэтому записи в указанных выше таблицах связаны. Если для записи в таблице discount_transactions_all установлен service_type, равный 3, то должна существовать запись с таким же id, discount_date и discount в таблице discount_transactions_iptraffic_all. Невыполнение данного условия считается нарушением логической целостности БД.
  3. Начиная со сборки 5.2.1-006, существует таблица archives со следующими полями:
    • id – уникальный идентификатор записи;
    • archive_id – идентификатор архива, не может быть равен 0, должен быть идентичен для всех таблиц, архивируемых одновременно;
    • table_type – тип архивной таблицы (см. выше);
    • table_name – имя архивной таблицы;
    • start_date – время, которым датировано первое списание в архиве (UNIX TIMESTAMP);
    • end_date – время, которым датировано последнее списание в архиве (UNIX TIMESTAMP);
    Все архивные таблицы должны быть перечислены в таблице archives.
  4. Каждая архивная таблица должна иметь такую же структуру, как и соответствующая текущая таблица в установленной сборке.
  5. Каждая архивная таблица должна содержать все данные, датированные временем, входящим в диапазон, указанный в соответствующей записи в таблице archives, и только эти данные.
  6. Все данные за время, не покрытое архивными таблицами, должны содержаться в текущих таблицах.
  7. Архивирование должно происходить одновременно для всех типов таблиц, к которым оно применимо. Создваваемые одновременно архивные таблицы должны иметь одинаковые start_date, end_date и archive_id.
  8. В UTM сборки 5.2.1-006 архивирование применялось только к таблицам discount_transactions_all и discount_transactions_iptraffic_all. Использование архивных таблиц, созданных для этой сборки, требует архивирования "задним числом" всех остальных таблиц, к которым оно применимо. Т.е. для каждой из них должны быть созданы архивные таблицы по тем же периодам времени, и данные за эти периоды перенесены в эти таблицы. Наименование полей таблиц, содержащих дату, см. выше.
  9. Для облегчения ручной обработки (в случае надобности) рекомендуется давать архивным таблицам интуитивно понятные имена, например, имя_основной_таблицы_метка, где метка – timestamp (отметка времени) создания архивной таблицы.
  10. Архивная таблица может не поддерживать транзакции и быть доступна в режиме только чтения.