Проход по ссылкам навигацииГлавная страница > Кроссплатформенная «xSBSS»
«xSBSS» – кроссплатформенная репликация распределённых гетерогенных баз данных

   Вот уже несколько лет в российской экономике, в частности, в IT-секторе, не сходит с повестки дня тема импортозамещения. За это время появился целый ряд нормативно-правовых актов, поручений Президента, постановлений Правительства, решений рабочих групп, ограничивающих использование зарубежного программного обеспечения. Особенно жёстко эти меры относятся к федеральным органам исполнительной власти и госучреждениям. Это означает, как минимум, следующее.

  1. В качестве операционной среды действующих и вновь разрабатываемых информационных систем должны использоваться отечественные сборки операционных систем, входящие в Реестр Российского программного обеспечения (по факту это – сборки операционных систем на основе ядра ОС Linux).

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

  3. Базы данных действующих и вновь проектируемых информационных систем должны работать под управлением СУБД, входящих в Реестр Российского программного обеспечения.

  4. Если учесть территориальную распределённость большинства информационных систем и единственно возможный в этих условиях поэтапный их перевод на отечественное, свободное и открытое ПО, то становится ясно, что для их функционирования потребуются кроссплатформенные системы информационного обмена, способные работать не только с различными СУБД, но и на различных (в том числе, смешанных) программно-аппаратных платформах.

С некоторых пор в Сети стало весьма популярным вот такое изображение комплекса задач, связанных с импортозамещением в IT. И, хотя перечень подводных слоёв этого «айсберга» на рисунке представлен не полностью, согласитесь, что даже такая картинка впечатляет и заставляет о многом задуматься. В подводную часть этого айсберга следует также добавить
  • компиляторы;
  • среды программирования;
  • различное системное ПО;
  • различное ПО промежуточного слоя;
  • генераторы отчётов;
  • ряд других сопутствующих задач.

   В связи с этим в 2018г. авторами были начаты работы по созданию кроссплатформенной системы информационного взаимодействия распределённых гетерогенных баз данных (логотип – «xSBSS»). За основу этой разработки была взята наиболее перспективная линейка семейства систем репликации «ruSBSS™» – система «ruSBSS™». Важной особенностью новой кроссплатформенной системы репликации является методическая и технологическая совместимость с ныне действующими линейками «ruSBSS™». Этот факт позволяет в значительной мере упростить процедуру перевода действующих информационных систем на кроссплатформенную основу.

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

* * *

   На наш взгляд, в этих рассуждениях следует пойти ещё дальше. Есть все основания полагать, что не только в переходный период потребуется возможность реализации подобных кроссплатформенных гетерогенных архитектур распределённых информационных систем. Судя по всему, такая возможность будет востребована всегда. Вряд ли стоит ориентироваться на полную закрытость и обособленность отечественных информационных систем от всего остального мира. Этот подход порочен в своей основе. Возможность интеграции с международным сообществом во все времена приносила пользу отечественным IT-специалистам.

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

   Кроме того, не стоит быть столь наивными, и полагать, что хоть когда-нибудь нам удастся абсолютно во всех областях отечественной индустрии ограничиться лишь отечественными технологиями. За всю историю человечества воинствующий максимализм никогда ещё не приводил к достойному результату.

* * *

   Взгляните на следующий рисунок. На нём в качестве примера представлен один из возможных вариантов топологии кроссплатформенной распределённой информационной системы, реализованной на основе технологии репликации баз данных. На рисунке упрощённо показано, как на основе кроссплатформенной системы репликации гетерогенных баз данных может быть реализована архитектура распределённой информационной системы, отдельные компоненты которой функционируют под управлением различных операционных систем и работают с различными СУБД. Пунктирными стрелками на рисунке обозначены информационные потоки, реализуемые компонентами кроссплатформенной системы репликации (в данном случае использованы компоненты системы «xSBSS»).

