СУБД Oracle для небольших организаций и - R

advertisement
50
СТАТЬИ ПАРТНЕРОВ
СУБД Oracle
для небольших организаций
и компаний
Глеб Ладыженский
директор Департамента технического консалтинга
компании «Oracle СНГ»
До сих пор в представлении многих российских
пользователей программных продуктов система
управления базами данных Oracle — это очень до*
рогое и сложное решение, которое ориентировано
только на крупные предприятия и учреждения. Дей*
ствительно, на российском рынке СУБД лидерство
«Oracle»1 проявляется в основном в корпоративном
сегменте. Однако за последние несколько лет эта
компания предприняла значительные усилия для
того, чтобы адаптировать свою СУБД к потребнос*
тям небольших и средних организаций. В частности,
появилась специальная версия СУБД Oracle, предна*
значенная для использования в качестве ядра при*
кладных программных систем (приложений) на рын*
ке SME (Small and Medium Enterprises), — Oracle
Database Standard Edition One.
Редакции СУБД Oracle
В настоящее время помимо широко распространенной
редакции Oracle Database Enterprise Edition («СУБД масштаба
корпорации») поставляются варианты Oracle Standard
Edition («СУБД стандартной редакции»), Oracle Personal
Edition («Персональный Oracle») и Oracle Standard Edition
One (выпускается с октября 2003 г.). Основной акцент
в Standard Edition сделан на невысокую стоимость, простоту
установки и сопровождения. При этом все варианты сервера
Oracle имеют в своей основе один код и функционально
идентичны — за исключением некоторых дополнительных
опций, которые необходимы для специфических конфигу*
раций (например, для поддержки кластерных архитектур
служит опция Real Application Clusters2).
1 По данным компании IDC за 2002 год, например, доля «Oracle» на российском
рынке СУБД составила 69,9 %.
2 См. статью А.Игнатова и М.Лазунского «Решения на основе кластерных
технологий для обеспечения непрерывной готовности ИБС RS*Bank V.6» — «RSClub»,
2005, № 1/36/, c.28—33. (Прим. Ред.)
АПРЕЛЬ—ИЮНЬ 2005 г.
Главное преимущество такого подхода к построению
СУБД — тождественность кода для всех редакций СУБД. Имен*
но это определяет столь важное качество, как поддержка
СУБД Oracle большинства платформ и операционных систем —
Windows, Linux, Unix, z/OS, OpenVMS и др.
Переносимый код Oracle
Важнейшим фактором для информационной системы орга*
низации (вне зависимости от ее масштаба) является идентич*
ность кода различных версий СУБД для всех операционных
сред, гарантирующая одинаковость и предсказуемость работы
системы на любых типах компьютеров, входящих в ее состав. Разу*
меется, для рынка небольших и средних организаций спектр
компьютеров ограничен — вряд ли они будут приобретать мейн*
фреймы. Типичными серверами баз данных могут быть двух*че*
тырехпроцессорные компьютеры на основе Intel (Pentium, Xeon,
Itanium 2)3 или AMD (Opteron). На таком оборудовании, кстати,
можно установить различные операционные системы. Напри*
мер, на компьютерах Sun Microsystems серии Sun Fire V20z, V40z
(процессоры AMD Opteron) способны работать три операцион*
ных системы: Linux (RedHat, SuSE), Windows и Solaris.
Следовательно, необходимо обеспечить переносимость
СУБД — и с этим у «Oracle» все обстоит прекрасно. Каждый ва*
риант СУБД Oracle имеет в своей основе один и тот же исход*
ный программный код и функционально идентичен. Исключе*
ние составляют некоторые опции, которые либо могут быть
добавлены (в частности, к редакции Oracle Database Enterprise
Edition), либо нет (к редакции Oracle Database Standard Edition).
Таким образом, для всех операционных сред существует еди*
ная СУБД в различных версиях, которая ведет себя одинаково
и предоставляет единообразную функциональность вне зависи*
мости от платформы, на которой установлена. Разработку сер*
верных продуктов в составе СУБД выполняет одно подразделение
корпорации «Oracle». Изменения вносятся централизованно,
после чего подвергаются тщательному тестированию в базовом
варианте, а затем переносятся на все платформы, где также де*
тально проверяются. Возможность переноса обеспечивается спе*
цифической структурой исходного программного кода сервера.
Приблизительно 80 % программного кода Oracle написано
на языке C, который (с известными ограничениями) являет*
ся платформо*независимым. Оставшиеся примерно 20 % кода,
3Рекомендуем прочесть статью А.Латыева «RS*Bank V.6 сквозь призму тестирования» —
там же, 2004, № 4/34/, c.36—39. (Прим. Ред.)
RSCLUB № 2
СТАТЬИ ПАРТНЕРОВ
51
СУБД Oracle
для небольших организаций и компаний
представляющего собой ядро СУБД, реализованы на машин*
но*зависимых языках, и эта часть, разумеется, переписывается
для различных платформ и операционных систем.
СУБД Oracle скрывает детали реализации механизмов
управления данными на каждой из платформ, что дает основа*
ние говорить о практически полной унификации базового ПО
управления данными. Однако это еще не все. В дополнение
к сказанному архитектура Oracle позволяет переносить при*
кладные системы, реализованные на одной платформе, на дру*
гие — без изменений как структур БД, так и кодов приложений.
Основным средством доступа к базам данных Oracle из
программ является (как и для других БД) декларативный
язык запросов SQL. Он платформо*независим по определе*
нию. На практике при разработке приложений используется
процедурное расширение SQL, язык программирования
PL/SQL, прототипом которого служил язык Аdа. Отметим,
что PL/SQL — это также интерпретируемый полностью ма*
шинно*независимый язык для разработки программ, взаи*
модействующих с базой данных Oracle.
Вообще говоря, для обеспечения переносимости прило*
жений класса «клиент — сервер», когда вся прикладная логика
реализована на стороне клиента, а сервер БД выполняет лишь
роль обработчика данных, достаточно только наличия SQL*ма*
шины в составе СУБД. Действительно, клиент направляет сер*
веру SQL*запросы, сервер обрабатывает их и возвращает кли*
енту затребованные данные. Однако на деле приложения име*
ют более сложную структуру. Прикладная логика реализуется
как на стороне клиента, так и на сервере — с помощью меха*
низма хранимых процедур (в Oracle такие процедуры разра*
батываются на PL/SQL или на Java). Вот почему сервер БД дол*
жен, во*первых, быть обязательно программируемым и, во*
вторых, дополнительно включать еще два интерпретатора
(PL/SQL и Java) для исполнения платформо*независимых про*
цедур, написанных на этих языках. Иными словами, если при*
кладная логика системы реализована, например, на PL/SQL,
то данная прикладная система является платформо*независимой
и переносимой, так как платформо*независимой является сама
СУБД Oracle, в состав которой включен интерпретатор PL/SQL.
Состав Oracle Database
Standard Edition One
В семействе серверов баз дан*
ных Oracle лидером по популяр*
ности является сервер cтандарт*
ной редакции. Он наиболее широ*
ко распространен среди пользователей Oracle, особенно
в небольших и средних компаниях и организациях, в том
числе кредитных. Редакция Oracle Database Standard Edition
One включает практически весь функционал СУБД Oracle, не*
обходимый для создания промышленных баз данных. В ее со*
став, помимо собственно сервера БД, входят следующие модули:
• InterMedia — обеспечивает поддержку большинства
популярных типов и форматов данных (графических, аудио*,
видео*) и многих форматов документов, а также их обработку
RSCLUB № 2
(в том числе выполнение операций поиска по большим тек*
стовым документам);
• Oracle Enterprise Manager — представляет собой уни*
версальное средство администрирования баз данных, снабжен*
ное удобным графическим интерфейсом и позволяющее адми*
нистратору БД выполнять самые разнообразные операции над
множеством баз данных Oracle (включая создание, модифика*
цию и удаление любых объектов внутри каждой из них);
• Standard Management Pack (используется совместно
с Oracle Enterprise Manager) — содержит необходимые в ра*
боте администратора БД пакеты для настройки оптималь*
ной производительности (tuning pack), отслеживания и диаг*
ностики любых нештатных ситуаций в работе СУБД (diag*
nostic pack) и автоматического переноса изменений из тес*
товой БД в рабочую (change management pack);
• Distribution Option — позволяет эффективно работать
с распределенными базами данных и выполнять их реплика*
цию в широком диапазоне возможностей (в том числе син*
хронную, асинхронную, каскадную и другие типы репликации);
может быть использован, например, для организации передачи
данных между серверами БД в центре и в регионах;
• Objects Option — поддерживает объектно*ориентиро*
ванные возможности: объектные типы, коллекции, массивы,
вложенные таблицы, ссылки на объекты и большие бинар*
ные объекты (BLOB), поскольку, начиная с 8*й версии, СУБД
Oracle является объектно*реляционной;
• 64 Bit Option — за счет его включения сервер Oracle
Database Standard Edition One работает не только на 32*,
но и на 64*разрядных компьютерах (например, с процессо*
рами AMD Opteron), что существенно расширяет возмож*
ности по производительности;
• Oracle Workflow — представляет собой средство автома*
тизации стандартных бизнес*процедур для разработки опе*
раций по управлению потоками работ; предлагает расширен*
ные возможности по автоматизации прохождения и обработ*
ки информации произвольного типа и формализации слож*
ных бизнес*процедур и алгоритмов обработки данных;
• Advanced Queuing — универсальный механизм для хране*
ния, обработки и гарантированной доставки сообщений; его
функциональность фактически аналогична той, которая харак*
терна для ПО категории MOM (Message Oriented Middleware).
Кроме того, типовая редакция сервера Oracle Database
Standard Edition One снабжена всеми необходимыми сред*
ствами для подключения клиентских рабочих мест по про*
токолу Net8 (модуль Networking Kit), для обеспечения рабо*
ты клиентов по технологии OLE (модуль Objects for OLE),
набором ODBC*драйверов и библиотеками для разработки
программ на языках третьего поколения, использующих для
доступа к базе данных Oracle Call Level Interface (OCI).
Наконец, самая интересная и нетривиальная, на мой
взгляд, компонента стандартной редакции Oracle — это
HTML DB. Если перед вами, предположим, стоит задача по
разработке веб*доступа к базе данных, то при использовании
Oracle Database приобретать дополнительный веб*сервер или
сервер приложений не придется: включенная в дистрибутив
АПРЕЛЬ—ИЮНЬ 2005 г.
52
СТАТЬИ ПАРТНЕРОВ
СУБД Oracle
для небольших организаций и компаний
компонента HTML DB (она состоит из всем известного HTTP*
сервера Apache и модуля mod_plsql) позволяет перенаправлять
запросы хранимым процедурам, реализованным на PL/SQL,
формировать HTML*страницы и возвращать их по запросам.
Установка и конфигурирование
Oracle Database SE One
Ценовая политика «Oracle»
Применительно к основной редакции СУБД — Oracle
Database Standard Edition One — корпорация «Oracle» строит
ценовую политику в расчете на широкий рынок серверов
масштаба рабочих групп и небольших организаций, где коли*
чество пользователей не превышает 25*50 человек. Благодаря
тщательному анализу финансовых возможностей клиентов
удалось выработать оптимальную стоимость лицензии Oracle
Database SE One — она составляет всего $ 149 на одного поль*
зователя в метрике «Именованный пользователь» и $ 4 995 —
на один процессор в метрике «Процессор» (число пользова*
телей здесь не ограничено). Поразительный факт: в этом це*
новом диапазоне стоимостные показатели у «Oracle» даже не*
сколько ниже, чем у ее основного конкурента на рынке SME —
компании «Microsoft» (Таблица 1).
Физические и умственные затраты на установку и конфи*
гурирование редакции Oracle Database Standard Edition One
сведены к минимуму. Продукт поставляется на одном DVD*дис*
ке, продолжительность инсталляции — приблизительно 20 ми*
нут. В процессе установки выполняется автоматическое конфи*
гурирование всех компонент СУБД (Listeners, Database, Agents)
для последующего автоматического старта и останова.
Разработчики «Oracle» существенно упростили конфигу*
рирование СУБД. Число инициализационных
Таблица 1. Ценовое сравнение продуктов «Oracle» и «Microsoft»
параметров, требующих обязательной уста*
новки вручную, радикально сокращено — на
90 %. Фактически в настоящий момент нужно
проинициализировать 23 базовых параметра.
Обучение администраторов баз данных
для работы со стандартными редакциями сер*
вера БД также не представляет трудностей:
стартовый курс АБД занимает всего 2 дня.
Наряду с этим имеется возможность загрузить с веб*сайта
Единственное лицензионное ограничение заключается
«Oracle Technology Network» свободно распространяемый учеб*
в том, что редакция Oracle Database Standard Edition One мо*
ный курс по Oracle Database Standard Edition One4.
жет быть установлена на серверах, у которых не более двух
процессоров. Если это трех* или четырехпроцессорные сер*
Лучшим доказательством простоты установки и конфигу*
веры, то на них уже необходимо устанавливать редакцию
рирования стандартных редакций СУБД Oracle служит успеш*
Oracle Database Standard Edition, которая стоит несколько
ный проект, затронувший все без исключения регионы Россий*
дороже. Однако если говорить о потребностях небольших
ской Федерации. Речь идет о системе «ГАС Выборы», которая
компаний и организаций, то в расчете на 25*50 пользовате*
используется в избирательных комиссиях всех уровней. Стан*
лей сервера с двумя процессорами Intel Xeon или AMD
дартная редакция СУБД Oracle была использована даже в звене
Opteron будет вполне достаточно.
территориальных избирательных комиссий, где не имелось
Также заслуживают внимания и неплохие показатели
выделенных администраторов БД — их функции выполняли
Oracle по совокупной стоимости владения (Таблица 2)7.
системные инженеры. Чтобы справляться с обязанностями
АБД, они прошли двухдневный тренинг по
Таблица 2. Совокупная стоимость владения (TСO) продуктов «Oracle» и «Microsoft»
СУБД Oracle, которого оказалось для этого
вполне достаточно.
Производительность
Используя Oracle Database SE One, можно
получить неплохие показатели производи*
тельности даже на двухпроцессорных серве*
рах. Об этом свидетельствуют результаты тес*
тирования по методике TPC5. На двухпроцессорном сервере
HP Integrity rx2600 (процессоры Intel Itanium 2 1.3GHz, операци*
онная система Red Hat Enterprise Linux AS 3) был получен такой
результат: 51 506 транзакций в минуту6 (по тесту TPC*C) при
соотношении «цена — производительность», равном $ 1,81.
Таким образом, приобретая Oracle Database Standard Edition
One даже для небольшой группы пользователей (5*10 человек),
заказчик фактически получает сервер уровня организации
со всей функциональностью, присущей крупномасштабным
базам данных, но по цене персональной СУБД и со сравни*
тельно невысокой стоимостью владения.
4См.
http://otn.oracle.com/obe; раздел Training, далее: 2 day DBA. (Прим. Авт.)
http://www.tpc.org; search «Result ID 104092901». (Прим. Авт.)
6Это является рекордом по TPC*C*тестам на двухпроцессорных компьютерах. (Прим. Авт.)
5См.
АПРЕЛЬ—ИЮНЬ 2005 г.
7Пример приведен для однопроцессорного сервера, метрика лицензирования —
процессоры, срок оценки стоимости владения — 5 лет. (Прим. Авт.)
RSCLUB № 2
Download