СИНДРОМ "ДВОЙНИКА"
Тиражирование данных в ПО коллективного пользования

Сергей Орлов

Lotus Notes
Collabra Share 2.0
Novell GroupWise
Microsoft Exchange
Заключение
Будущая операционная система Novell
"Синхронизировать базы данных сложно. Но игра стоит свеч", - считают пользователи.
Отдельные недостатки
Более современные методы разрешения конфликтов данных
Способность работать в разных архитектурах
Более совершенные средства администрирования и разработки
Двунаправленное тиражирование
Семь раз отмерь
В двух словах
База данных от Database Inc. поддерживает новые возможности тиражирования

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

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

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

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

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

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

Lotus Notes

По мнению специалистов, наряду с их применением в таких мощных СУБД, как Oracle, методы тиражирования приобрели популярность именно благодаря Lotus Notes. Появившись в 1989 году как первое ПО коллективного пользования для платформы клиент/сервер, Notes компании Lotus Development породил целую отрасль программных продуктов и средств, создаваемых на его основе. В этом продукте применяется специализированная база данных документов, где хранится информация разного рода, включая текстовые, численные данные, изображения, звук и сложные объекты.

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

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

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

Хорошо спроектированная схема приложения и планирование тиражирования исключают конфликты или сводят их к минимуму. Если конфликт все же возникает, например, пользователи одновременно вносят изменения в один и тот же документ, то он разрешается согласно заданному критерию (обычно в этом случае приоритет имеет документ с большим числом изменений). Администратор может устранить конфликт и вручную.

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

Планирование изменений осуществляется администратором. При модификации БД копируются только изменения в данных, определенных при проектировании схемы тиражирования: можно выбрать, какие именно объекты (документы, формы или представления) будут тиражироваться отдельным пользователям. Избирательное тиражирование полезно применять при ограниченных ресурсах серверов или удаленных клиентов либо для того, чтобы пользователи могли видеть лишь часть базы данных.

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

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

Тиражирование в распределенной среде требует наличия средств защиты и аутентификации. В Notes применяется защита по методу RSA, цифровые подписи и 7 различных уровней доступа к БД (разрешающих изменение полномочий доступа, модификацию схемы, редактирование объектов, их добавление, чтение объектов, добавление без чтения других объектов и запрет доступа).

Для многих пользователей очень важное значение имеет связь Notes с внешними базами данных, включая реляционные БД и возможность синхронизации данных с ними. Кроме собственных средств Lotus, например, DataLens и функции @DB, решить эту проблему позволяют продукты тиражирования независимых разработчиков: Notrix Composer фирмы Percussion Software, InfoPump компании Trinzic и DataLink 2.0 от Brainstorm Technologies. В прошлом году компания Casahl выпустила ПО Replic-Action Server, выгодно отличающееся от конкурирующих продуктов низкой стоимостью поддержки, ориентированным на Notes интерфейсом и встроенными средствами автоматизации документооборота на основе триггеров и событий. Продукт позволяет создавать процедуры двунаправленного тиражирования и определять маршруты передачи данных.

Если в нынешней версии Notes предусматривает тиражирование между серверами и между серверами и клиентами на уровне документов или файлов, то в Lotus Notes версии 4.0, выпуск которой намечен на первый квартал этого года, планируется реализовать тиражирование на уровне полей, что сократит объем передаваемых данных и уменьшит время на синхронизацию. Например, если изменение вносится в одно поле записи (в Notes запись - это документ), то вместо всего документа при тиражировании передается только такое поле. Данное решение значительно повысит эффективность работы Notes в глобальных сетях и обеспечит быстрое распространение информации по сети и на ПК мобильных и удаленных пользователей. Предполагается также включить в пакет усовершенствованные средства обработки новых типов данных, что в совокупности с синхронизацией видео- и аудиоинформации расширит возможность применения Notes в сетевых системах с мультимедиа. Разработчики смогут автоматизировать многие функции Notes 4 с помощью программных агентов и языка LotusScript.

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

Collabra Share 2.0

Collabra Share компании Collabra Software - это продукт, предлагающий одно из наиболее развитых сегодня приложений для проведения онлайновых дискуссий. Новая версия, использующая архитектуру клиент/сервер, поддерживает тиражирование между узлами Share и предусматривает программные агенты для двустороннего обмена информацией между форумами Share и документами Lotus Notes или базами данных новостей Internet (Notes-агент даже сохраняет организацию полей, применяемую Notes Forms и Notes View, что позволяет реализовать в Share некоторые функции Notes).

Хотя тиражирование здесь во многом напоминает подход, выбранный в Notes, в Share используется обмен данными с помощью квитируемых сообщений, передаваемых через сеть произвольного типа. Это позволяет применять продукт в сетях без гарантированного доступа к серверу, где данная схема обеспечивает большую надежность по сравнению с синхронным тиражированием на основе протокола. В случае недоступности сервера система электронной почты Collabra Share 2.0 выполнит тиражирование после восстановления связи. В то же время специалисты отмечают, что такое решение может приводить к потере последних изменений.

В отличие от Notes, Share не имеет таких богатых средств разработки приложений, разнообразных представлений баз данных и развитых возможностей тиражирования. Однако это менее дорогая и более простая в администрировании система.

Сервер Share функционирует в среде Windows NT и позволяет управлять документами, форумами и информацией о пользователях с помощью GUI-интерфейса. В отличие от прежней версии, Share 2.0 поддерживает несколько серверов и реализует тиражирование между ними с помощью средств электронной почты стандарта VIM или MAPI. Для коммуникаций с клиентами Share использует библиотеку Microsoft RPC, работающую "поверх" сетевых протоколов NetBIOS, SPX/IPX и TCP/IP.

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

Novell GroupWise

Система GroupWise стала первым и остается пока единственным приложением коллективных вычислений масштаба предприятия, интегрирующим электронную почту, ведение персональных календарей, групповое планирование, управление задачами, межсетевую передачу сообщений, факсов, пейджинговую связь, управление сообщениями на основе правил и маршрутизацию документооборота. Продукт работает "поверх" существующей сети. Универсальный почтовый ящик (Universal In Box) позволяет получать доступ к информации и работать с ней в одном месте, что устраняет необходимость сбора данных из различных приложений и источников.

Электронная почта системы GroupWise охватывает несколько платформ и предлагает одинаковые функциональные возможности в среде клиентов Windows, Macintosh, DOS и UNIX (семи различных вариантов). По многим функциям существующая версия продукта является лучшей в категории ПО коллективного пользования и средств электронной почты, опережая конкурирующее ПО по своим функциям, производительности и простоте применения. В ближайшее время выйдет русифицированная версия GroupWise 4.1. Система GroupWise входит в семейство продуктов Novell GroupWare, включающее в себя также систему сбора и доступа к информации InForms и систему управления документами SoftSolutions.

Сервер администрирования ADS (Administration Server) предоставляет администратору необходимые инструментальные средства для настройки конфигурации и обслуживания системы путем распространения вносимых пользователем изменений на различные почтовые отделения и домены.

В будущей версии GroupWise (GroupWise XTD) (а она должна появиться весной 1996 г. и будет интегрирована не только с продуктами GroupWare, GroupWise и Message Handling Service, но и с ПО Collabra Share компании Collabra Software), предполагается реализовать модель тиражирования, опережающую по своим возможностям соответствующие средства Lotus Notes. С помощью Collabra Share 2.0 for GroupWise пользователи GroupWise смогут создавать тиражируемые "электронные форумы" для совместной работы с информацией. Кроме того, Novell и Collabra ведут разработки Collabra Share 2.0 Replication Agent - модуля NLM (Netware Loadable Module), реализующего тиражирование форума на существующих серверах Netware 4, не требуя отдельной машины Windows.

GroupWise будет предлагать двунаправленное тиражирование между серверами и клиентами. Модель тиражирования несколько отличается от той, что обычно используется в базах данных, и основана на механизме передачи сообщений. К тому же здесь применяется "двухточечное" тиражирование: если в Notes изменения рассылаются сразу всем пользователям, то в GroupWise - только заданным адресатам, что позволяет осуществлять тиражирование в масштабе времени, приближенном к реальному. Novell считает, что такое тиражирование в "близком к реальному" времени предпочтительнее планируемого копирования данных в Notes. Благодаря архитектуре, реализованной на основе правил, GroupWise может доставлять и получать информацию почти немедленно, а не заставлять пользователей ожидать истечения заданного интервала тиражирования. В то же время специалисты полагают, что использование в системе тиражирования Novell процедур с промежуточным хранением данных не позволяет распространять изменения действительно в реальном времени.