Кроссплатформенная гетерогенная распределённая информационная система
НЕМНОГО ИСТОРИИ

   Комплекс проведённых исследований и анализ результатов испытаний различных систем репликации в конкретных прикладных задачах,  по ряду причин заставили авторов в своё время сделать вывод о необходимости проведения собственной разработки системы репликации распределённых баз данных.  В результате в 2002г. вышел в свет первый релиз Системы сеансовой синхронизации распределённых баз данных под логотипом «SBSS» (Session Based Synchronization System).  С тех пор система «SBSS» прошла путь активного внедрения, совершенствования и развития.

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

   После ряда успешных внедрений системы «SBSS» весьма актуальной стала задача репликации в рамках распределённой системы мультиязычных текстовых данных.  Всё было бы просто, если бы все компоненты распределённых систем работали под управлением операционных систем одинаковой локализации и обменивались одноязычной информацией.  Однако чаще всего оба эти положения не соответствуют действительности. По сути, эта задача сводится к поддержке технологии UNICODE во всех звеньях распределённой системы.  Технология UNICODE на сегодняшний день является, пожалуй, единственным механизмом, обеспечивающим корректный обмен мультиязычными текстовыми данными между  приложениями, исключающим их искажение и некорректное преобразование.

   В результате в 2010г. была выпущена версия системы репликации с поддержкой технологии UNICODE (логотип – «uSBSS»). В дополнение к этому в ней был расширен перечень поддерживаемых СУБД, а также реализована технология массированной загрузки данных, позволяющая на порядок и более повысить производительность загрузки информации в базы данных. Это, в частности, позволило использовать её в качестве средства «ETL» для загрузки информации в базы данных OLAP и в хранилища данных.

   В 2014г. вышла в свет ещё одна линейка систем репликации – «rSBSS». В ней авторам удалось полностью отказаться от архитектуры «MIDAS» (разработанной компанией Borland), на которой были основаны системы «SBSS» и «uSBSS». В дополнение к этому в «rSBSS» реализован ряд дополнительных практически полезных свойств, в том числе:

  • двустороннее управление сжатием данных;
  • повышенная скорость доставки информации;
  • поддержка протокола SSL;
  • 64-битная реализация всех модулей системы;
  • повышенные меры информационной безопасности;
  • практически «нулевое» обслуживание и др.

   Таким образом, в 2014г. перечисленные линейки систем репликации «rSBSS», «uSBSS» и «SBSS» были объединены в семейство с логотипом «ruSBSS». Все они поддерживают взаимную совместимость по служебным объектам баз данных и могут использоваться параллельно как в консолидирующих, так и в дочерних сайтах распределённых систем.

* * *

   В связи с ограничениями, обусловленными санкциями, введёнными иностранными государствами в отношении Российской Федерации, а также в связи с ограничениями, действующими в рамках современной политикой России в области информационных технологий, в 2018г. авторы приступили к разработке принципиально новой линейки систем репликации в семействе «ruSBSS». В результате в 2021г. вышла в свет система репликации «xSBSS», унаследовавшая от своих предшественников все самые лучшие качества и технологические решения. Но самая важная отличительная черта этой системы заключается в том, что она стала кроссплатформенной. На момент подготовки данного материала система репликации «xSBSS» способна работать на компьютерах под управлением операционных систем Microsoft Windows и различных сборок Linux.

   Префикс «X» в обозначении логотипа этой линейки систем репликации обозначает кроссплатформенность. Краткий логотип системы обозначается как «RSX».

