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