«Горячая» резервная база 1С с помощью DBREPLICATION

Введение

Для решения задачи отказо-и катасрофоустойчивости базы данных 1С на платформе MSSQL Server существует целый ряд подходов и решений. В зависимости от ситуации применяют и простейшую выгрузку dt-файла средствами 1С, и различные схемы резервирования (backup) средствами MSSQL, и log-shipping, и mirroring, и кластеризацию с использованием AlwaysOn, и различные технологии обмена данными (планы обмена 1С, replication), и прочие средства. Каждый из вариантов имеет право на жизнь, имеет свои плюсы и минусы, свою нишу.

Программный комплекс DBREPLICATION предлагает еще один интересный способ реализации задачи повышения отказоустойчивости для баз 1С, обладающий своим уникальным набором конкурентных преимуществ.

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

Концепция решения

Концепция решения в следующем. Создаётся копия основной базы – резервная база 1С; между основной и резервной базами 1Снастраивается высокоскоростной обмен данными посредством DBREPLICATION, тем самым резервная база поддерживается в актуальном состоянии; в случае необходимости пользователей 1С переключают на резервную базу.

Для поддержания резервной базы 1С в синхронном состоянии DBREPLICATION имеет в своём составе такие инструменты как:

  • Механизм быстрого обмена данными, позволяющий в режиме близком к online (от 5ти секунд) передавать изменения из основной БД в резервную базу 1С;тем самым резервная база находится постоянно в состоянии «горячей копии» с минимальным отставанием от основной базы;
  • Механизм синхронизации пользователей, позволяющий транслировать в резервную базу пользователей 1С, введенных в основной БД;
  • Механизм обновления конфигурации 1С, позволяющий из единого пользовательского интерфейса накатывать изменения конфигурации на основную и резервную базы 1С одновременно.

Основные особенности и преимущества решения

Предлагаемое решение с применением DBREPLICATION обладает уникальной комбинацией свойств и преимуществ, которой нет у альтернативных решений.

  • Можно балансировать нагрузку. В нашем решении резервная база 1С всегда доступна «на чтение». Это позволяет утилизировать ее аппаратные ресурсы, то есть переключить на неё часть нагрузки с основной базы. Например, выполнять в резервной базе тяжелые аналитические отчеты. Именно эта возможность зачастую является для наших клиентов одним из главных доводов в пользу решения, так как позволяет «убить 2х зайцев»: одновременно с задачей отказоустойчивости решить задачу балансировки нагрузки.
  • Адаптация под 1С. Технология DBREPLICATIONспециально адаптирована под платформу 1С, учитывает множество её особенностей, связанных со структурой базы данных, 3х-звенной архитектурой, алгоритмами работы и т.д. Кроме того пользовательские интерфейсы DBREPLICATION оперируют привычными объектами дерева метаданных 1С, что очень упрощает специалистам 1С порог вхождения в технологию.
  • Геораспределенная система. Резервную базу 1С можно разместить в географически удаленном ЦОДе.
  • Можно на слабых каналах связи. Канал связи между основной и резервной базой не обязан быть идеальным. Главное, чтобы его возможности соответствовали тому трафику данных, который через него предстоит пропускать, и тем требованиям по скорости синхронизации, которые предъявляются в конкретном случае.
  • Несколько резервных копий. Можно создать одновременно несколько резервных баз 1С в разных точках.
  • Любые версии MSSQL. DBREPLICATION работает практически с любыми версиями и выпускамиMSSQL Server: от 2000 и выше, от EXPERESS и выше.
  • Любые комбинации версий MSSQL. Допускается любая комбинация версий MSSQLServer в основной и резервной базах 1С.Например, основная БД, как более нагруженная, размещается на MSSQL 2014 ENTERPRISE, а Резервная – на MSSQL 2012STANDARD. Тем самым можно сэкономить на лицензиях MS. Конечно, в такой комбинации, если основная БД является высоконагруженной, то в случае выхода её из строя, резервная база, обладая меньшими ресурсами производительности, вряд ли сможет обеспечить идентичный уровня быстродействия. Но всё же позволит сравнительно спокойно пережить тот период, пока основная БД восстанавливается.
  • Оптимизация объема данных. DBREPLICATION не транслирует полностью журнал транзакцийMSSQL, а передаёт только изменения прикладных данных. Это логическая репликация, а не физическая, поэтому отсутствует та избыточность передачи данных, которая характерная для физической репликации. К тому же DB REPLICATION сжимает весь передаваемых трафик. Технологически в DB REPLICATION совмещены два подхода: в основном это Row-based репликация, но в некоторых моментах ради оптимизации трафика применяется statement-based репликация.
  • Детальный журнал изменений / действий пользователей. Архив транзакций DBReplication (его длительность хранения настраивается параметрически) можно использовать как исчерпывающий лог изменений данных с детализацией до значений в каждом поле. Практически никакое другое средство такой возможности предоставить не может. С его помощью можно отслеживать изменения, производимые пользователями, расследовать инциденты с неправомерным или ошибочным изменением данных и т.п. Да, это не очевидное, и не всегда востребованное преимущество. Но в нашей практике не редки случаи, когда уже после внедрения технологии выясняется, что на самом деле потребность в подобном инструменте у Заказчика была, но оставалась не осознанной. А получив в руки такой инструмент, Заказчик начинает его очень активно использовать.
  • Для полноты картины стоит отметить, что DBREPLICATION, если настроить двустороннюю репликацию, вообще-то допускает работать с резервной базой 1Си «на изменение», т.е. можно вносить изменения в её данные.Но тут мы выходим за рамки задачи резервирования, потому что, как только речь заходит об изменении данных в резервной базе, её уже нельзя считать в чистом виде «резервной копией», и такой сценарий – это уже предмет отдельного рассмотрения.

Дополнительно о продукте DBREPLICATION – http://repltech.ru/reshenia/replikatsiya-informatsionnykh-baz/

Другие статьи по применению DBREPLICATION - http://repltech.ru/articles/