Далее по тексту вместо полного названия программного продукта "«xSBSS» – кроссплатформенная репликация распределённых гетерогенных баз данных" будет использоваться его сокращённое обозначение «xSBSS».
ФУНКЦИОНАЛЬНЫЕ ХАРАКТЕРИСТИКИ «xSBSS»

   Основными особенностями «xSBSS» являются:

  • поддержка гомогенных и гетерогенных сред баз данных;
  • использование сеансового механизма обмена информацией, обеспечивающего гарантированную доставку информации в пределах сеанса обмена;
  • наличие развитых средств проектирования плана информационного взаимодействия распределенных баз данных; это позволяет существенно упростить организацию репликации;
  • отсутствие необходимости ручной настройки дочерних сайтов для активизации системы репликации; это исключает необходимость дополнительной подготовки персонала дочерних сайтов в плане администрирования системы;
  • наличие средств удаленного администрирования дочерних баз данных из консолидирующего сайта;
  • отсутствие специфических требований к коммуникационной среде;
  • строгое сопряжение системы репликации с процедурами Backup/Restore как в консолидирующих, так и в дочерних сайтах;
  • обеспечение строгой хронологической последовательности операций с реплицируемыми данными в пределах каждой таблицы, участвующей в репликации; при этом сеанс репликации данных для каждой таблицы может быть организован как одна макро-транзакция: если по какой-либо причине в процессе сеанса происходит сбой, сеанс откатывается;
  • обмен информацией осуществляется на основе специальных SQL-скриптов, которые автоматически генерируются в консолидирующей базе данных; это позволяет, при необходимости, проводить тонкую настройку процесса репликации путем модификации скриптов с учетом конкретных прикладных особенностей предметной области;
  • допускается в одном сеансе проводить репликацию одной дочерней (клиентской) базы данных с несколькими центральными базами консолидирующего сайта; эта возможность может использоваться в тех случаях, когда консолидирующий и дочерние сайты имеют различную организацию баз данных;
  • допускается в одном сеансе проводить репликацию нескольких дочерних (клиентских) баз данных с несколькими центральными базами нескольких консолидирующих сайтов;
  • инициаторами процесса репликации всегда являются дочерние сайты. Они «выталкивают» свою информацию в консолидирующий сайт по восходящим потокам и «вытягивают» необходимые данные из консолидирующего сайта по нисходящим потокам. Такой подход позволяет территориально распределенным сайтам инициировать процесс репликации в удобное для них время;
  • все действия, необходимые для организации и запуска системы репликации выполняются только в консолидирующем сайте. Дочерние сайты автоматически настраивают себя при первом сеансе репликации на основании специальной служебной информации, хранящейся в консолидирующей базе данных.

В общем случае «xSBSS» применима к распределенным базам данных с иерархической древовидной структурой:

 

Распределенная база данных с иерархической древовидной структурой

 

В качестве транспортного слоя «xSBSS» могут использоваться

  • локальные сети;
  • публичные глобальные сети (Internet);
  • виртуальные частные сети c туннелями через публичные сети;
  • выделенные каналы и коммутируемые каналы с применением модемных соединений;
  • каналы спутниковых систем передачи информации.

Для передачи информации используются протоколы WinSock и HTTP(S) поверх TCP/IP.

ОСНОВНЫЕ КОМПОНЕНТЫ «xSBSS»

   В состав системы «xSBSS» входят следующие основные программные компоненты:

  • «rsxServer» – сервер репликации;
  • «rsxAgent» – агент репликации;
  • «rsxReader» – модуль удалённых запросов;
  • «rsxProxy» – proxy-сервер (посредник) репликации;
  • «rsxApply» – модуль отложенной загрузки информации в консолидирующие базы данных;
  • «rsxAdm» – модуль администрирования консолидирующих баз данных.
Сервер репликации «rsxServer»

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

  • поддержка соединений с дочерними сайтами;
  • авторизация дочерних сайтов, пытающихся провести сеанс репликации;
  • регистрация сеансов репликации в специальных системных журналах;
  • обработка запросов дочерних сайтов;
  • поставка информации из консолидирующих баз данных в дочерние сайты;
  • приём и загрузка информации дочерних сайтов в консолидирующие базы данных;
  • выполнение DML и DDL-операторов в базах данных дочерних сайтов (удалённое администрирование дочерних БД).
Агент репликации «rsxAgent»

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

Модуль удалённых запросов «rsxReader»

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

Прокси-сервер «rsxProxy»

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

