Контакты

Выбор субд. Сравнение Oracle и MS SQL Server

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

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

· Структура данных

· Функциональные возможности

· Особенности разработки приложений

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

· Требования к рабочей среде

Рассмотрим каждую из этих групп в отдельности.

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

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

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

4. Производительность. Производительность системы является одним из самых важных показателей, который будет использоваться в статье в качестве основного критерия для выбора СУБД. Существует несколько факторов, которые можно отнести к производительности системы и которые могут учитываться для оценки производительности данной СУБД. Такими факторами являются следующие: рейтинг ТРС (Transactions per Cent), возможности параллельной архитектуры, возможности оптимизирования запросов.

5. Требования к рабочей среде. К данной группе требований можно отнести следующие: поддерживаемые аппаратные платформы, минимальные требования к оборудованию и операционной системе .


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

Матрица попарных сравнений строится следующим образом. Пусть заданы элементы А и В, если:

· АиВ одинаково важны, заносим 1;

· А незначительно важнее, чем 5, заносим 3;

· А значительно важнее 5, заносим 5;

· А явно важнее 5, заносим 7;

А по своей значительности абсолютно превосходит В, заносим 9 в позицию (А, В), где пересекаются строка А и столбец В .

При сравнении элемента с самим собой имеем равную значительность, так что на пересечении строки А со столбцом А заносим 1. Поэтому главная диагональ матрицы должна состоять из единиц. Значения 2, 4, 6, 8 - промежуточные.

Для каждой из полученных таблиц считаются следующие показатели:

1. Вектор приоритетов матрицы;

2. Главное собственное значение , соответствующее вектору приоритетов, Собственное значение используется для оценки согласованности;

3. Индекс согласованности (ИС), показывающий отклонение от согласованности, определяется по формуле:

4. Отношение согласованности (ОС), которое вычисляется делением ИС на случайный индекс СИ), где СИ - табличная величина для матрицы данного порядка. Значение ОС, меньшее или равное 0.10, будем считать приемлемым .

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

Векторы приоритетов, посчитанные для всех полученных таблиц, записываются в матрицу столбцами.

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

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

В качестве альтернатив рассмотрим следующие СУБД:

3) Microsoft SQL Server

Информация о рассматриваемых СУБД приведена в табл. 4.1.

Таблица 4.1 Информация о СУБД

SQL ядра СУБД Microsoft Access обычно соответствует КОДИРОВКе ANSI-89, совместимой с уровнем 1. Однако некоторые функции ANSI SQL не реализованы в Microsoft Access SQL. Кроме того, в Microsoft Access SQL есть зарезервированные слова и функции, не поддерживаемые в ANSI SQL.

Существенные различия

    Microsoft Access SQL и ANSI SQL обладают различными зарезервированными словами и типами данных. С помощью поставщика Microsoft OLE DB есть и другие зарезервированные слова.

    Различные правила применяются к элементу between... Конструкция and , которая имеет следующий синтаксис:

    Выражение1 ОТСУТСТВУЕТ Между значение1 и значение2

    В Microsoft Access SQL Значение1 может быть больше value2 ; в ANSI SQL значение value1 должно быть равно или меньше value2.

    Microsoft Access SQL поддерживает оба подстановочных символа ANSI SQL и подстановочные знаки, специфичных для Microsoft Access, для использования с оператором Like . Использование подстановочных знаков в СТАНДАРТе ANSI и Microsoft Access является взаимно исключающим. Вы должны использовать один набор или другой, и их невозможно смешать. Подстановочные знаки ANSI SQL доступны только при использовании ядра СУБД Microsoft Access и поставщика OLE DB для Microsoft Access. Если вы попытаетесь использовать подстановочные знаки ANSI SQL с помощью Access или DAO, они будут интерпретированы как литералы.

    Microsoft Access SQL, как правило, является менее строгим. Например, это позволяет выполнять группировку и сортировку в выражениях.

    Microsoft Access SQL поддерживает более эффективные выражения.

Расширенные возможности SQL Microsoft Access

Microsoft Access SQL предоставляет следующие расширенные возможности:

Инструкция TRANSFORM, обеспечивающая поддержку перекрестных запросов.

    Дополнительные агрегатные функции SQL, такие как СТАНДОТКЛОН и ДИСПР .

Объявление параметров для определения запросов с параметрами.

Функции ANSI SQL, не поддерживаемые в Microsoft Access SQL

Microsoft Access SQL не поддерживает следующие функции ANSI SQL:

    Предложение LIMIT TO nn Rows, используемое для ограничения количества строк, возвращаемых запросом. Вы можете использовать только предложение WHERE для ограничения области запроса.

Oracle и MS SQL Server – де-факто стандарты СУБД корпоративного уровня. У каждой из них имеются свои преданные сторонники и ярые противники. Обе СУБД выполняют примерно одинаковые задачи для примерно одинаковых пользователей и управляются примерно одинаковыми dba . В чём же разница? Далее в этом посте предлагаю экспресс-сравнение функциональности Oracle и SQL Server , пусть достаточно поверхностное и без залезания в глубокие дебри на уровень "прожжёных админов", зато пригодное для начального сопоставления.

Оба продукта развиваются, правят косяки, реализуют удачные фичи и пр. Так что, по правде говоря, сравнивать можно только конкретные версии/редакции (2k 5 vs. 10g , 2k 8 vs. 11g ). И всё-таки, если попытаться обращать внимание только на самые обобщённые характеристики...


    SQL Server работает только на windows (зато может сосредоточиться именно на этой связке СУБД – ОС). Oracle же выпускает версии для разных платформ (windows , linux , solaris , solaris sparc , aix , hp-ux itanium , hp-ux pa-risc , z/linux , z/os , mac os ), что означает возможность использовать бесплатные ОС для серверов СУБД.

    Обе СУБД поддерживают файловые системы и СХД. Но у oracle есть один очень классный инструмент – automatic storage management . Фишка в том, что oracle -dba приходится вникать в особенности файловых систем тех ОС, на которых разворачивается СУБД. Чтобы помочь ему, asm скрывает в себе такие особенности и позволяет работать в стандартном и привычном oracle -окружении (в том числе с помощью sql ). Фактически, asm "у можно сказать "вот есть массив неотформатированных дисков, ты будешь работать с ним", и asm самостоятельно отформатирует диски, разместит на них данные и будет ими управлять. Причём – по субъективным ощущениям – получится гораздо эффективнее, чем управление "вручную" (один коллега, участвовавший в курсах по администрированию oracle, признался, что сами тренеры не особенно представляют, как этот asm работает "внутри").

    С портами всё ясно – обе СУБД имеют стандартные порты и могут быть настроены на использование другого значения, отличного от дефолтного. В sql server имеется также возможность запуска инстанса на случайном, динамически выделяемом порту (чтобы узнать этот порт, клиенту потребуется обратиться к СУБД по 1434).

    Что касается базовых сервисов (в windows ). MSSQLSERVER – самая главная служба одноимённой СУБД, обеспечивает хранение данных, их обработку и управление доступом. SQLServerAgent осуществляет планирование и исполнение заданий, оповещений, извещений и планов обслуживания базы данных. В oracle основных служб также две: OracleService и . Первая служба обеспечивает функциональность БД (за исключением разного рода надстроек, аналитики и т.д.), вторая – это диспетчер подключений. Есть важная особенность – при остановке или поломке TNSListener -а все активные подключения продолжают работать.

    По разграничению прав доступа также есть интересное отличие. Если в ms sql server пользователю дать права администратора, то он может выполнять любые операции, в т. ч. – передать такие же права dba другому пользователю. В oracle же возможны два варианта – передача прав with grant option (с разрешением дальнейшей передачи прав) и без такого разрешения.

    Также интересные моменты касаются соответствия терминов.

      С инстансом понятно – это экземпляр СУБД, установленный на сервере. В sql server он имеет имя, по которому можно к нему обратиться (тут ещё такая фишка, как возможность использовать неименованный инстанс – когда на сервер устанавливается только один экземпляр этой СУБД, то он получает дефолтное имя, и обращаться к СУБД можно без указания такого имени). В oracle каждый инстанс имеет SID , который указывать обязательно.

      А вот с базой и схемой дела обстоят сложнее. Пользователи sql server привыкли к тому, что база данных – это какое-то хранилище для размещения таблиц, процедур, представлений и прочих объектов, к которому они могут получить доступ; и что на одной СУБД может быть любое количество баз данных. И когда такие пользователи приходят к oracle -dba и просят "сделать им базу данных", админы сильно пугаются. Ведь в oracle база данных – это фактически инстанс. А вот "хранилищу для размещения... объктов, к которому... могут получить доступ" соответствует понятие "схема".

    Далее – соответствие состояний. Фактически sql server либо работает (служба MSSQLSERVER успешно стартовала), либо нет. В oracle же целый набор состояний:

      не работает – все службы остановлены;

      смонтирован (mount ) – особенное состояние, в которое СУБД может перейти сама (при каких-то проблемах), либо в которое её может перевести администратор. В какой-то мере это безопасный режим, в котором можно изменять критические параметры конфигурации СУБД. Естественно, в этом состоянии СУБД не обслуживает пользователей;

    • запущен и работает, обслуживает старые подключения и не принимает новые. В этом состоянии запущена служба OracleService и остановлена OracleTNSListener . Иногда бывает так, что разработчик Вася никак не может соединиться с СУБД и громко ругается, в то время как разработчик Коля отлично работает с ней же – причина такой ситуации зачастую кроется в том, что Коля уже давно установил соединение, затем была отключена служба TNSListener , и новое соединение от Васи не принимается;
    • запущена и работает в полной мере (запущены обе службы).

    Обе СУБД используются свои диалекты языка запросов. И хотя они основаны на одном и том же стандарте ansi sql , диалекты получились разные, а многие их функции – специфичными и несовместимыми. Следует отметить, что PL/SQL мощнее T-SQL .

    Для управления sql server используется management studio – большой и полноценный клиент, достаточный для выполнения подавляющего большинства операций любого уровня – от простого пользователя до администратора. В свою очередь из-за обилия платформ oracle предлагает web -консоли для работы и администрирования СУБД.

Представленное сравнение не претендует на полноту и абсолютную достоверность, а специфичных моментов перечислено всего несколько, выбранных субъективно. Но надеюсь, что и в таком виде информация будет полезной. Если есть желание добавить - u r welcome !

Рынок Систем управления базами данных ■ ■ Согласно данным маркетинговых исследований рынк СУБД постоянно растет. Основные факторы развития поддержка электронной коммерции, поддержка хранилищ данных и консолидация серверов. Примерное разделение рынка СУБД для платформы Unix показано на верхней диаграмме. Приблизительный раздел рынка СУБД для платформы Windows NT/2000 показан на диаграмме внизу.

История развития ■ ■ ■ Корпорация Oracle была основана в 1977 году (в то время она носила название Software Development Laboratories, а в 1978 году она была переименована в Relational Software, Inc.) как компания, специализирующаяся на создании реляционных СУБД, и предсказать, как она будет развиваться в течение последующих трех десятилетий, было в то время непросто. Нынче Oracle поставляет на мировой рынок огромное количество продуктов, услуг и решений, ее штат насчитывает более 43 тыс. человек, и доход этой компании, превысивший в 2000 году 10 млрд. долл. , определяется не только продажами СУБД. На сегодняшний день это вторая по величине доходов компания, специализирующаяся на производстве программного обеспечения.

История развития ■ ■ ■ Корпорация Microsoft также была основана в середине 70 -х годов. Ее история хорошо известна, впрочем, как и тот факт, что до 1987 года эта компания не имела никакого отношения к производству серверных СУБД. Сейчас SQL Server - один из сотен продуктов, производимых Microsoft. Штат этой компании насчитывает 32 тысячи человек, а ее доход за 2000 год превысил 22 млрд. долл.

История развития Oracle и MS SQL ■ ■ ■ ■ ■ 1975 - основана компания Microsoft. 1977 - основана компания Software Development Laboratories (ныне - Oracle Corporation). 1978 - Software Development Laboratories переименована в Relational Software, Inc. 1979 - выпущена первая официальная версия СУБД Oracle - V 2. 1980 - выпущена версия Oracle 2 для операционной системы VAX/VMS. 1982 - выпущена версия Oracle 3, которая стала первой СУБД, поддерживающей обработку транзакций и способной выполняться на разных платформах, в том числе на мэйнфреймах и мини-ЭВМ. 1983 - Relational Software, Inc. переименована в Oracle Corporation. 1984 - выпущена и перенесена на несколько различных платформ версия Oracle 4. 1986 - выпущена версия Oracle 5, поддерживающая возможности создания приложений в архитектуре «клиент-сервер» , распределенную обработку данных, кластеры VAX. 1987 - заключено соглашение между Microsoft и Sybase о лицензировании СУБД Sybase (Sybase Data. Server). Oracle становится крупнейшим в мире производителем СУБД.

История развития Oracle и MS SQL ■ ■ ■ 1988 - выпущена версия Oracle 6, а чуть позже объявлено, что Oracle 6. 2 будет поддерживать симметричные кластеры с применением Oracle Parallel Server. Oracle выпустила Unix Relational Financial Applications. В том же году Microsoft и Ashton-Tate анонсировали первую версию Microsoft SQL Server - реляционную СУБД для локальных вычислительных сетей. Новый продукт носил название Ashton-Tate/Microsoft SQL Server и представлял собой версию Sybase Data. Server для OS/2. Роль Ashton-Tate заключалась в том, что эта фирма предоставила d. BASE IV, используемую для разработки приложений. 1989 - Oracle реализовала поддержку OLTP, продукты фирмы стали доступны в 86 странах мира. В мае этого года увидела свет первая версия Ashton. Tate/Microsoft SQL Server. 1990 - выпущен SQL Server v 1. 1 с поддержкой как OS/2, так и новой графической оболочки фирмы - Microsoft Windows 3. 0.

История развития Oracle и MS SQL ■ ■ 1991 - Microsoft получила доступ к исходному коду SQL Server и начала работу над новой версией продукта. В мае Microsoft и IBM объявили о завершении совместной работы над OS/2. 1992 - выпущена версия Oracle 7 для Unix. Эта СУБД поддерживала распределенные запросы, удаленное администрирование, осуществляла поддержку различных сетевых протоколов. В этом же году был выпущен SQL Server 4. 2 - 16 -разрядная СУБД, результат совместной работы Microsoft и Sybase. В этой СУБД были реализованы клиентские библиотеки для MS-DOS, Windows и OS/2, помимо этого в нее впервые были включены средства администрирования с графическим интерфейсом под управлением Windows. Компания Microsoft приняла решение сосредоточиться на развитии версий SQL Server только для Windows NT и остановить развитие версий для Unix. В октябре была выпущена бета-версия SQL Server для Windows NT.

История развития Oracle и MS SQL ■ ■ 1994 - выпущена версия Oracle 7 для IBM PC (до этого времени компания Oracle не рассматривала данную платформу как серверную, ограничиваясь лишь созданием для нее клиентских частей своих СУБД). В этом же году закончилось сотрудничество Microsoft и Sybase, и далее эти две компании стали разрабатывать свои серверные СУБД независимо друг от друга. В конце года был выпущен сервер Sybase SQL Server System 10. 1995 - в начале года выпущен Microsoft SQL Server 6. 0. Oracle объявила о выпуске Discoverer 2000 - набора средств для анализа корпоративных данных. 1996 - выпущен SQL Server 6. 5, обладавший встроенной поддержкой Web-приложений, средствами распределенного администрирования, наличием динамических блокировок. Oracle выпустила Oracle 7. 3 Universal Server. 1997 - выпущена версия Oracle 8, основными особенностями которой стали более высокая надежность по сравнению с предыдущей версией, а также поддержка большего числа пользователей и больших объемов данных. Выпущены версии Oracle Designer/2000 2. 1 и Oracle Developer/2000, которые существенно облегчили создание приложений, работающих с базами данных, а также Oracle Applications for the. Web.

История развития Oracle и MS SQL ■ ■ 1998 - выпущен Microsoft SQL Server 7. 0 с радикально измененной архитектурой. Это была первая версия SQL Server, не содержавшая унаследованного кода, оставшегося со времен сотрудничества с Sybase. Особо стоит отметить появление в этой версии OLAP-служб в составе продукта (до этого серверные OLAP-средства, производимые поставщиками серверных СУБД, включая и Oracle, продавались исключительно как отдельные продукты и относились к категории весьма дорогостоящего программного обеспечения). 1999 - выпущена версия Oracle 8 i (Oracle 8. 1), которая во многом была основана на применении Java: виртуальная Java-машина находится в самой СУБД, на этом же языке написаны клиентские утилиты, инсталлятор, средства администрирования. В конце того же года выпущена вторая версия Oracle 8 i (Oracle 8. 1. 6), поддерживающая XML и содержащая некоторые новшества, связанные с созданием хранилищ данных.

История развития Oracle и MS SQL ■ ■ 2000 - выпущена третья версия Oracle 8 i (Oracle 8. 1. 7), содержащая Java Virtual Machine Accelerator, а также Internet File System (об этой особенности мы расскажем ниже). В этом же году выпущен Microsoft SQL Server 2000, поддерживающий Web-приложения, XML, а также содержащий множество нововведений в административных утилитах. 2001 - анонсирована Oracle 9 i. Эта СУБД отличается новыми средствами для обеспечения масштабируемости (Oracle 9 i Real Application Clusters), упрощения администрирования (в частности, для автоматизации конфигурирования серверов, управления ресурсами используемых компьютеров, мониторинга загрузки и производительности), обеспечения безопасности данных, восстановления данных после сбоев (в том числе из-за ошибок персонала), новыми средствами интеграции приложений. Кроме того, в составе СУБД имеется OLAP-сервер (ранее серверные OLAP-средства Oracle, такие как Oracle Express, поставлялись в виде отдельных продуктов, но, похоже, теперь в этом отношении Oracle последовала примеру Microsoft).

Поддержка различных платформ ■ ■ Одним из главных событий, определивших дальнейшую судьбу Microsoft SQL Server, стало решение Microsoft сосредоточить усилия исключительно на поддержке только платформы Windows NT. Можно найти немало аргументов, подтверждающих как правильность, так и ошибочность такого решения. В результате его принятия популярность SQL Server определяется в первую очередь популярностью платформы, которую он поддерживает - Windows 2000 и ее потомков. Эта СУБД настолько связана с операционной системой, что ее надежность, масштабируемость и производительность определяются надежностью, масштабируемостью и производительностью самой платформы, и положение SQL Server на рынке будет зависеть от выпуска новых версий Windows Подход Oracle к поддержке различных операционных систем радикально отличается от подхода Microsoft - СУБД этой фирмы существуют для огромного количества платформ. Хотя поддержка большого количества платформ (а не нескольких наиболее прибыльных, как это характерно для других производителей СУБД) требует немалых вложений, переход к широкому применению Java, который сейчас происходит в Oracle, позволяет существенно сократить затраты на разработку и поддержку продуктов.

Настольные и однопользовательские версии ■ ■ И Oracle, и Microsoft многое делают для поддержки настольных версий своих СУБД или применения их в указанном режиме. SQL Server можно применять на любых Intel-совместимых компьютерах под управлением Windows 9 x, Windows NT, Windows 2000, но SQL Server более не поддерживает компьютеры на базе процессора Alpha (видимо, ввиду ухудшения отношений между Microsoft и Digital Equipment Corporation). Имеется также версия SQL Server 2000 для Windows CE, предназначенная для применения в мобильных устройствах. Microsoft Data Engine (MSDE) - это продукт фирмы Microsoft, специально предназначенный для настольных приложений. Эта СУБД по существу представляет собой ограниченный вариант SQL Server, который можно применять в Windows 9 x, NT, Windows 2000 и администрировать с помощью Microsoft Access. Подобно Access на рынке MSDE позиционируется как однопользовательская СУБД. Отметим также, что Microsoft встроила в этот продукт специальные средства, снижающие его производительность при попытке одновременной работы с ним более пяти пользователей.

Настольные и однопользовательские версии ■ ■ ■ Среди продуктов Oracle также имеются две СУБД, позиционируемые в качестве настольных. Продукт Personal Oracle, известный уже много лет, представляет собой однопользовательскую, но полнофункциональную версию Oracle, требующую некоторых навыков администрирования при ее применении. Вторая настольная СУБД этой компании, Oracle Lite, может применяться в качестве однопользовательской СУБД на обычных рабочих станциях, но в действительности она предназначена для применения в мобильных устройствах. В отличие от других СУБД этот продукт поддерживает только язык Java, но не поддерживает PL/SQL (язык, на котором создается серверный код в других СУБД Oracle).

Инструменты и утилиты ■ ■ ■ Одним из преимуществ SQL Server является простота его применения, в частности администрирования. SQL Server Enterprise Manager, входящий в состав всех редакций Microsoft SQL Server (за исключением MSDE), представляет собой полнофункциональное и достаточно простое средство для администрирования этой СУБД. Oracle Enterprise Manager во многих отношениях превосходит SQL Server Enterprise Manager по своим возможностям, однако процесс его установки довольно сложен, к тому же, что более существенно, он входит в состав далеко не всех редакций СУБД Oracle, а некоторые его компоненты можно приобрести только как отдельные продукты. Эта ситуация улучшилась с появлением одной из последних версий Oracle Enterprise Manager - DBA Studio для Oracle 8 i Release 2, то есть версий 8. 1. 6 и 8. 1. 7).

Инструменты и утилиты ■ ■ ■ Административные утилиты и другие инструменты для ранних версий Oracle обычно производились независимыми компаниями (выпускались как дорогие продукты, так и бесплатные), а основные усилия самой корпорации Oracle были сосредоточены на разработке самой СУБД. Однако сейчас ситуация существенно изменилась, и в настоящее время Oracle поставляет на рынок немалое количество разнообразных инструментов, среди которых помимо средств администрирования имеются средства разработки приложений, проектирования данных, моделирования бизнес-процессов, серверы приложений, корпоративный портал. Впрочем, и в арсенале Microsoft также имеются многие из подобных продуктов, правда, не все они позиционируются как таковые (например, Microsoft Visio Enterprise, обладающий функциональностью средства моделирования бизнес-процессов и проектирования данных, но позиционируемый как средство создания диаграмм).

Производительность ■ ■ ■ Трудно ответить на вопрос, какая из СУБД обрабатывает запросы быстрее, - слишком многое здесь зависит от того, на каком оборудовании производится тестирование, каков состав выполняемых запросов. По данным Transaction Processing Performance Council (TPC), SQL Server сейчас является рекордсменом по производительности, однако и Oracle стабильно входит в пятерку лидеров. Отметим, однако, что подобного рода тесты не могут дать однозначного ответа на вопрос, какая из СУБД будет производительнее при решении конкретной задачи: в одних случаях производительность СУБД Oracle превосходит производительность SQL Server, а в других наоборот. Реально проверить это можно только с помощью тестирования, основанного на запросах, типичных именно для конкретной задачи.

Краткий обзор особенностей СУБД ■ ■ ■ Oracle 8 i (в маркетинге они позиционируются как СУБД для Internet). Oracle 8 i Release 1 (версия 8. 1. 5) была выпущена в 1999 году, Release 2 - в начале 2000 -го, Release 3 в конце 2001 года. Их предшественница, Oracle 8, была выпущена в 1998 году, но в мире до сих пор имеется немало пользователей Oracle 7: многим из них просто не нужна поддержка больших баз данных и объектных типов, отличающая Oracle 8 от Oracle 7, равно как и новшества, появившиеся в Oracle 8 i.

Поддержка Internet ■ Для поддержки Internet в Oracle 8 i существенно расширено применение языка Java. В частности, в состав серверной части этой СУБД входит виртуальная Java-машина, в дополнение к имевшимся ранее средствам выполнения кода на языках SQL и PL/SQL. ■ ■ Создан Oracle Portal - инструмент для создания корпоративных решений и интеграции корпоративных приложений на базе Web-технологий Созданы средства поддержки мультимедиа-контента в базе данных Oracle - Oracle 8 i inter. Media, которые можно с успехом применять как в обычных приложениях, так и в Internet-приложениях В Oracle 8 i впервые появилась Internet File System (i. FS) - Java-приложение, выполняющееся внутри виртуальной Java-машины Oracle 8 i и позволяющее пользователям обращаться с базой данных как с сетевым диском. Вследствие этого в Oracle 8 i можно теперь хранить данные практически любых типов В Oracle 8 i Release 2 (8. 1. 6) появилась поддержка XML как средства интеграции данных и реализации транзакций в приложениях business-to-business (B 2 B)

Администрирование ■ ■ ■ Oracle Enterprise Manager в последних версиях Oracle 8 i содержит разделяемый репозитарий, который позволяет координировать доступ пользователей к данным, хранящимся в различных серверах Oracle, с помощью Oracle Management Server компонента среднего звена, предназначенного для централизации управления доступом клиентов к серверам Oracle 8 i поддерживает индексы, основанные на функциях и выражениях (эта полезная особенность существовала когда-то в d. BASE и его клонах и позже была благополучно забыта производителями серверных СУБД; поистине, новое - это хорошо забытое старое). Кроме того, в этой СУБД можно строить индексы в порядке не возрастания, а убывания, и, что более существенно, для создания индексов в этой версии Oracle не требуется полная блокировка таблицы Oracle 8 i позволяет модифицировать план выполнения SQL-запроса и сохранить его в базе данных, что во многих случаях оказывается весьма полезным В Oracle 8 i появилась возможность создавать табличные пространства, управляемые локально, а также создавать переносимые табличные пространства, что позволяет переносить данные с одного сервера на другой без применения экспорта и импорта данных Имеется также возможность копировать статистику из одной базы данных в другую, что бывает полезно при тестировании приложений

Разработка приложений ■ ■ Последние версии Oracle содержат объектные расширения (в частности, объектно-ориентированные типы данных и соответствующие расширения SQL), причем эти расширения входят в состав продукта В Oracle 8 i и Oracle 9 i входят средства интеграции со средствами разработки Microsoft, включая Visual Studio Application Wizard, поддержку COM/DCOM и MTS/COM+, а также OLEDB-провайдер для доступа к данным этой СУБД

Безопасность данных ■ ■ В Oracle 8 i впервые была применена концепция Virtual Private Database для упрощения управления доступом: теперь средства защиты данных встроены в саму базу данных, а не в приложения В средства Oracle Advanced Security (известные ранее как Advanced Networking Option) добавлены поддержка протоколов Secure Socket Layer (SSL) и Remote Authentication Dial-In User Service (RADIUS). Это сделано с целью поддержки безопасности транзакций, проводимых через Internet

Версии Oracle ■ ■ СУБД Oracle поставляется в четырех вариантах Oracle Database Enterprise Edition, Oracle Database Standard Edition, Oracle Database Personal Edition и совсем облегченный мобильный вариант, предназначенный в первую очередь для laptop-ов. При этом все варианты сервера Oracle имеют в своем основании один и тот же код и функционально идентичны за исключением некоторых опций, которые например, могут быть доступны только для Oracle Database Enterprise Edition и не поставляться с другими вариантами СУБД. Oracle Database Enterprise Edition. Полнофункциональная СУБД, возможности которой ограничены, пожалуй, лишь аппаратными ресурсами. По сути в Oracle Database Enterprise Edition включены все новейшие разработки по безопасному хранению, обработке и конечному представлению данных. Широкие возможности по масштабированию позволяют обеспечить работу сервера базы данных 24 часа в сутки, 7 дней в неделю, 365 дней в году, а развитые средства резервного копирования. исключить возможность потери стратегически важной информации.

Версии Oracle ■ ■ ■ Oracle Database Standard Edition. СУБД, обладающая несколько ограниченными по сравнению с Oracle Database Enterprise Edition возможностями, что находит свое отражение в стоимости каждой из них. Может быть установлена на серверах поддерживающих не более четырех процессоров. Oracle Database Standard Edition является наилучшим решением для развертывания информационных систем в небольших организациях, рабочих группах или подразделениях больших предприятий. За счет использования набора средств распределенной обработки и тиражирования данных, может быть использована для поддержки работы в организациях, имеющих большое число территориально-удаленных филиалов. Oracle Database Personal Edition. Однопользовательская СУБД для обучения, разработки и использования приложений в операционных системах Windows NT/2000, Windows 95/ 98/ME. Oracle Database Personal Edition для Windows NT/2000, обладает всеми возможностями Oracle Database Enterprise Edition. Для Windows 95/98/ME эти возможности значительно ограничены, что связано с невозможностью их реализации при работе с этими операционными системами. Oracle Lite. Совсем облегченная мобильная СУБД, позволяющая синхронизировать информацию, хранимую на laptop-ах и карманных компьютерах с корпоративными базами данных. Доступ к данным Oracle 8 i Lite поддерживается посредством стандартных интерфейсов (ODBC, OCI, JDBC), что позволяет создавать приложения с помощью обычных средств разработки.

Возможности администрирования ■ ■ ■ Новые возможности в администрировании - управляемые сервером сбросы и восстановления (это расширенная интеграция применявшейся в Oracle 7 утилиты Enterprise Backup), централизованное хранение паролей, контроль за назначением и устареванием паролей. Новые режимы взаимодействия с сервером - поддержка очередей приоритетных сообщений, задающих описание транзакции или ее части (эта функциональность может быть использована мониторами транзакций), возможность мультиплексирования сессий, как на физических, так и на логических каналах связи. Расширение функциональных возможностей тиражирования данных, введение программного интерфейса тиражирования, позволяющего реализовать поддержку репликации с самыми разнообразными системами хранения данных. Поддержка таблиц, целиком хранимых в индексах.

Порталы на основе СУБД ■ ■ Технологии Internet занимают все более прочные позиции в компаниях, помогая организовывать важную информацию и доставлять ее до каждого рабочего места. Однако, привести в порядок информационное пространство внутри организации сложнее, чем в общедоступных сетях. Данные, необходимые пользователям для ведения дел, могут находиться в целом ряде информационных источников: в одной из существующих прикладных систем, на файл-сервере, в сообщениях электронной почты, в Internet. Поиск в каждом из них требует времени и умения работать с различными приложениями. Для пользователей описанная ситуация - это привычные неудобства, для администраторов - огромные ежедневные усилия на поддержание работоспособности систем, контроль, резервное копирование, разграничение прав доступа, а для компании - потеря темпа, неэффективность и плохие показатели в отчетности. Технологии, решающие задачи создания единого информационного хранилища, появились, как и раньше, в Internet и быстро обрели популярность. Это - порталы, а точнее, в применении к задачам организации, корпоративные информационные порталы (Enterprise Information Portal).

Порталы на базе Oracle ■ ■ Портал имеет возможность хранить внутри себя документы, создавать web-интерфейсы к существующим системам, а также брать данные из работающих web-узлов, как внутри, так и вне организации. Пользователь сам решает, какая информация его интересует в большей степени и настраивает внешний вид портала по своему усмотрению. На базе портала Oracle 9 i можно решить актуальные задачи: ■ ■ появляется отправная точка для поиска информации создается электронная библиотека документов с хорошей внутренней структурой, эффективной системой поиска и надежной схемой разграничения прав пользователей разрозненные информационные системы обретают единообразный интерфейс разработчики приложений получают строгую архитектуру, интегрирующую создаваемые компоненты

Преимущества использования порталов ■ ■ ■ Рабочие места ряда пользователей оснащаются только операционной системой и браузером, что снижает требования к аппаратному обеспечению и позволяет использовать более дешевые конфигурации Концентрация информации из Internet-источников в портале организации влечет за собой снижение нагрузки на Internetканал компании и дает возможность сотрудникам более эффективно использовать ресурсы Internet Использование Oracle 9 i Portal эффективно не только внутри организации. Продукт дает деловым партнерам возможность без лишних усилий получать доступ к необходимой для работы информации, а сотрудникам - публиковать различные материалы на web-сайте компании, не обращаясь за помощью к сотрудникам отдела информационных технологий.

Сравнение популярных СУБД

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

Данная статья предлагает сравнительный обзор особенностей трех наиболее популярных СУРБД: Oracle, MySQL и SQL Server. Такое сравнение может оказаться существенным подспорьем при подборе под конкретные проекты.

Сравнительная таблица общих характеристик

Данная таблица содержит общие характеристики СУРБД Oracle, MySQL и SQL Server

Характеристика Oracle MySQL SQL
Server
Интерфейс GUI, SQL SQL GUI, SQL, другое
Поддержка языков С, С++, Java, Ruby, Objective С и
др.
С, С++, Java, Ruby, Objective С и др. Java, Ruby, Python, VB, .Net, PHP
Операционная система Windows, Linux, Solaris, HP-UX, OS X, z/OS, AIX Windows, Linux, OS X, FreeBSD, Solaris Windows
Лицензия Проприетарная Свободная Проприетарная

Oracle

Первым «настоящим» выпуском СУРБД Oracle стал Oracle 2. Система была написана на ассемблере и поддерживала только базовые свойства SQL. Все последующие 11 лет Oracle занималась тем, что выпускала обновления для этого флагманского продукта.

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

Все эти жаргонизмы мира баз данных, такие как «масштабируемая», «распределенная», «программируемая», «переносимая», также тесно связаны с линейкой продуктов Oracle. Например, в 1985 году, в связи с возросшей ролью сетевых коммуникаций, в СУРБД Oracle была добавлена поддержка клиент-серверной модели, а с наступлением Эры Интернет, продукты Oracle стали включать в себя собственную виртуальную машину Java (JVM).

Особенности

В результате релиз первой в мире облачной базы данных Oracle Database 12c (2013 г), обладал уже следующими особенностями:

  • Улучшенный алгоритм защиты чувствительных данных
  • Улучшенное сжатие данных
  • Высокая плотность консолидации данных
  • Максимальная доступность
  • Автоматическая оптимизация данных
  • Средства быстрой разработки веб-приложений с помощью SQL и/или PL/SQL
  • Улучшенная сетевая производительность

Среди уникальных особенностей - поддержка подключаемых баз данных и живая миграция

Microsoft SQL Server

Компания Microsoft вышла на рынок СУРБД в середине 90-х в содружестве с компанией Sybase, у которой Microsoft и приобрела этот одноименный продукт. В дальнейшем обе компании совместно трудились над разработками для платформы IBM OS/2.

Однако, с появлением Windows NT, связи Microsoft и Sybase были разорваны, так как Microsoft хотела самостоятельно разрабатывать СУРБД для своей новой ОС.

В 2000 году вышел релиз SQL Server 2000, который ознаменовал собой важную веху, поскольку это был первый продукт, в котором полностью отсутствовал код Sybase.

Особенности

Последним релизом SQL Server является SQL Server 2014 в котором Microsoft предлагает:

  • Новые технологии работы с памятью
  • Улучшенную производительность
  • Гибридные облачные решения
  • Улучшенную бизнес-аналитику
  • Резервное копирование старых версий в облачное хранилище

MySQL

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

Особенности

Такие системы, как Oracle и SQL Server, являются крупными корпоративными СУРБД, в то время как MySQL предназначена для поддержки малых и средних проектов. Обновления MySQL выходят практически каждый год.

Поворотным для MySQL оказался 2010 год, когда увидела свет MySQL 5.5, обладающая рядом значительных улучшений сравнительно с предыдущими выпусками, а именно:

  • Наличие движка InnoDB
  • Полусинхронная репликация
  • Улучшенный механизм секционирования данных
  • Новая система блокировок
  • Оптимизация под многоядерные процессоры

Заключение

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




Понравилась статья? Поделитесь ей