Первоначально новая версия GroupWise будет, как и существующая, дополнительным продуктом к NetWare, однако в перспективе (возможно, в NetWare 4.2) это ПО должно стать встроенным компонентом данной сетевой ОС. Предполагается, что стоимость будущего продукта будет ненамного отличаться от существующей версии GroupWise, которая в среднем составляет 157 долл. на ПК. К преимуществам GroupWise можно отнести то, что эта система не требует такого администрирования, как Notes, и работает поверх существующих серверов, используя информацию службы каталогов NDS.

Для стыковки с другими продуктами и системами электронной почты предлагаются многочисленные шлюзы, адаптеры и интерфейсы. Например, шлюз GroupWise Gateway for Lotus Notes полностью совместим с системой электронной почты Notes, и поэтому пользователи обеих систем могут без проблем обмениваться информацией. Данный шлюз преобразует сообщения всех поддерживаемых GroupWise типов в сообщения формата Notes и посылает их в домен Notes. Сообщения, передаваемые пользователями Notes в GroupWise, автоматически транслируются в сообщения формата GroupWise.

Microsoft Exchange

ПО коллективного пользования Exchange Server 4.0 корпорации Microsoft, содержащее серверные компоненты для ОС Windows NT на платформах Alpha и MIPS и клиентские модули для среды Windows 3.x, Windows 95, NT и Macintosh, станет важнейшей системой обмена сообщениями, но не предложит таких функций работы с БД, как Lotus Notes. В то же время Exchange Server поддерживает спецификации X.400, связь с Internet, протокол SNMP и стандарт передачи данных MIME. В нем предполагается значительно усовершенствовать функции электронной почты (включая универсальный почтовый ящик), а приложение Schedule+ позволит использовать эффективные средства планирования для рабочих групп.

Наряду с планированием и передачей сообщений Exchange, уже выпущенный недавно в бета-версии, предлагает такие основные функции, как хранение и совместное использование информации, создание электронных форм и документов, разработка приложений. Microsoft Exchange Server входит в состав комплекта Microsoft BackOffice на базе ОС Windows NT Server (включающий в себя СУБД Microsoft SQL Server, средства сетевого администрирования и связи с мэйнфреймом).

Exchange поддерживает OLE 2.0 и функции буксировки (drag-and-drop). Для обмена сообщениями применяются общедоступные папки: чтобы передать сообщения группе пользователей, можно "положить" его в соответствующую папку, а подписавшись на папку, - получать уведомления о поступлении в нее информации. Папки оснащаются и средствами работы с формами. Кроме того, продукт позволяет создавать правила, автоматически выполняемые на сервере при поступлении сообщения. В отличие от Notes, для защиты от сбоев ведется журнал транзакций, позволяющий воссоздать события при отказе системы.

Что касается средств тиражирования, то первоначально предполагалось, что в первой версии, которая должна увидеть свет уже в феврале этого года (возможно, одновременно с Novell GroupWise XTD и Lotus Notes 4.0), они будут значительно слабее аналогичных возможностей конкурирующих продуктов. В Exchange намечалось реализовать тиражирование только между серверами, но не между серверами и клиентами - настольными или портативными ПК (эти функции Microsoft намеревалась предлагать в upgrade-версиях). Однако позднее было решено уже в первом варианте добавить средства локального тиражирования (двунаправленной синхронизации информации, хранящейся на сервере, и копии данных на локальном компьютере), что выводит средства тиражирования данного продукта на уровень конкурирующих пакетов. Exchange сможет, например, тиражировать формы Microsoft Mail, хранимые в библиотеке и распространяемые по организации, а также каталоги и другую информацию о конфигурации.

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

К недостаткам продукта специалисты относят отсутствие такой поддержки операционных систем и платформ, какая предлагается в Lotus Notes и Novell GroupWise. Кроме того, в GroupWise лучше интегрированы функции планирования, а Notes предлагает более широкий спектр средств тиражирования и разработки приложений.