Модуль отложенной загрузки информации в ЦБД «rsxApply»

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

Модуль администрирования консолидирующих баз данных «rsxAdm»

Используется для проектирования планов репликационного взаимодействия распределённых баз данных в рамках системы «xSBSS». Обычно этот модуль используется в консолидирующих сайтах. Это основной инструмент администратора репликации, позволяющий с минимумом усилий и в кратчайшие сроки спроектировать план репликационного взаимодействия баз данных распределённой информационной системы.

АРХИТЕКТУРА «xSBSS»

   В отличие от предыдущих линеек «ruSBSS», созданных на основе среды программирования Delphi, система «xSBSS» разработана с помощью открытой среды программирования Lazarus.

   Система «xSBSS» спроектирована в архитектуре классического многослойного распределённого приложения баз данных. В архитектуре многослойных распределённых приложений клиентская часть практически полностью отделена от слоя бизнес-логики и слоя доступа к данным. Многослойные приложения баз данных строятся на основе специальных компонент, которые позволяют клиентской части вообще ничего не знать о логической и физической организации серверной базы данных и её местонахождении. Причём серверная база данных может быть размещена как в той же локальной сети, что и клиентское приложение, так и в географически удалённой точке. Бизнес-логика при этом обычно размещается в специально проектируемом модуле, называемом «сервер приложений». Там же сосредоточены механизмы доступа к данным консолидирующего сайта.

   Если не рассматривать вспомогательные модули (например, прокси-серверы) и специальные инструментальные средства, можно считать, что система «xSBSS» состоит из следующих слоёв:

  • представительский слой (интерфейс с конечным пользователем дочернего сайта);
  • транспортный слой (обеспечение сетевого взаимодействия клиентских и серверных модулей);
  • слой реализации бизнес-логики;
  • слой доступа к данным.

   Все эти слои работают во взаимосвязи, как единое целое. Слой доступа к данным системы «xSBSS» реализован на технологии «ZeosDBO» (https://zeoslib.sourceforge.io). Для реализации транспортного слоя используется технология «RTC+» (модернизированная технология «RealThinClient», https://rtc.teppi.net).

   На следующем рисунке схематично показана архитектура простейшей топологии системы «xSBSS».

Архитектура простейшей топологии «xSBSS»

Архитектура простейшей топологии «xSBSS»

   Следующий рисунок иллюстрирует упрощённую внутреннюю организацию клиентской и серверной частей системы «xSBSS».

Внутренняя организация «xSBSS»-клиента и «xSBSS»-сервера

Внутренняя организация «xSBSS»-клиента и «xSBSS»-сервера

ДОКУМЕНТАЦИЯ
Общее руководство
Наиболее полное руководство для администраторов и пользователей «xSBSS». Включает в себя обзор современных технологий репликации баз данных, подробное описание процедур установки и обновления ПО, принципов проектирования планов репликации, примеры планов репликации, описание пользовательского интерфейса, системные требования ПО, а также массу иных полезных сведений.
Скачать PDF
Описание жизненного цикла ПО
Содержит информацию о процессах, поддерживающих жизненный цикл «xSBSS».
Скачать PDF
Инструкция по установке ПО
Объясняет процедуры установки и обновления «xSBSS» в различных операционных средах..
Скачать PDF

ДИСТРИБУТИВНЫЙ КОМПЛЕКТ «xSBSS»
Скачать дистрибутивный комплект «xSBSS» в версии «всё включено», т.е. в виде одного файла Вы можете по следующей ссылке.
Скачать дистрибутивный комплект и документацию «xSBSS» в версии «россыпью» Вы можете по следующей ссылке.
Получить информацию о стоимости «xSBSS» Вы можете по следующей ссылке.

ТЕХНИЧЕСКАЯ ПОДДЕРЖКА
Техническая поддержка:
  • email:        support@rusbss.ru
  • телефон:  +7 (903) 597-4834 по будням с 9:00 до 17:00 мск.