СУБД ведущих производителей
Требования к корпоративным СУБД
DB2 Universal Database и Informix Dynamic Server (IBM)
Adaptive Server Enterprise и Adaptive Server IQ (Sybase)
Teradata Database V2R4.1 (Teradata)
Функционирование практически любого современного предприятия немыслимо без манипуляции данными, связанными с его производственной деятельностью. Нередко эффективность его деятельности и конкурентоспособность на рынке товаров или услуг непосредственно связаны с тем, актуальны ли эти данные и доступны ли они обращающимся к ним пользователям (причем нередко не только пользователям локальной сети, но и посетителям корпоративного Web-сервера и сотрудникам, обращающимся к ним с помощью мобильных устройств). С этой целью применяются различные архитектуры физического хранения данных, такие как Storage Area Network (SAN) или Network Attached storage (NAS), а также системы управления базами данных, предназначенные для логической организации данных и осуществления доступа к ним. Корпоративные данные большинства компаний сейчас хранятся в реляционных СУБД, о которых и пойдет речь в данной статье.
простейшем случае информационная система, использующая СУБД, состоит из двух основных компонентов: сервера баз данных, управляющего данными и выполняющего поступающие от клиентских приложений запросы, и самих клиентских приложений, обеспечивающих интерфейс пользователя и посылающих запросы к серверу. Именно сервер баз данных может манипулировать файлами, в которых хранятся данные, выполнять пользовательские запросы, поддерживать ссылочную целостность данных, обеспечивать доступ к ним, осуществлять резервное копирование данных и протоколировать операции, связанные с их изменением.
Требования к корпоративным СУБД
современным реляционным СУБД предъявляются следующие требования:
- • масштабируемость, то есть способность одновременно обслуживать большее количество пользовательских запросов с той же скоростью при пропорциональном этому количеству увеличении объема предоставляемых ресурсов (процессоров, оперативной памяти и т.д.);
- • доступность, то есть постоянная возможность получения ответа на запрос;
- • надежность, то есть минимальная вероятность сбоев, а также наличие средств восстановления данных после сбоев, резервирования и дублирования;
- • управляемость, то есть простота администрирования и конфигурирования, а нередко и наличие средств автоматического конфигурирования (обычно набор средств администрирования включает средства создания баз данных и их объектов, инструменты репликации данных между различными серверами, утилиты управления пользователями и группами, средства мониторинга событий, средства просмотра планов выполнения запросов, утилиты миграции из других СУБД);
- • наличие средств защиты данных от потери и несанкционированного доступа;
- • поддержка стандартных механизмов доступа к данным (сегодня это главным образом ODBC, JDBC, OLE DB, а в ближайшее время можно будет говорить и об ADO .NET).
Как правило, отсутствие какого-либо из этих признаков приводит к тому, что даже у неплохой по другим потребительским свойствам СУБД область применения оказывается весьма ограниченной. Так, СУБД с плохой масштабируемостью, успешно применявшаяся при небольшом обрабатываемом объеме данных, оказывается непригодной при его росте и нередко ее приходится заменять на другую; при этом неизбежны определенные затраты на переписывание серверного кода. Лишние затраты на администрирование обычно тоже никому не нужны. Плохие масштабируемость и доступность влекут за собой дополнительные затраты рабочего времени сотрудников, простои, а также потерю компанией клиентов, отчаявшихся дождаться нужных данных на корпоративном сайте и вынужденных обратиться на сайт конкурента.
Именно поэтому лидеры рынка корпоративных СУБД стремятся к производству продуктов, удовлетворяющих всем вышеуказанным требованиям. Кроме того, как правило, подобные продукты существуют для нескольких платформ, а нередко и в разных редакциях, предназначенных для решения разнообразных задач или обслуживания различного количества данных и пользователей. Из последних тенденций развития корпоративных СУБД следует отметить поддержку XML и Web-сервисов XML.
Говоря о различном назначении реляционных баз данных, в первую очередь отметим, что существует два их типа:
- • оперативные, или OLTP-базы данных (OLTP — On-Line Transaction Processing) — обычно в эти базы данных осуществляется интенсивный ввод данных, а вот число адресованных к ним запросов невелико;
- • хранилища данных, применяемые, как правило, в аналитических приложениях и системах поддержки принятия решений — к ним обычно адресуется большое число запросов, но ввод данных в них не столь интенсивен.
Отметим, что многие современные СУБД с успехом поддерживают создание баз данных обоих типов — все определяется тем, как будет спроектирована структура данных. Однако нередко для создания хранилищ данных применяются специальные СУБД, способ хранения данных в которых особым образом оптимизирован для ускорения выполнения запросов. И, как правило, создание OLAP-хранилищ, основанных на нереляционных многомерных базах данных, требует наличия отдельных серверных продуктов.
СУБД ведущих производителей
огласно данным ряда аналитических отчетов, лидерами рынка СУБД, предназначенных для OLTP-систем, на данный момент являются компании IBM, Oracle, Microsoft и Sybase, а на рынке СУБД, предназначенных для создания хранилищ данных, — IBM, Oracle, Microsoft, Sybase и Teradata (см., например, Data Warehouse DBMS Magic Quadrant Update — Gartner’s Strategic Data Management Research Note M-16-3173, 29 April 2002). Ниже мы кратко рассмотрим особенности продуктов этих компаний.
DB2 Universal Database и Informix Dynamic Server (IBM)
Семейство серверных СУБД фирмы IBM, известное под названием DB2 Universal Database (DB2 UDB), впервые появилось в 1996 году и предназначалось для платформ UNIX, OS/2 и Microsoft Windows NT. Последняя версия этого продукта, DB2 UDB 7.2, функционирует под управлением операционных систем AS/400AIX, S/390, Windows NT/2000, Windows 95/98, OS/2, AIX, HP-UX, SCO UnixWare, Linux, NUMA-Q и Sun Solaris.
Из механизмов доступа к данным DB2 UDB поддерживает ODBC, JDBC и ADO/OLE DB, а для пользователей Microsoft Visual Studio доступны включаемые в среду дополнительные модули, такие как Stored Procedure Builder. Windows-версии DB2 Universal Database 7.2 позволяют также создавать хранимые процедуры на языке Visual Basic. Cредства разработки Borland поддерживают доступ к DB2 не только с помощью ADO/OLE DB и ODBC, но и посредством собственных универсальных механизмов доступа к данным — Borland Database Engine и dbExpress.
DB2 Universal Database поддерживает создание хранилищ данных и, помимо средств переноса данных в хранилище, содержит в составе клиентской части Data Warehouse Center, позволяющий управлять всеми процессами, связанными с созданием и поддержкой хранилищ данных, включая создание схемы хранилища, определение источников исходных данных для него, создание расписаний обновления данных в хранилище, проверку и исправление некорректных данных. Для поддержки OLAP-хранилищ в состав сервера DB2 Universal Database входит OLAP Starter Kit, основанный на OLAP-сервере Hyperion Essbase.
DB2 UDB 7.2 поддерживает хранение и поиск XML-документов по их элементам и атрибутам. С помощью протокола SOAP можно обращаться к Web-сервисам, предоставляющим доступ к хранимым процедурам и данным DB2 Universal Database (сами Web-сервисы могут управляться сервером приложений IBM WebSphere).
К другим важнейшим техническим характеристикам DB2 Universal Database следует отнести поддержку реляционных и комплексных данных с помощью объектных расширений, возможность работы на мультипроцессорных платформах, поддержку кластеров, 64-разрядную архитектуру памяти, распараллеливание запросов, наличие средств для гетерогенного администрирования и обработки данных, поддержку выполнения распределенных транзакций.
Ведущим продуктом фирмы Informix до приобретения ее компанией IBM являлся Informix Dynamic Server (IDS), поддерживающий платформы UNIX и Microsoft Windows NT и обеспечивающий эффективную работу как на одно-, так и на многопроцессорных системах, а также в кластерах. Этот продукт обладает мощными средствами параллельной обработки данных. В числе основных характеристик Informix Dynamic Server следует отметить следующие: использование для управления дисковым пространством как средств операционной системы; так и собственных функций, позволяющих обойти ограничения операционной системы, управление разделением памяти; динамическое управление потоками; поддержку фрагментации таблиц и индексов на нескольких дисках; распараллеливание запросов; зеркалирование данных. IDS поддерживает двухфазное завершение транзакций, а также гетерогенные транзакции (в этом случае в транзакциях может принимать участие и не-Informix сервер). Особо следует отметить поддержку этим сервером временных рядов, что делает его незаменимым в биржевых системах, а также в приложениях для брокеров и трейдеров.
Расширения функциональности сервера реализуются на базе DataBlade — коллекций объектов баз данных и подпрограмм на языке С, подключаемых к базе данных и выпускаемых как производителем СУБД, так и рядом независимых производителей.
Из механизмов доступа к данным IDS поддерживает ODBC, JDBC и ADO/OLE DB. Cредства разработки Borland поддерживают доступ к IDS с помощью механизмов Borland Database Engine и dbExpress. В ближайшее время ожидается появление поддержки Microsoft .NET.
После приобретения корпорацией IBM части бизнеса компании Informix, связанного с созданием систем управления базами данных, была выпущена версия 9.30 этого продукта, а в период до 2006 года ожидается выпуск еще нескольких версий. Тем не менее при создании новых проектов IBM настоятельно рекомендует ориентироваться на применение DB2.
Для создания хранилищ данных существовал другой продукт Informix — Red Brick Warehouse. В IBM планируют дальнейшее развитие Red Brick, а некоторые используемые в нем технологии будут применены в последующих версиях DB2.
Oracle9i (Oracle)
Oracle, первая версия которой появилась в 1979 году, была первой коммерческой реляционной СУБД, поддерживающей ставший ныне индустриальным стандартом язык SQL. Ранние версии этой СУБД создавались для мэйнфреймов, однако в 1985 году появились версии Oracle, предназначенные для использования в архитектуре «клиент-сервер».
Отметим, что Oracle была первой компанией, создавшей СУБД, использовавшую предоставляемые некоторыми серверными платформами средства параллельных вычислений, — Oracle Parallel Server (до ее появления параллельные вычисления использовались только для решения научных задач).
На сегодняшний день последней версией Oracle является версия Oracle9i. СУБД Oracle9i, предназначенная для применения на недавно сложившемся рынке Интернет-приложений, отвечает самым строгим требованиям к качеству обслуживания, обладает возможностями кластеризации (для этого предназначен модуль Oracle Real Application Clusters), мощными и экономичными средствами безопасности. Встроенные в Oracle9i средства управления позволяют контролировать все жизненно важные компоненты продукта и организовать непрерывный доступ к данным, практически исключая запланированные и аварийные задержки.
СУБД Oracle9i основана на архитектуре с единым ядром. Она обладает средствами параллельной обработки запросов, поддержкой кластеров, встроенными средствами OLAP, интерактивными функциями персонификации, средствами быстрого извлечения, преобразования и загрузки данных, службами порталов, средствами бизнес-анализа, распространения отчетов и анализа действий пользователей, инструментами анализа производительности СУБД, средствами поддержки XML.
Из механизмов доступа к данным Oracle9i поддерживает ODBC, JDBC и ADO/OLE DB. Из средств разработки Borland можно осуществлять доступ к Oracle9i с помощью механизма dbExpress. Клиентская часть Oracle содержит также набор COM-объектов для доступа к данным (Oracle Objects for OLE). Отметим, что и многие другие компании производят ODBC-драйверы и OLE DB-провайдеры для доступа к Oracle (в частности, Microsoft).
Помимо этого Oracle поставляет на рынок собственный набор средств разработки Oracle9i Developer Suite для быстрого создания Интернет-приложений, настраиваемых Web-порталов, а также Web-сервисов.
Из готовых информационных систем на базе Oracle следует особо отметить несколько крупных систем управления предприятием, в частности SAP/R3. На Западе также нередко используются готовые решения от самой Oracle Corporation, объединенные под общим названием Oracle Applications, такие как Oracle Financials, Oracle Human Resources, Oracle Market Management, Oracle Project Systems и др., — собственно, продажа и поддержка именно этих приложений и составляют основную часть бизнеса компании.
SQL Server 2000 (Microsoft)
Корпорация Microsoft до 1987 года не имела никакого отношения к производству корпоративных СУБД. Первая версия Microsoft SQL Server — совместный продукт компаний Microsoft и Sybase, выпущенный в 1988 году, — была разработана для платформы OS/2. Последующие версии этого сервера баз данных предназначались для платформы Windows NT и со временем были тесно интегрированы с этой операционной системой. Для других платформ версии этого сервера не выпускались и не выпускаются. Поэтому популярность SQL Server определяется в первую очередь популярностью платформы, которую он поддерживает, в данный момент это Windows 2000, в ближайшем будущем — Windows .NET Server. Эта СУБД настолько связана с операционной системой, что ее надежность, масштабируемость и производительность определяются надежностью, масштабируемостью и производительностью самой платформы и положение SQL Server на рынке будет зависеть от выпуска новых версий Windows.
Последняя версия этой СУБД — Microsoft SQL Server 2000 — отличается повышенной масштабируемостью и производительностью. Она позволяет использовать на одном компьютере несколько одновременно работающих серверов, поддерживает создание кластеров, параллельные вычисления в многопроцессорных системах, распределенные запросы, создание индексов для представлений (Indexed Views), что в ряде случаев существенно повышает скорость выполнения запросов. Этот сервер поддерживает хранение и извлечение XML-данных, представление в виде XML результатов запросов, представление хранимых процедур в виде Web-сервисов (для реализации этой возможности существует свободно доступный продукт под названием XML for SQL Server, или SQLXML).
Средства администрирования Microsoft SQL Server 2000 считаются одними из самых простых и удобных. Помимо средств решения стандартных задач администрирования (создание баз данных и их объектов, манипуляция пользователями и группами, резервное копирование и восстановление, подключение к другим серверам, средства репликаций), они включают утилиты обмена данными с другими СУБД и хранилищами данных (Data Transformation Services). В состав этого продукта, начиная с версии 7.0, входит и OLAP-сервер (собственно, этот шаг Microsoft вынудил других производителей СУБД включать OLAP-средства, прежде поставлявшиеся отдельно и стоившие довольно дорого, в состав своих серверов баз данных).
Из механизмов доступа к данным этот продукт поддерживает ODBC, OLE DB/ADO, ADO .NET. Имеется также JDBC-драйвер производства самой компании Microsoft. Кроме того, для работы с этим сервером пользователи Borland Delphi 7 могут использовать механизм доступа к данным dbExpress. Средства разработки Microsoft при работе с Microsoft SQL Server обладают рядом дополнительных возможностей, таких как отладка серверного кода, интеграция средств администрирования в среду разработки и т.д.
Adaptive Server Enterprise и Adaptive Server IQ (Sybase)
Серверные продукты компании Sybase происходят от двух «предков». Первым из них является одна из ранних версий Microsoft SQL Server, созданная совместно Microsoft и Sybase. Начиная с 1994 года Microsoft и Sybase разрабатывают свои серверные продукты независимо друг от друга, и результатом деятельности компании Sybase в этом направлении является продукт Adaptive Server Enterprise (ASE), последняя версия которого, 12.5, существует для Windows NT/2000 и некоторых версий UNIX (включая Linux).
В настоящее время Adaptive Server Enterprise поддерживает упреждающее асинхронное чтение, что повышает скорость выполнения сложных запросов, создание кластеров, распределенную обработку запросов, в том числе к базам данных других производителей, расширенные хранимые процедуры, позволяющие осуществить легкий доступ к не-SQL-функциям (Java, 3GL-системы, функции операционной системы и т.д.), параллельную обработку запросов в многопроцессорных системах, параллельную работу утилит администрирования, динамическую конфигурацию сервера и резервное копирование данных с компрессией, поддержку XML-запросов.
Из универсальных механизмов доступа к данным ASE поддерживает ODBC, JDBC, OLE DB/ADO. Пользователи средств разработки Borland для работы с этим сервером могут также использовать механизм доступа к данным dbExpress. Отметим, что нередко вместе с ASE используются средства разработки и проектирования данных самой компании Sybase.
Для создания многомерных хранилищ данных у Sybase существует еще один серверный продукт — Adaptive Server IQ, позволяющий создавать хранилища на основе данных из СУБД не только производства Sybase, но и других производителей. Высокая скорость выполнения запросов в этом продукте обусловлена нестандартным способом хранения данных. Отметим также, что существует ряд продуктов под общим названием Sybase Industry Warehouse Studio, ориентированных на обслуживание конкретных предметных областей: торговли (Retail Warehouse Studio), здравоохранения (Healthcare Warehouse Studio), страхования (Life Insurance Warehouse Studio) и др.
Teradata Database V2R4.1 (Teradata)
В течение последних нескольких лет СУБД компании Teradata считаются лидирующими продуктами среди СУБД, предназначенных для создания хранилищ данных. Последняя версия этой СУБД, Teradata Database V2R4.1, доступна для Microsoft Windows 2000 Server, Windows 2000 Advanced Server, Windows .NET Server и ряда версий UNIX.
Отличием этой СУБД от других продуктов является специальный механизм параллельной обработки запросов, использующий разбиение задачи на ряд отдельных подзадач и их параллельное выполнение. При этом даже такие операции, как сортировка или группировка данных, также могут разделяться на несколько задач и выполняться параллельно — это достигается за счет специального способа хранения данных, при котором части базы данных также делятся между подзадачами. Сами подзадачи могут распределяться между имеющимися процессорами, которых может быть 1, 2 или больше. Благодаря механизму параллельного решения задач Teradata Database V2R4.1 отличается высокой масштабируемостью.
Для создания клиентских приложений, использующих Teradata Database, существуют ODBC-драйвер, документированный клиентский API, совместимый с IBM DB2 (это означает, что клиентские приложения, использующие DB2, могут выполняться и c Teradata), и ряд других интерфейсов. Средства администрирования этой СУБД включают средства резервного копирования и восстановления, просмотра и редактирования данных, мониторинга производительности и нагрузки, а также утилиту администрирования для управления всеми перечисленными задачами, доступную для Windows NT Workstation 4.0, Windows 2000 Professional, Windows 98.
В заключение отметим, что существующие на сегодняшний день возможности корпоративных СУБД ведущих производителей отражают современные тенденции развития информационных систем, такие как использование многопроцессорных систем и распределенной обработки данных, создание распределенных систем, применение средств быстрой разработки приложений, создание систем поддержки принятия решений с использованием аналитической обработки данных, а также все возрастающие требования к надежности и отказоустойчивости.
КомпьютерПресс 10'2002