Корпоративные СУБД — 2009

Наталия Елманова

Требования к современным СУБД

Производительность

Поддержка безопасности

Масштабируемость

Корректная обработка транзакций

Другие требования

Корпоративные СУБД ведущих производителей

Informix Dynamic Server

IBM DB2

Microsoft SQL Server

MySQL

Oracle Database 10g и 11g

PostgreSQL

Sybase Adaptive Server Enterprise

 

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

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

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

Требования к современным СУБД

Производительность

Задачи, стоящие перед современными компаниями, предъявляют к СУБД довольно высокие требования, немыслимые еще несколько лет назад. Одним из наиболее важных требований, с точки зрения пользователей и администраторов СУБД, является высокая производительность, то есть способность быстро обрабатывать запросы пользователей и выполнять транзакции. Немалую роль в этом вопросе играют средства оптимизации выполнения запросов и применения индексов, а также простота их использования. Одни СУБД содержат в своем составе соответствующие инструменты, другие СУБД — встроенные алгоритмы, применяемые автоматически.

Поддержка безопасности

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

По данным ряда аналитических отчетов, наиболее высоко ценятся средства поддержки безопасности СУБД Oracle, DB2 и PostgreSQL.

Масштабируемость

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

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

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

Корректная обработка транзакций

Еще одним важным требованием является корректная обработка транзакций — групп последовательных операций, представляющих собой логические единицы работы с данными. Правила корректной обработки транзакций впервые были описаны автором реляционной модели данных Эдгаром Коддом в виде аббревиатуры ACID (Atomicity, Consistency, Isolation, Durability).

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

Свойство Consistency (непротиворечивость) означает, что завершенная транзакция оставляет данные в непротиворечивом состоянии.

Свойство Isolation (изоляция) означает, что во время выполнения транзакции другие процессы не должны «видеть» данные в промежуточном состоянии. Например, если транзакция изменяет сразу несколько полей в базе данных, то другой запрос, произведенный во время выполнения транзакции, не должен вернуть одни из этих полей с новыми значениями, а другие — с исходными.

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

По данным ряда аналитических отчетов, разработчики и администраторы наиболее высоко оценивают средства корректной обработки транзакций СУБД компаний Oracle и IBM. Впрочем, Microsoft SQL Server с этой точки зрения также оценивается очень высоко.

Другие требования

Для разработки структур баз данных и проектирования запросов принято использовать специализированные инструменты — средства моделирования данных. Такие инструменты могут выпускаться как производителями СУБД, так и независимыми поставщиками. Поддержка СУБД производителями подобных инструментов, как и наличие их в ассортименте программного обеспечения производителя СУБД, считается важным требованием к современным системам управления базами данных. Например, наличие в огромном ассортименте компании Oracle таких продуктов, как средство моделирования Oracle Designer и содержащее инструменты моделирования бесплатное средство разработки JDeveloper, высоко ценится разработчиками решений на основе СУБД Oracle, равно как и наличие поддержки моделирования данных в Visio — разработчиками решений на основе Microsoft SQL Server.

Многие современные СУБД содержат средства администрирования в комплекте поставки. Помимо этого нередко доступны и средства администрирования СУБД независимых производителей, таких как Embarcadero и Quest Software. Чем более популярна СУБД и чем более гибкой является политика работы с партнерами ее производителя, тем, как правило, больше средств администрирования этой СУБД доступно на рынке. С этой точки зрения лидерами являются Oracle и Microsoft — данные компании поставляют неплохие средства администрирования вместе со своими СУБД, да и средств администрирования этих СУБД от независимых производителей на рынке более чем достаточно. Неплохо обстоят дела с инструментами и у MySQL и PostgreSQL — будучи СУБД с открытым кодом, они поддерживаются сообществами разработчиков, производящими инструменты администрирования.

Требование поддержки XML в последнее время стало важным для пользователей современных СУБД и разработчиков решений на их основе, поскольку XML является стандартом де-факто для генерации документов и обмена данными между самыми разнообразными приложениями. Способность читать и генерировать XML-документы сейчас доступна в большинстве современных СУБД.

Поддержка различных платформ важна для разработчиков приложений, работающих в разнородной среде, и наиболее существенна для крупных компаний, имеющих, как правило, весьма разнообразную ИТ-инфраструктуру. Большинство современных СУБД поддердживают несколько платформ. Исключением являются СУБД производства Microsoft — список поддерживаемых ими платформ включает только различные версии Windows.

Все современные реляционные СУБД поддерживают язык запросов SQL. Что касается других языков, то их для написания серверного кода можно использовать в СУБД производства компаний Microsoft, Oracle, а также в СУБД PostgreSQL.

Корпоративные СУБД ведущих производителей

Informix Dynamic Server

Первая версия реляционной СУБД Informix (INFORMation on unIX) была выпущена в 1981 году. Современные версии этой СУБД (нынешнее название которой — Informix Dynamic Server) характеризуются высокой скоростью обработки транзакций, большой надежностью и простотой администрирования.

Наиболее часто Informix Dynamic Server используется на крупных предприятиях, в основном в крупных сетях розничной торговли и в телекоммуникационных компаниях — на основе этой СУБД создано несколько очень популярных биллинговых систем.

