Архитектура Sybase System

SQL Anywhere 5.0 - составная часть Sybase System 11 Sybase SQL Anywhere - это новое название для пятой версии Watcom SQL. Это название отражает как интеграцию продукта в архитектуру Sybase System 11 (рис.4), так и появление мощных средств обеспечения работы удаленных пользователей и обмена данными. С объединением компаний Sybase и Powersoft в феврале 1995 года фирма Watcom вошла в состав Sybase, Inc.Основной диалект SQL, поддерживаемый SQL Anywhere, называется Watcom SQL. Среди новых качеств продукта - совместимость с Transact-SQL (версия SQL в линии продуктов Sybase).Диалект Watcom SQL содержит все конструкции, характерные для "больших" СУБД (декларативная ссылочная целостность, процедуры, триггеры) и соответствует стандарту ANSI SQL92. Сервер ведет журнал транзакций. Имеется одинаковый по функциональности сетевой сервер и "локальный" вариант, который может запускаться на одном компьютере с приложением- клиентом. Для приложения все равно, обращается ли оно к локальному или сетевому варианту.SQL Anywhere работает на платформах Windows 3.x, Windows NT и Windows 95 (32-разрядный), OS/2, DOS, Novell NetWare и QNX. В каждой из этих сред SQL Anywhere максимально интегрирован. Среди поддерживаемых сетевых протоколов - TCP/IP, Named Pipes, IPX/SPX.Приложения-клиенты могут разрабатываться с использованием ODBC, Embedded SQL и собственного интерфейса Watcom HLI (рис.11). Имеется собственный DDE-сервер для интеграции, например, с Excel, Word или Visual Basic. SQL Anywhere имеет продуманную языковую поддержку. При создании каждой базы данных указывается, в частности, порядок сортировки символов. Эта информация используется при выполнении сортировки ORDER BY, сравнения символов без учета регистра, использовании символов для написания идентификаторов объектов базы данных, обработке фразы LIKE и различных строковых функций.Кроме встроенных языков и кодовых страниц (включая русский), SQL Anywhere позволяет создавать определенные пользователем новые конфигурации. Для этого описание вводится в текстовом виде и затем преобразуется специальной утилитой.Очень важны весьма невысокие требования продукта к ресурсам. Он может запускаться при 1Мб свободной оперативной памяти и работать в минимальной по памяти конфигурации Windows.С другой стороны, с выходом SQL Anywhere группы разработчиков могут использовать этот продукт с уверенностью в том, что при необходимости возможен переход на более мощные аппаратные и программные платформы (RISC-станции и Sybase SQL Server).Действительно, включение SQL Anywhere в состав линии продуктов Sybase придало новые качества продукту и сделало его выбор для рабочих групп еще более привлекательным не только по цене, но и по наиболее важным характеристикам:·собственная репликация данных - SQL Remote; ·поддержка системы репликации Sybase Replication Server; ·графический инструмент администрирования SQL Central; ·поддержка Transact-SQL; ·поддержка ODBC 2.1; ·повышение производительности и мониторинг производительности; ·расширения языка Watcom SQL; ·универсальный серверный интерфейс SQL Anywhere Open Server. SQL Anywhere поддерживает два различных механизма репликации.База данных SQL Anywhere может участвовать в схеме репликации Sybase Replication Server. Это мощная, сложная и высокопроизводительная компонента, тиражирующая данные между разнородными СУБД, описана выше (рис.8). Для интеграции с Replication Server используется специальный шлюзовой компонент - Open Server Gateway для SQL Anywhere, который "транслирует" стандартный для продуктов Sybase интерфейс Open Client/Server в интерфейс SQL Anywhere.Для отслеживания изменений в базе данных SQL Anywhere предусмотрена компонента Replication Agent.Другой механизм репликации (SQL Remote) - это система репликации только между базами данных SQL Anywhere. Это менее гибкая система, чем Replication Server; например, в ней жестко требуется, чтобы имена объектов тиражирования были одинаковыми во всех базах данных. Зато SQL Remote легко администрируется, пригоден для широкого использования в том числе и в случаях, когда базы данных не имеют прямого соединения друг с другом. Cобственная репликация данных SQL Remote SQL Remote - это система репликации (тиражирования данных) между базами данных SQL Anywhere, основанная на передаче сообщений. Эта система администрируется из единого центра и наиболее подходит для обмена данными с laptop-компьютерами и другими пользователями, связь с которыми есть от случая к случаю. Система SQL Remote может использовать для репликации средства электронной почты (MAPI, VIM, SMTP), файловый обмен и готовящийся к выходу механизм Sybase Messaging Services.SQL Remote реплицирует данные между "консолидированной" БД и одной или несколькими "удаленными" БД. В качестве удаленных могут выступать как сетевые серверы SQL Anywhere, так и локальные однопользовательские БД. SQL Anywhere поддерживает иерархическую модель репликации (рис.12).Консолидированная БД содержит все данные. Удаленные БД могут содержать часть данных или все данные (удаленные БД, разумеется, могут содержать любые другие таблицы, не участвующие в репликации).Изменения, проведенные в консолидированной БД, тиражируются в удаленные БД. Изменения, проведенные в одной из удаленных БД, попадают в консолидированную БД и затем в другие удаленные БД.Для обмена данными SQL Remote использует сообщения. Поэтому необязательно иметь прямое сетевое соединение с удаленными БД. Достаточно организовать обмен сообщениями, например, по электронной почте.Приложения в архитектуре клиент-сервер, работающие в режиме сессии, используют тот или иной сетевой транспорт (TCP/IP, IPX/SPX и др.) Точно так же приложения, работающие с сообщениями, используют службы сообщений, такие как Microsoft Messaging API (MAPI), Lotus Vendor Independent Messaging (VIM), Internet Simple Mail Transfer Protocol (SMTP) или даже простой обмен файлами. Службы сообщений используют адрес получателя для сохранения и передачи сообщений к пункту назначения. Например, система электронной почты может сохранять сообщение на сервере до тех пор, пока соответствующий пользователь не подключится к системе.В отличие от режима сессии, многие системы, основанные на сообщениях, не гарантируют ни обязательной доставки сообщения, ни определенного порядка прихода нескольких сообщений. Поэтому SQL Remote реализует специальный протокол, который гарантирует проведение обновлений в правильном порядке.Публикация - это объект, описывающий тиражируемые данные. Удаленные пользователи оформляют подписки на публикации для получения этих данных.Публикация может включать данные из нескольких таблиц. Каждая таблица может быть представлена либо целиком, либо подмножеством столбцов, либо даже подмножеством строк по условию выборки.Система репликации администрируется централизованно в консолидированной БД средствами графического инструмента SQL Central.Публикация может быть использована несколькими подписчиками.В SQL Remote реализована поддержка систем передачи сообщений MAPI, VIM, SMTP и файлового обмена.При проектировании любой схемы репликации, где происходит обновление в нескольких БД, следует учитывать возможность возникновения и разрешения конфликтов. Рассмотрим очень кратко, как эта проблема решается в SQL Remote.·Два пользователя добавляют в таблицу строку с одинаковым первичным ключом (ПК). В этом случае второй INSERT закончится неудачно. Этой ситуации можно избежать при правильном проектировании БД. Например, включить колонку - идентификатор БД, где происходит обновление, в первичный ключ такой таблицы. ·Два пользователя обновляют одну и ту же колонку в таблице (не ПК). Если в системе требуется обеспечить пользователям такую потенциально опасную возможность, то SQL Anywhere предоставляет средство обнаружить и разрешить конфликт с помощью специального типа триггера (RESOLVE UPDATE). Инструмент администрирования SQL Central SQL Central - графическое средство администрирования БД, работающее под Windows 95 и Windows NT 3.51. SQL Central соответствует интерфейсу Windows 95, поэтому его легко освоить и использовать.Главное окно SQL Central похоже по дизайну на Windows 95 Explorer. Оно разделено на две панели. В левой панели в виде дерева представлены серверы, базы данных и схемы баз данных с глубиной, доходящей до каждого "контейнера" - объекта базы данных. В правой панели показано содержимое выбранного контейнера.Из SQL Central осуществляются все административные действия от создания баз данных, загрузки/выгрузки до создания таблиц, процедур и назначения полномочий. SQL Central также управляет системой репликации SQL Remote, описанной выше.Для удобства предусмотрен drag-and-drop интерфейс, контекстная подсказка и контекстное меню по правой кнопке мыши. Поддержка Transact-SQL SQL Anywhere 5.0 включает набор расширений языка Watcom SQL в сторону диалекта Transact- SQL Sybase, используемого в Sybase SQL Server на различных платформах.Диалект Transact-SQL сам по себе не является лучше или хуже диалекта Watcom SQL. Достигнутая совместимость означает, что на нижних уровнях распределенной информационной системы можно использовать "легкую" по ресурсам, мощную по функциональности и дешевую СУБД SQL Anywhere, а на уровне выше - промышленную высокопроизводительную СУБД Sybase. При этом приложения, работающие с этими СУБД, окажутся инвариантны к тому, с какой СУБД они работают. Поддержка ODBC 2.1 SQL Anywhere поддерживает ODBC API не только на платформах Windows и Windows NT, но и в DOS, OS/2 и QNX. SQL Anywhere 5.0 поддерживает спецификацию ODBC 2.1 уровня 2. Повышение производительности и мониторинг производительности Использование журнала транзакций в SQL Anywhere уменьшает время фиксации каждой транзакции. Сервер SQL Anywhere является 32-разрядным (кроме платформы Windows 3.X).СУБД использует оптимизатор, который выбирает лучшую стратегию для выполнения каждого запроса. Для этого оптимизатор определяет стоимость каждой стратегии, оценивая требуемое количество считываний и записей на диск. Выбранная стратегия задает, в каком порядке происходит доступ к таблицам в запросе и следует ли использовать индекс для каждой таблицы.Окно статистики в интерактивном средстве для формирования запросов (ISQL) позволяет просмотреть выбранный план выполнения любого оператора SQL.В SQL Anywhere предусмотрен набор статистической информации, предназначенной для оценки производительности. Эта информация доступна из инструмента администратора SQL Central и приложений-клиентов. В дополнение, подобная информация предоставляется из SQL Anywhere в монитор производительности Windows NT. WSQL DDE-сервер Dynamic Data Exchange (DDE) - это метод взаимодействия приложений. DDE использует архитектуру клиент-сервер. Так, приложение-клиент (например, Excel или Word) может запрашивать данные у приложения-сервера.WSQL DDE-сервер - это Windows-приложение, которое позволяет выбирать и изменять данные в БД SQL Anywhere. Получаемые данные могут передаваться приложению-клиенту через буфер в памяти или через системный буфер (Clipboard).

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...