Согласно Microsoft A.O., в апреле на российском рынке должна появиться русифицированная версия продукта.

Заключение

По мнению экспертов, в текущем году тиражирование станет ключевой технологией разработки и реализации сетевых приложений БД и основным методом распределения информации в приложениях клиент/сервер масштаба предприятия. Если в первых решениях технология тиражирования была слишком сложной в реализации и обслуживании, а обновление целевых баз данных чрезмерно загружало сервер, то средства тиражирования следующего поколения стали включать в себя графический инструментарий, упрощающий создание и обслуживание схем тиражирования. Аналитики отмечают, что многие средства тиражирования нового поколения хорошо продуманы и учитывают практически все варианты распределения данных. По мере совершенствования данной технологии пользователи приобретают все большую уверенность в надежности, безопасности распределенных данных и обеспечении их целостности. Большинство специалистов с оптимизмом оценивают будущее технологии тиражирования данных и считают, что новые инструментальные средства, подобные тем, которые уже применяются в Lotus Notes, превращают ее в надежное и экономически эффективное решение, обеспечивающее корпоративным пользователям доступ к информации во времени, близком к реальному, и независимо от местонахождения их системы.

В своей нынешней версии Notes предлагает, бесспорно, самые развитые возможности тиражирования по сравнению с другими продуктами для поддержки коллективной работы, хотя и не такие полные, как в коммерческих СУБД. Этот продукт имеет заслуженную репутацию ведущего ПО коллективного пользования, и многие крупные поставщики баз данных, включая Sybase, Oracle и IBM, предлагают в своих программах (или планируют создать в будущем) средства тиражирования, обеспечивающие обмен информацией с базами документов Notes. Между тем это достаточно дорогой пакет. Даже его "облегченная версия" Notes Express превышает по стоимости конкурирующее ПО.

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


Сергей Орлов - независимый автор. С ним можно связаться по телефону: (095) 470-9025.

Будущая операционная система Novell

Novell собирается добавить к своей сетевой ОС аппарат тиражирования прежде, чем корпорация Microsoft сможет встроить в Windows NT аналогичные возможности.

На конференции разработчиков Brainshare в апреле, компания детализирует свой план встраивания тиражирования в следующий выпуск операционной системы NetWare, носящий кодовое название Moab, который появится в 1997 году.

В этом выпуске Novell представит файловую систему NetWare Advanced File System (NAFS), которая позволит добавить службы тиражирования прямо в операционную систему.

Сегодня это средство поддерживается, в большинстве случаев, на уровне СУБД. В Lotus Notes тиражирование используется (причем очень интенсивно) для того, чтобы обеспечить синхронизацию баз данных системы коллективного пользования.

По мнению официальных представителей Novell, появление таких средств в Netware превратит ее в настоящую распределенную операционную систему.

"Распределенная файловая система позволит вам выполнять операцию тиражирования, - отметил Уильям Донахью, директор по маркетингу продуктов Novell.

В настоящий момент тиражирование уже поддерживается в рамках службы каталогов NetWare Directory Services, но встраивание на уровне ОС сделает его доступным для любого приложения.

По мнению Роба Эндерли, аналитика из компании Giga Information Group, тиражирование на системном уровне намного удобнее, чем на прикладном, поскольку пользователи смогут реплицировать любые базы данных, а не только те, для которых эта возможность предусмотрена их изготовителем.

По словам Донахью, в NAFS тиражирование файлов будет прозрачным и автоматическим и пользователям не придется беспокоиться о местонахождении файлов.

"Вам надо будет просто обращаться к своим данным - знать, где они находятся, не требуется", - сказал он.

В новой файловой системе будет предусмотрена утилита для задания множества синхронизируемых файлов. NAFS будет поддерживать уже существующие файлы, не требуя их модификации. Еще один побочный эффект, который можно будет получить от NAFS, состоит в том, что отпадет необходимость в программном обеспечении Novell System Fault Tolerance III, которое используется для организации выделенного резервного сервера файлов.

Впрочем, Microsoft преследует Novell буквально по пятам. Следует обратить внимание на новую объектную файловую систему, которая появится в 1997 году вместе с Cairo, следующим выпуском Windows NT. Cairo также будет обеспечивать полную прозрачность местонахождения файлов, позволяя поддерживать в сети несколько реплик одного и того же набора данных.

- Пол Крилл

"Синхронизировать базы данных сложно. Но игра стоит свеч", - считают пользователи.

В медицинском центре университета Дюка (шт. Каролина) в реляционной базе данных хранилось 1,6 Гбайт информации по более чем 92 тысячам пациентов и полумиллиону процедур, и этот объем увеличивался изо дня в день. Исследователи могли открывать эту сокровищницу и брать оттуда все, что только могло потребоваться для прогнозирования развития недуга и борьбы с ним.

Но, увы, попасть в Сезам было не так-то просто. Исследователи писали длинные статистические запросы, выполнение которых блокировало доступ к таблицам данных и не позволяло лечащим врачам вносить новую информацию. По выражению Дональда Фортина, администратора базы данных кардиологического отделения Центра, получая информацию, необходимую для спасения жизни, они "убивали" базу данных.

Для спасения системы транзакций (а, заодно, и для защиты от не очень аккуратных пользователей) Фортин решил предоставлять исследователям копию базы данных и синхронизировать обновление каждые пять минут. Он начал тестирование с Replication Server компании Sybase, но вскоре отказался от него из-за повышенной сложности и дороговизны и остановил свой выбор на последней версии SQL корпорации Microsoft.

Несмотря на простоту установки, обеспечиваемую графическим интерфейсом администратора SQL Server, программистам группы Фортина пришлось провозиться почти шесть месяцев, записывая и загружая тысячи строк программ переноса "домашнего" программного обеспечения для сбора статистики на SQL Server.

Все больше компаний, подобно Центру Дюка, начинают испытывать потребность в тиражировании баз данных, поскольку немедленное получение самой свежей информации становится все более актуальным. Правда, число таких компаний еще невелико. Так, например, аналитик баз данных Дональд Фейнберг ссылается на оценку Gartner Group, согласно которой в настоящее время пользователей баз данных с системой тиражирования насчитывается несколько сотен.

Однако, по мнению первопроходцев, преимущества такой системы просто невозможно переоценить. Например, компания Superior National Insurance использует механизм Replication Server фирмы Sybase, позволяющий страховым агентам предлагать недорогие и при этом выгодные полисы.

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

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

Отдельные недостатки

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

Более современные методы разрешения конфликтов данных

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

Способность работать в разных архитектурах

Например, SQL Server компании Microsoft может тиражировать только другие базы данных, хранящиеся на SQL Server.

Более совершенные средства администрирования и разработки

Replication Server компании Sybase, например, или Oracle компании Oracle, или Informix компании Informix Software не отслеживают тиражирования данных. Директор исследовательского отдела коммерческих систем Aberdeen Group по этому поводу замечает: "Самое слабое место баз данных с системой тиражирования заключается в том, что даже наиболее удачные их реализации требуют чрезмерных усилий со стороны администраторов".

Двунаправленное тиражирование

В системах компании IBM, например, данные направляются только в одну сторону. Обновления нельзя переслать обратно источнику.

Труднее всего, конечно, уловить тонкости. "Поторопившись установить Replication Server компании Sybase, мы потеряли массу времени, так как не слишком хорошо представляли, что же, собственно, он делает", - вспоминает Смит.

Только спустя четыре года успешного применения Sybase для различных приложений, Смит сочла, что она и ее сотрудники могли бы и пропустить недельный курс, предлагаемый пользователям Replication Server компании Sybase. Однако другим она так поступать не советует: "Важно не то, что вас научат устанавливать систему, а то, что вы получите общее представление о ее работе и будете знать возможности ее применения".

Семь раз отмерь

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

"Если я собираюсь выполнить тиражирование в режиме транзакций, имея при этом возможность обновлять данные в любом месте, я должен помнить об этом при разработке приложения. Иначе работа приложения может оказаться несинхронизированной", - поясняет Бобби Камерон, аналитик компании Forrester Research.

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