Сейчас Informix Dynamic Server принадлежит IBM. Последняя версия этой СУБД обладает высокими производительностью, масштабируемостью, доступностью, развитыми средствами поддержки репликаций, а также поддержкой кластеров, баланса загрузки, средствами обработки конкурирующих транзакций, средствами контроля доступа к данным на основе меток безопасности (вплоть до значений отдельных ячеек), средствами поддержки XML и создания SOA-решений.  Сервер баз данных поставляется вместе с инструментом IBM Data Studio, включающим средства создания форм Informix 4GL, средства поддержки Blade-серверов, объектно-ориентированные средства создания клиентских приложений.

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

IBM DB2

Первая версия DB2 была создана компанией IBM в 1983 году для мэйнфреймов MVS и стала первой СУБД, поддерживающей язык SQL, который был разработан автором реляционной модели данных Э.Ф. Коддом.

Современная версия DB2 является объектно-реляционной СУБД и поддерживает операционные системы Linux, UNIX и Windows на различных аппаратных платформах, а также разные операционные системы IBM. Она поддерживает средства сжатия данных, предсказания возможных проблем и поддержки XML.

Несмотря на то что и Informix Dynamic Server и DB2 предназначены для крупных предприятий и принадлежат одной и той же компании IBM, они отлично сосуществуют за счет того, что созданы для решения разных задач. Если Informix Dynamic Server предназначен в первую очередь для создания решений, требующих высокопроизводительной обработки транзакций, то основные задачи, которые решаются с помощью DB2, — это создание и эксплуатация хранилищ данных и обработка сложных запросов.

Средства обеспечения безопасности DB2 высоко оцениваются ее пользователями наряду с производительностью и масштабируемостью.

Microsoft SQL Server

СУБД Microsoft SQL Server была создана в результате совместного проекта компаний Microsoft и Sybase в 1990 году. Через несколько лет эти компании на основе совместно созданного кода начали разрабатывать собственные СУБД, и версия 7.0 этого продукта была создана уже без участия Sybase. Версии этой СУБД существуют только для операционных систем производства Microsoft.

Основными особенностями последних версий SQL Server являются средства OLAP и аналитической обработки данных, средства хранения геопространственных данных, а также удобные в применении средства администрирования, организации репликаций и поддержки кластеров.

Основные потребители Microsoft SQL Server — это средние и крупные предприятия, хотя редакции этой СУБД для небольших компаний также успешно используются.

MySQL

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

MySQL используется в большом количестве интернет-решений, в качестве встроенной СУБД, в приложениях для телекомуникационных компаний, а также в некоторых других бизнес-приложениях.

Особенностями этой СУБД являются надежность, высокая производительность и простота применения. Ее архитектура позволяет отказаться от функций, не требующихся для решения конкретной задачи, и тем самым повысить производительность приложения — статистика опросов показывает, что 80% пользователей этой СУБД применяют только 30% ее возможностей.

Сейчас СУБД MySQL принадлежит компании Sun Microsystems, которая предоставляет для нее дополнительные услуги, позволяющие использовать эту СУБД на серверах производства Sun и совместно с программными решениями Sun.

Oracle Database 10g и 11g

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

Последние версии этой СУБД отличаются высокой надежностью, доступностью, безопасностью и производительностью, удобными средствами администрирования. Эта СУБД в первую очередь предназначена для крупных предприятий, а также для компаний, для которых критичны обработка транзакций и построение хранилищ данных, в том числе для предприятий среднего и малого бизнеса. Отметим также активную поддержку компанией Oracle разработчиков, использующих технологии .NET и Java, а также наличие инструмента Application Express для создания веб-приложений на основе СУБД Oracle.

PostgreSQL

СУБД PostgreSQL, как и СУБД компании Oracle, можно отнести к ветеранам — первые версии продукта, ставшего впоследствии тем, что ныне известно как PostgreSQL, появились еще в 80-х годах. С 1996 года PostgreSQL является СУБД с открытым кодом.

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

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

Среди СУБД с открытым кодом PostgreSQL является наиболее масштабируемой (она поддерживает до 32 процессоров, тогда как масштабируемость MySQL ограничивается 12). На данный момент в планах дальнейшего развития этой СУБД — повышение производительности, усовершенствование средств поддержки кластеров и восстановление после сбоев.

Sybase Adaptive Server Enterprise

СУБД компании Sybase первоначально была результатом совместного проекта компаний Microsoft и Sybase, начатого в 80-х годах. В последующем эти компании начали отдельные проекты по дальнейшему развитию этого совместного продукта, а в середине 90-х годов Sybase SQL Server был переименован в Adaptive Server Enterprise.

Особенностями Adaptive Server Enterprise являются надежность, оптимальная стоимость и высокая производительность. В последние годы особое внимание при развитии этого продукта уделялось средствам обеспечения безопасности и повышению производительности. Именно безопасность, производительность и масштабируемость наиболее высоко оцениваются сегодня пользователями и администраторами этой СУБД.

***

Итак, мы рассмотрели основные возможности наиболее популярных систем управления базами данных. О выходе их новых версий и особенностях последних вы сможете узнавать из наших новостных блоков, а наиболее интересные новшества в мире СУБД будут освещаться в отдельных публикациях.

 

В начало В начало

КомпьютерПресс 7'2009

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует