Профессиональные СУБД: какие они? ПродолжениеСергей Кривошеев За что мы ценим СУБД?Итак, по каким признакам можно судить о преимуществах или недостатках той или иной СУБД? Среди основных можно выделить такие, как производительность, масштабируемость, доступность данных, функциональные возможности сервера, открытость СУБД и наличие средств разработки и администрирования. ПроизводительностьЛюбая фирма-разработчик ПО скажет вам, что производительность у ее продукции высокая. Однако в каждом конкретном случае производительность является результатом действия некоторых оптимизирующих механизмов, индивидуальных для каждой СУБД. Рассмотрим, какие особенности архитектуры Informix DS влияют на производительность информационной системы. К ним относятся: К наиболее существенным параметрам DB2 Universal Database, влияющим на производительность СУБД, я отношу следующие: Композитное секционирование обеспечивает превосходную управляемость и высокий коэффициент готовности, присущие ранговому секционированию, совместно с преимуществами распределения данных, характерными для хэш-секционирования. Все методики секционирования являются прозрачными для приложений, а стандарт-ные операторы DML (Data Manipulation Language) выполняются для секционированных таблиц. Оптимизатор подготовлен к работе с секционированными таблицами, и разделы, которые не содержат никаких относящихся к запросу данных, устраняются из области поиска, что зачастую приводит к существенному увеличению производительности. Oracle 9i обеспечивает API механизма прямой загрузки. Это обеспечивает путь для ISV и партнеров по разработке средств управления системой для создания простых в использовании и быстродействующих инструментальных средств загрузки данных. Доступ ко всем функциональным возможностям загрузки возможен через API. В Oracle 9i включено множество новых функций. Упомяну лишь некоторые из них. Cache Fusion - это технология управления параллельным кэшем, который координирует ресурсы базы данных в случае одновременного доступа пользователей с разных узлов кластера к одним и тем же данным. На основе технологии Cache Fusion реализована опция корпоративной редакции сервера - Real Application Clusters. При использовании технологии Cache Fusion блоки данных пересылаются между буферами баз данных на разных узлах кластера при обращении к ним пользователей. Передача данных осуществляется по высокоскоростной внутренней шине, которая соединяет узлы кластера. Преимущества Cache Fusion состоят в том, что нет необходимости использовать жесткий диск для передачи страниц данных, оптимизируется нагрузка на процессор за счет сведения к минимуму операции переключения контекста операционной системы, полностью используются возможности современных высокоскоростных межузловых шин кластера. Для создания резервных центров Oracle 9i включает специальное решение - Oracle 9i DataGuard. Предположим, что в организации имеются основной компьютер или кластерный комплекс в одном здании еще один компьютер, возможно, менее мощный, в другом здании (даже на значительном расстоянии). На нем установлена копия основной базы данных, он занят только тем, что постоянно синхронизирует свою копию БД с основной. Как только основной комплекс выходит из строя, запасной сервер переходит в рабочий режим, его база данных становится доступна для работы пользователям, которые автоматически переключаются на нее, при этом копия БД полностью идентична основной БД. Если с основным компьютером произошел сбой, то через какое-то время можно произвести обратное переключение и снова вернуться к работе на основном компьютере. Все операции по настройке управления такой системой с резервированием полностью автоматизированы. Системный администратор просто должен отдать команду на переключение, а в случае сбоя это произойдет автоматически. Что касается производительности СУБД Microsoft SQL Server, то, кроме возможностей индексации, параллельного и распределенного выполнения запросов, в ней реализованы такие механизмы, как процессор запросов и производительный/интеллектуальный ввод/вывод (Big/Smart I/O). Рассмотрим их более подробно. Процессор запросов обеспечивает обработку команд на языке Transact-SQL - диалекта стандартного языка SQL применительно к SQL Server. Перечислим наиболее важные возможности этого механизма. В SQL Server также улучшено управление кешированием, что повышает производительность при чтении большого количества данных. МасштабируемостьТермин "масштабируемость" означает возможность работы на самом широком спектре аппаратного обеспечения - от портативных компьютеров до серверов с массовым параллелизмом (MPP). Чем лучше масштабируемость, тем шире возможности по наращиванию системы по мере роста потребностей. К улучшениям системных характеристик путем увеличения доступных вычислительных ресурсов (количества или быстродействия процессоров, числа дисков) можно отнести, например: Масштабируемость СУБД Informix обеспечивается за счет многопотоковой архитектуры с поддержкой многопроцессорной обработки (обслуживание клиентов равномерно распределяется между всеми имеющимися в наличии процессорами) и технологии PDQ (Parallel Data Query - параллельная обработка запросов). Обработка больших таблиц ускоряется пропорционально числу фрагментов, располагаемых на разных дисковых устройствах. Очень удобна возможность динамического изменения объема и конфигурации ресурсов, используемых сервером - числа виртуальных процессоров, дисковых пространств баз данных. В соответствии с наличием ресурсов и потребностями можно оперативно регулировать интенсивность параллельной обработки, изменять правила фрагментации таблиц. Производительность информационной системы может наращиваться путем распределения данных и их обработки между несколькими серверами, связанными сетью. DB2 Universal Database может работать как на портативном компьютере, поддерживая мобильного пользователя, так и на машине с массовым параллелизмом, поддерживающей несколько терабайт данных и тысячи пользователей; кроме того, база данных, естественно, способна поддерживать различные конфигурации симметричных мультипроцессорных систем (SMP) и кластеров SMP. Важно отметить, что масштабируемость означает сохранение как в старших, так и в младших версиях одних и тех же объектно-реляционных функций. Благодаря этому DB2 UDB идеально подходит для растущих малых и средних организаций; для крупных предприятий, которым необходимо развернуть двух- или трехуровневые приложения, охватывающие масштабы настольных систем, масштабы отделов и масштабы всего предприятия; а также для Internet-провайдеров и деловых партнеров, обслуживающих этих заказчиков. Как бы ни развивались приложения и масштабы деятельности вашей фирмы, вам вряд ли удастся "перерасти" DB2 UDB. Можно увеличивать количество данных, не жертвуя производительностью обработки запросов, или просто установить для ускорения обработки запросов дополнительные аппаратные средства. В состав DB2 UDB для обеспечения масштабируемости входят следующие средства: Одно из общепризнанных достоинств сервера Oracle - его высокая степень масштабируемости, как "горизонтальной", так и "вертикальной". Возможности работы сервера Oracle в распределенных системах я не предполагаю обсуждать в данной статье, а вот упомянуть об особенностях поддержки параллелизма в Oracle мне кажется полезным. Сервер Oracle в любой конфигурации поддерживает параллелизм при выполнении потока операций (он архитектурно спроектирован для этого), в SMP-архитектуре для параллельного выполнения отдельных запросов требуется установка Parallel Query Option. Для кластеров и MPP-систем Oracle предлагает архитектуру, позволяющую всем узлам этих систем параллельно осуществлять доступ к одной БД: чтобы добиться этого, достаточно установить Parallel Server Option. Microsoft SQL Server обеспечивает достаточно высокие уровни масштабируемости и доступности. Однако в данном случае здесь отсутствует масштабируемость сервера "в чистом виде", поскольку рост его производительности зависит не только от аппаратных средств, но и операционной среды, под управлением которой работает СУБД. Доступность данныхЕсли сервер остановлен для обслуживания или просто произошел сбой в работе системы, пользователи могут оказаться "отрезанными" от нужной им информации. Сервер Informix DS обладает рядом возможностей, которые позволяют повысить надежность ИС и практически отказаться от плановых простоев: Для обеспечения отказоустойчивости в DB2 Universal Database поддерживаются различные средства на уровне операционной системы, такие как HACMP для AIX, кластеры Sun Solaris и Wolfpack для NT/2000. Администраторы могут выполнять резервное копирование и восстановление на уровне отдельных табличных областей, а не на уровне всей базы данных. Если в табличной области содержится единственная таблица, то резервное копирование и восстановление этой области эквивалентно резервному ко-пированию и восстановлению на уровне таблицы. При резервном копировании табличные области могут находиться как в активном (он-лайн), так и в пассивном (отключенном) режиме. При восстановлении все табличные области, за исключением восстанавливаемой, остаются в режиме он-лайн. В случае ошибки ввода/вывода (отказа диска, например) отключенными оказываются только затронутые табличные области (те, что ожидали восстановления). Остальная база данных сохраняет работоспособность. В Microsoft SQL Server, к сожалению, некоторые операции администрирования рекомендуется выполнять в однопользовательском режиме. Следовательно, время от времени пользователи не будут иметь доступ к информации в базе данных. Правда, такие простои можно свести к минимуму, однако факт остается фактом. Функциональные возможности сервераВозможности СУБД Informix DS, помимо рассмотренных выше, включают следующие средства: хранимые процедуры, триггеры, курсоры, каскадные удаления данных, поддержку целостности, в том числе целостности по ссылкам, уровни изоляции чтения (грязное чтение, подтвержденное чтение, стабильное чтение, повторяемое чтение). Кроме "джентльменского" набора возможностей профессионального сервера баз данных, в DB2 Universal Database поддерживаются следующие ключевые объектно-реляционные функции (все они реализованы в соответствии со стандартами SQL3 и поэтому представляют собой открытый, а не внутрикорпоративный подход). Обзор всех функциональных возможностей СУБД Oracle вряд ли уместится в рамках одной статьи. К ним относятся и достаточно развитый язык программирования PL/SQL, и механизмы триггеров, хранимых процедур и функций и т.д. В состав Microsoft SQL Server входит достаточно мощный язык работы с данными Transact-SQL, который является расширением стандартного SQL. Однако совместимость со стандартом ANSI/ISO SQL-92 не является полной, хотя он и рассматривается как предпочтительный диалект SQL. Transact-SQL поддерживает такие объекты БД, как хранимые процедуры, триггеры, представления, поддержка целостности и т.д. К сожалению, отсутствуют механизмы каскадного удаления и обновления данных по внешним ключам. ОткрытостьЭто понятие включает оценки по многим направлениям. Степень открытости определяет степень интегрируемости СУБД и продуктов, созданных на ее основе, в разнообразных аппаратных, программных, административных, национальных и других средах, что чрезвычайно важно как для построения ИС в настоящем, так и для ее развития в будущем. Перечислим некоторые свойства, характеризующие открытость Informix: Доступ к базам данных DB2 Universal Database можно получить практически с любого клиента с помощью всех основных типов сетей. Кроме того, DB2 Universal Database поддерживает большинство отраслевых стандартов, что позволяет работать с системой, используя множество существующих инструментальных средств и приложений. Серверы DB2 Universal Database и шлюзы DB2 Connect могут работать на следующих платформах: AIX, Linux, HP-UX, OS/2, Solaris, Windows NT, Windows 2000. Открытость MS SQL Server, как и масштабируемость, весьма относительна. СУБД SQL Server "открыта" для других продуктов Microsoft: MS Office, MS Visual Studio, MS Internet Information Server и т.д. При этом, однако, их производитель не без оснований утверждает, что поскольку все эти программ-ные комплексы разработаны одной компанией, то взаимодействие между ними осуществляется эффективнее, чем с аналогичными продуктами других фирм. Средства разработкиСредства разработки и доступа для пользователя в Informix, в особенности объектно-ориентированный инструментарий групповой разработки прикладных систем с графическим интерфейсом Informix NewEra, оцениваются экспертами как высокоразвитые инструменты, отвечающие современным требованиям. Помимо этого Informix поддерживается многими инструментальными системами независимых производителей. В DB2 Personal Developer's Edition и DB2 Universal Developer's Edition программистам предоставляется среда разработки, позволяющая создавать для баз данных приложения, обращающиеся к данным и управляющие ими в реляционных СУБД IBM. В версию DB2 входят инструментальные средства для разработчиков, документация и примеры исходного кода приложений на платформах рабочих станций, поддерживаемых серверами DB2 Universal Database. DB2 Personal Developer's Edition включает в себя все необходимое для разработки приложений на платформах Linux, OS/2 и Windows, в том числе наборы инструментальных средств разработчика (Software Developer's Kit, SDK). DB2 Universal Developer's Edition включает в себя все необходимое для разработки приложений на всех платформах, а также поддержку сетевого взаимодействия, Net.Data, WebSphere, HTTP Server и дополнительные SDK для всех поддерживаемых платформ. DB2 Universal Database является одной из самых простых в использовании и управлении СУБД своего класса. Она включает в себя полный набор графических инструментальных средств, удовлетворяющих потребности администраторов баз данных и прикладных программистов. Кроме того, в нее входят инструментальные средства, помогающие настраивать клиентское ПО, выполнять разовые запросы и составлять отчеты для пользователей. Средства разработки Oracle представлены такими продуктами, как Developer, Designer, Developer Server, JDeveloper, WebDB, Oracle Reports. Рассмотрим вкратце каждый из этих продуктов. Designer. Это средство проектирования программных систем, реализующее технологии CASE и собственную методологию Oracle - Custom Development Method (CDM). Позволяет команде разработчиков полностью провести проект, от анализа бизнес-процессов и моделирования и до генерации кода и получения прототипа, а в дальнейшем и окончательного продукта. Oracle Reports. Это средство проектирования отчетов можно получить как в составе Oracle Developer, так и отдельно. Также в виде отдельного средства может использоваться редактор и отладчик хранимых процедур сервера Oracle, написанных на языке PL/SQL, - Oracle Procedure Builder. Oracle Developer Server. Это специализированный сервер приложений, оптимизированный для выполнения приложений, созданных на Oracle Developer в среде Internet. Oracle Developer Server позволяет работать с готовым программным обеспечением, без изменения кода, в трехуровневой архитектуре. При этом Developer Server обеспечивает высокую маcштабируемость прикладных систем. Затраты на администрирование систем существенно снижаются, так как исчезает необходимость настройки клиент-ских рабочих мест - для любого приложения достаточно обычного Internet-браузера. Oracle JDeveloper Suite. Полный набор средств для построения приложений на языке программирования Java. Возможности Java объединены в JDeveloper Suite с масштабируемостью и производительностью сервера Oracle - платформы для распределенных вычислений в масштабах предприятия, Network Computing Architecture (NCA). Oracle Jdeveloper. Визуальная среда разработки. Имея в своем составе встроенный редактор программных кодов, компилятор и отладчик, JDeveloper представляет собой самодостаточную среду для разработки и отладки приложений на языке Java. JDeveloper дает разработчикам возможность одновременной работы как с исходным кодом на Java, так и с визуальным представлением приложения. WebDB. Это средство обеспечивает наиболее быстрый и удобный доступ через Web к информации, хранящейся в базе данных Oracle. Все, что необходимо для создания и установки Web-приложений, организации, мониторинга и администрирования Web-сайта, тесно интегрированного с базой данных, - это стандартный Web-браузер. Oracle Developer. Высокопродуктивная среда разработки для построения клиент-серверных и Web-приложений. При использовании Oracle Developer Server приложение работает на сервере приложений и поэтому легко масштабируется, а администрировать один сервер приложений намного проще, чем множество клиентских компьютеров. При разработке приложений на Oracle Developer пользователь может: Для решения аналитических задач,связанных со сложными расчетами, прогнозированием, моделированием сценариев "что-если" и т.д., применяется особая технология многомерных баз данных. Она реализована в виде семейства OLAP-продуктов Oracle Express, которое включает сервер многомерных БД, специализированные средства разработки в среде клиент-сервер и Web, а также готовые аналитические приложения. Oracle Express Server - это система управления многомерными базами данных или сервер многомерных данных, обеспечивающий хранение больших объемов агрегированной информации, поддерживающий многомерную модель данных, которая наиболее эффективно отражает представления конечных пользователей о предметной области. В состав Oracle Express Server входит функционально полный язык программирования Express SPL с встроенными операторами манипулирования многомерными данными широким спектром математических, статистических функций, функций анализа временных рядов, финансовых и других функций, которые могут использоваться для быстрого построения новых расчетных показателей. Имеется более продвинутая аналитика - алгоритмы прогнозирования, элементы регрессионного частотного анализа, моделирование сценариев "что-если". Разработчики могут расширять стандартные возможности, создавая собственные хранимые процедуры функции на серверном процедурном языке. Этот же язык используется для программ загрузки данных из различных реляционных СУБД текстовых файлов. Для динамического доступа к реляционным базам данных используется модуль Express Relational Access Manager, который реализует произвольные схемы хранения данных - ROLAP (реляционный OLAP), MOLAP (многомерный OLAP) или HOLAP (гибридный OLAP). Express Server уже долгое время лидирует в тестах производительности OLAP-серверов (ABP-1), демонстрируя при этом высочайшую масштабируемость по объему данных количеству пользователей. Oracle Express Server легко интегрируется в общую архитектуру информационной сети организации, предоставляя удобные средства связи с существующими реляционными базами данных другими источниками через локальную или удаленную сеть. Oracle Express Server работает на всех популярных вычислительных платформах от персональных компьютеров до UNIX-серверов больших машин. Oracle Express Analyzer - средство конечного пользователя, предназначенное для самостоятельного построения отчетов, анализа многомерных данных Express, публикации результатов на Web. Пользователь с помощью простых манипуляций мышью создает динамические интерактивные отчеты в табличном и графическом видах, получает различные срезы многомерной информации, детализирует данные по любому иерархическому проводит динамическое агрегирование.В любой отчет встроен селектор - графический инструмент нерегламентированных запросов, таких как: "Продажи каких продуктов из 20 имеют наибольшую долю в общих продажах на 5 и более процентов ниже планируемых?". Все получаемые интерактивные таблицы, диаграммы графики размещаются на страницах, которые можно объединять в многостраничные книги - брифинги. Результаты анализа легко можно отправить по электронной почте или экспортировать на корпоративный Web-сайт. Таким образом, Express Analyzer сочетает простой удобный доступ к данным с возможностью обмена результатами анализа, повышая эффективность совместной работы пользователей. Oracle Express Objects - объектно-ориентированная среда быстрой разработки OLAP-приложений в среде клиент/сервер для многомерных баз данных Oracle Express. Она предназначена для профессиональных разработчиков, обеспечивает высокую гибкость, контролируемость, возможность повторного использования кода при создании рабочих мест для аналитиков, руководства. Express Objects позволяет создавать многомерные приложения любой степени сложности с использованием как стандартных визуальных элементов Windows, так специализированных интерфейсных объектов для доступа манипуляции многомерными данными Express (например, таблица, график или cелектор). Имеющийся набор можно расширять, подключив интерфейсные элементы третьих фирм, например, интерактивную карту или календарь. Это позволяет реализовать практически любой внешний вид приложения. MS SQL Server также предоставляет широкие возможности разработки баз данных. В состав этой СУБД входят следующие средства разработки: Следует отметить, что SQL Server уступает другим рассматриваемым СУБД по двум важным показателям: программируемость и средства разработки. При разработке клиентских приложений на Java, HTML-программных средств SQL Server часто оказывается недостаточно, и в этом смысле пользоваться этой СУБД сложнее, чем DB2, Informix или Oracle. Вместо эпилогаКакую СУБД предпочесть в том или ином случае - решать вам. Как вы сами понимаете, слишком большое количество факторов может повлиять на ваше решение. Со своей стороны я лишь постарался облегчить вам этот процесс. Надеюсь, приведенные в статье сравнительные описания СУБД и таблица, где вкратце сведены их достоинства и недостатки, помогут вам при выборе сервера баз данных для вашей информационной системы. P.S. В статье использовались материалы с сайтов: http:// www.oracle.ru Источник: "Компьютер Price", http://www.comprice.ru
| |
Copyright © "Internet Zone", http://www.izcity.com/, info@izcity.com |