Дело еще и в том, что приложения с возможностями тиражирования - это все-таки совершенно новая технология. Всего два года назад на рынке появился первый продукт этой серии, предложенный компанией Sybase. Oracle пробует силы в этой области только год, а корпорация Microsoft вышла на сцену этим летом.

Впрочем, это не значит, что производители баз данных смотрят на тиражирование с опаской. Microsoft работает над драйвером Open Database Connectivity (ODBC), который позволит проводить тиражирование между сервером SQL Server и другими совместимыми с ODBC базами данных. А Sybase недавно специально начала предоставлять новые консультационные услуги, чтобы дать покупателями возможность разрабатывать приложения, ориентированные на системы с тиражированием (за денежки, разумеется).

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

Это экономит средства, снижает время реакции, упрощает трафик в сети, как считает Джон Томпсон, директор информационного отдела компании London Life Insurance. Для этой компании система с тиражированием стала единственной возможностью действительно снизить цены и предоставлять информацию о состоянии рынка более 2800 сотрудникам. Данные здесь тиражируются в 150 филиалах и двух базах данных - DB2 объемом 60 Гбайт и IMS на мэйнфрейме IBM через шлюз Sybase - в штаб-квартире компании. Такой подход значительно облегчает доступ к данным локальных серверов для пользователей персональных компьютеров, работающих с Windows.

- Линда Радосевич

В двух словах

Два основных типа технологии тиражирования

Асинхронное тиражирование

Это, по мнению большинства, и есть "тиражирование" - периодическое отслеживание изменений и последующее распространение их по всем системам. Если какая-либо из систем недоступна, отслеживание и распространение продолжается до тех пор, пока доступ не будет открыт. Асинхронное тиражирование выполняется либо в том случае, когда некое событие базы данных активизирует внесение изменений от источника на удаленное рабочее место, либо когда от последнего исходит запрос на обновление центральной системы. Первый метод рассчитан на приложения, ориентированные на транзакции, когда необходимо как можно скорее перенести данные на удаленные рабочие места, второй - как нельзя лучше подходит для приложений поддержки систем принятия решений.

Синхронное тиражирование

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

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


База данных от Database Inc. поддерживает новые возможности тиражирования

Производитель объектно-ориентированных баз данных компания Objectivity выпустила переработанную версию своего сервера баз данных, обладающего свойством тиражирования.

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

Версия 4.0 сервера баз данных позволит администраторам менять схему базы данных (определять структуру базы данных на локальных или удаленных системах) без закрытия базы.

Аналитики утверждают, что свойство тиражирование данных - самое значительное улучшение в версии 4.0.

Производители объектных баз данных давно участвуют в гонке по улучшению механизма тиражирования, но компания Objectivity всего лишь вторая, заявившая о своей технологии тиражирования после компании Versant Object Technology. Ожидается, что другие компании, включая лидера в этом сегменте рынка, компанию Object Design, объявят о поддержке технологии тиражирования в этом году.

Аналитики по базам данных отмечают, что производители объектно-ориентированных баз данных очень стремятся освоить технологию тиражирования. "Тиражирование - необходимая технология, - говорит Джошуа Дул, консультант Stillpoint Consulting. - Тиражирование существенно в ряде приложений, в которых не допускается ни минуты простоя".

Некоторые аналитики утверждают, что производители объектно-ориентированных баз данных, поддерживающие технологию тиражирования, действительно достигли важного преимущества еще в одной ключевой области: в работе с приложениями, ориентированными на World Wide Web.

"Объекты хорошо подходят для языка моделирования и поддержки гипертекстовых структур и управления узлами Web, - говорит Дул. - В системах, основанных на работе с файлами, если уж установлен узел Web, нельзя ничего переместить, иначе нарушится связь. А в объектно-ориентированных базах данных вы устанавливаете внутренние связи, даже если вы переместите какой-нибудь объект".

Версия 4.0 СУБД Objectivity поступит в продажу этой весной и будет стоить цене 3000 долл.. Будут доступны версии для Unix, Windows NT, Macintosh, Windows 3.1 и Win95. Дополнение, обеспечивающее поддержку возможностей тиражирования, поступит в продажу одновременно с этим; его стоимость - от 750 долл..

- Майк Риккиути

Поделитесь материалом с коллегами и друзьями