Смекни!
smekni.com

Создание клиентских частей SQL БД под ОС Windows'95 и WindowsNT (стр. 4 из 27)

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

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

Sybase OmniConnect осуществляет унифицированный доступ приложений к разнородным источникам данных. Специальные шлюзовые компоненты организуют работу в системе с любой промышленной СУБД, включая Oracle, Informix, Ingres, DB/2, RMS, ISAM. Приложения-клиенты при этом работают только с сервером OmniConnect на диалекте SQL фирмы Sybase (Transact-SQL), а необходимая трансляция языка SQL и преобразование типов данных автоматически осуществляется шлюзовыми модулями. Для работы с хранилищами данных на "больших" ЭВМ (mainframe) Sybase поставляет также продукцию фирмы Micro Decisionware (Sybase купила фирму MDI в начале 1994 года). MDI предоставляет шлюзы в DB/2, SQL/DS, SQL/400, в том числе через IBM DRDA-интерфейс.

OmniConnect хранит информацию о размещении таблиц на том или ином сервере БД. Централизованно хранятся и исполняются глобальные хранимые процедуры. Приложение-клиент может осуществлять транзакции, в которых участвуют таблицы из различных БД, а также выполнять процедуры, которые OmniConnect при работе с СУБД, отличными от Sybase, прозрачно преобразует к соответствующему диалекту SQL.

Sybase MPP - это расширение архитектуры Sybase SQL Server, разработанное и оптимизированное для массовой параллельной обработки. Он обладает открытой параллельной архитектурой, предназначенной для поддержки очень больших баз данных (VLDB). Sybase MPP использует стандартный SQL и открытые интерфейсы. С ним работают те же приложения, что и с SQL Server, без необходимости перепрограммирования.

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

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

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

Sybase IQ. В системах поддержки принятия решений используется два типа продуктов. Одни оптимизированы для предварительно известных запросов, а другие - для запросов "на лету" (т.е. заранее неизвестных). Sybase IQ не требует заранее определять "пути", то есть не требует использовать предварительные знания о структуре запросов.

С использованием побитовой схемой индексации Sybase IQ практически все данные в БД могут быть проиндексированы. Поэтому никакой запрос не приведет к просмотру записей таблиц.

Sybase IQ не требует изменений в приложениях - любая программа, работающая с SQL Server, будет работать с IQ. Собственно Sybase IQ не выполняет отдельных обновлений данных. Он в прозрачном для клиента режиме передает их для выполнения SQL Server. Sybase IQ очень эффективно выполняет пакетные дополнения к базе данных. В отличие от технологий, основанных на B-деревьях, при добавлении 10 миллионов строк в таблицу, где уже есть десятки миллионов строк, Sybase IQ просто построит дополнительные страницы индекса и не потребует перестраивать весь индекс целиком.

Sybase Backup Server - это специальный сервер для выгрузки и загрузки баз данных, не требующий остановки SQL Server и не снижающий его производительности.

Дамп базы данных и журнала производится без прекращения использования БД. Поэтому имеется возможность выполнять дамп часто, что повышает надежность системы. Backup Server выполняет весь необходимый ввод-вывод. Команды на дамп или загрузку выдаются непосредственно для SQL Server, который обращается к Backup Server.

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

Для анализа функционирования сервера Sybase предоставляет компоненту SQL Monitor, представляющую на любом компьютере-клиенте в графическом виде данные по загрузке сервера, вводу/выводу, интенсивности транзакций, использованию памяти сервером. SQL Monitor как клиент взаимодействует с SQL Monitor-сервером, выполняющемся на том же компьютере, что и SQL Server. SQL Monitor-сервер использует разделяемую память для доступа к информации о работе SQL Server, и поэтому не загружает SQL Server.

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

Программные интерфейсы ко всем службам, предоставляемым архитектурой Sybase, реализуются через API Open Client и Open Server. Программные интерфейсы Open Client/Server независимы от платформы. Среди поддерживаемых платформ DOS, Windows, MVS/CICS, Macintosh, NetWare, Windows NT, OS/2, UNIX (все главные варианты), VMS и OpenVMS.

При разработке приложений-клиентов на языке 3-го поколения используются библиотеки с Си-интерфейсом: DB-Library, CT-Library или ODBC (только под Windows). При разработке приложений серверного типа используется библиотека Open Server. Этот набор блоков для построения сервера может использоваться, например, для доступа к нестандартному оборудованию или построения шлюзов.

ODBC API представляет собой набор вызовов функций. Доступ к базе данных в нем задается операторами SQL, которые передаются соответствующим функциям в виде строковых параметров. Спецификация ODBC, как и Embedded SQL, поддерживает курсоры. Имеется возможность вызывать хранимые процедуры. Из программы могут выдаваться любые операторы SQL, в том числе DDL-операторы. ODBC-драйверы для Sybase выпускают несколько фирм. Такой драйвер входит в состав Sybase Open Client.

Большинство приложений, связанных с обработкой данных в среде MS-Windows, поддерживают ODBC-интерфейс или DB-Library, и, соответственно, имеют доступ к СУБД Sybase. Среди таких приложений Microsoft Excel, Word, Access, Visual Basic.

Технология и библиотеки OpenServer, входящие в состав Sybase System 11, позволяют разрабатывать собственные приложения, использующие данные от технологического оборудования. Другое применение Open Server - разработка серверных компонент для математической или криптографической обработки данных. Обработчик Open Server может быть использован как приложением-клиентом, так и вызван из хранимой процедуры SQL Server.

SQL Anywhere 5.0 - составная часть Sybase System 11 (Sybase SQL Anywhere - это новое название для пятой версии Watcom SQL). С объединением компаний Sybase и Powersoft в феврале 1995 года фирма Watcom вошла в состав Sybase, Inc. SQL Anywhere работает на платформах Windows 3.x, Windows NT и Windows 95, OS/2, DOS, Novell NetWare и QNX. Среди поддерживаемых сетевых протоколов - TCP/IP, Named Pipes, IPX/SPX.

Приложения-клиенты могут разрабатываться с использованием ODBC, Embedded SQL и собственного интерфейса Watcom HLI. Имеется собственный DDE-сервер для интеграции, например, с Excel, Word или Visual Basic.

Включение SQL Anywhere в состав линии продуктов Sybase придало новые качества продукту: собственная репликация данных (SQL Remote); поддержка системы репликации (Sybase Replication Server); графический инструмент администрирования (SQL Central); поддержка (Transact-SQL); поддержка ODBC2.1; повышение производительности и мониторинг производительности; расширения языка Watcom SQL; универсальный серверный интерфейс SQL Anywhere Open Server.

База данных SQL Anywhere может участвовать в схеме репликации Sybase Replication Server. Для интеграции с 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 легко администрируется, пригоден для широкого использования в том числе и в случаях, когда базы данных не имеют прямого соединения друг с другом.

SQL Remote - это система репликации (тиражирования данных) между базами данных SQL Anywhere, основанная на передаче сообщений. Эта система администрируется из единого центра и наиболее подходит для обмена данными с laptop-компьютерами и другими пользователями, связь с которыми есть от случая к случаю. Система SQL Remote может использовать для репликации средства электронной почты (MAPI, VIM, SMTP), файловый обмен и готовящийся к выходу механизм Sybase Messaging Services.

SQL Remote реплицирует данные между "консолидированной" БД и одной или несколькими "удаленными" БД. В качестве удаленных могут выступать как сетевые серверы SQL Anywhere, так и локальные однопользовательские БД. SQL Anywhere поддерживает иерархическую модель репликации.