[ главная ]   [ рейтинг статей ]   [ справочник радиолюбителя ]   [ новости мира ИТ ]



Ответов: 0
25-02-12 07:01







   Web - программирование
PHP


ASP






XML



CSS

SSI





   Программирование под ОС











   Web - технологии








   Базы Данных









   Графика






Данные




Базы Данных / Oracle /

Сервер Oracle: тяжелый, как танк, или легкий, как пушинка?

Владимир Пржиялковский

Если бы 20 лет назад вы спросили у сотрудников фирмы Oracle, что они разрабатывают, то получили бы краткий ответ: «СУБД Oracle». Задав этот же вопрос сегодня, вы, скорее всего, услышите длинный перечень, куда приведенный выше ответ войдет лишь в качестве одной из позиций: «Web-сервер, средства разработки, системы управления предприятием» и т.д.» И все же, несмотря на разительные изменения, сервер СУБД остается для фирмы основным, «базовым» продуктом, на мой взгляд, наиболее проработанным, отлаженным и ценным для клиентов.

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

Сегодняшняя номенклатура серверов Oracle состоит из следующих типов:

  • Oracle Enterprise Edition;
  • Oracle Standard Edition;
  • Personal Oracle;
  • Oracle Lite.

Говоря о формальной стороне дела, нужно отметить, что, во-первых, этот набор типов сформировался не сразу (в свое время не было, например, Oracle Lite, а еще раньше — Personal Oracle), а во-вторых — к огорчению пользователей, но в полном соответствии с рыночными стереотипами поведения крупных компаний — приведенные названия со временем не раз менялись «в приказном порядке». Так, Oracle Standard Edition ранее именовался Oracle Workgroup Server, и различие между этими двумя типами серверов не «видовое», а чисто версионное, то есть отражает ход естественного эволюционного развития одного и того же продукта.

Эти замечания следует учесть тем, кто активно пользуется литературой по Oracle. Там вы вполне можете столкнуться с описанием того продукта, что вам требуется, но под другим названием — не стоит из-за этого бросать книжку или статью в дальний угол и искать новую! Реальные версионные изменения в системе часто оказываются незначительными или вовсе отсутствуют.

Разберемся с тем, что кроется за теперешней типизацией серверов Oracle. Нагляднее всего будет соотнести ее с областью применения. В табл. 1 показано, как предлагает применять типы своих серверов сама фирма.

Таблица 1
Тип сервера Рекомендуемая платформа Предлагаемая область использования
Oracle Enterprise Edition UNIX, Windows NT, в том числе с возможностями параллельной обработки Сервер прямого доступа для всего предприятия (завода, организации)
Oracle Standard Edition UNIX (в том числе Linux) и Windows NT Сервер прямого доступа в рамках подразделения (отдела)
Personal Oracle Windows-платформы Локальный сервер, встроенный в самостоятельную прикладную систему; сервер для «персонального использования»
Oracle Lite Windows NT/9x/CE Сервер для автономных мобильных компьютеров, подключаемых время от времени к основной БД

По поводу этих рекомендаций нужно заметить, что в целом они — корректный ориентир, однако составлены в расчете на зарубежную действительность. Масштабам «нашего» предприятия, например, вполне может соответствовать «их» отдел. К тому же это общие рекомендации, вовсе не запрещающие возможность использования того или иного сервера «не в своей нише».

Функциональные различия серверов разных типов постоянно изменяются с выпуском новых версий, однако некоторое постоянство этих различий все же имеет место. Осуществляя выбор сервера конкретного типа, полезно знать, что первые три из них («персональный», «стандартный» и «заводской») — это генетически родственные продукты. Все три имеют общую архитектуру, общее устройство, логику и принципы работы и являются развитием того самого магистрального сервера баз данных, который существовал 20 лет назад. Различаются они реализацией общей архитектуры применительно к менее ресурсоемким платформам и более простым требованиям, а также связанным с этим возможным отключением каких-то функций. Personal Oracle можно считать функциональным сужением сервера Standard Edition и применением архитектуры последнего к более простым условиям; в свою очередь, Standard Edition — это функциональное сужение Enterprise Server. Разрабатывается как бы одна общая архитектура, а потом делаются ее более простые реализации.

Примерами такого сужения могут служить процессная архитектура и параллельная обработка. Общая для всех трех типов серверов логика работы СУБД как совокупности самостоятельных процессов в Enterprise Edition для Unix выполнена «один к одному» в виде именно процессов, а в версии Standard Edition для NT (как, впрочем, и для Enterprise Edition для NT) имитируется потоками (threads) этой операционной системы. Personal Oracle (как и Standard Edition) фактически реализован как частный случай параллельного сервера (когда две или более СУБД работают одновременно с одной базой данных), выполненного в полном объеме в Enterprise Edition. Докапывающиеся до самых глубин знатоки Oracle утверждают, что тонкости работы отдельного (не параллельного) сервера можно понять только с учетом этого обстоятельства.

Таким образом, некоторые функции в младших типах серверов не реализованы, а некоторые попросту отключены. Знание последнего факта позволяет некоторым пользователям творчески относиться к данным табл. 1. Так, если повезет, то в Internet можно найти не документированный фирмой Oracle способ перевода Personal Oracle в состояние, когда он сможет обслуживать более одного соединения с базой данных по сети (напомню, что по замыслу изготовителя этот тип сервера должен использоваться локально и ему формально выделено только одно внешнее соединение для обмена с другими серверами). Для этого требуется выставить соответствующие конфигурационные параметры, что позволит получить удовлетворительный сервер с меньшими требованиями к ресурсам, чем предъявляются к Oracle Standard Edition. Следует, правда, заметить, что подобные настройки, во-первых, требуют определенной квалификации, а во-вторых, не встречают понимания у представителей Oracle.

Табл. 2 дает некоторое представление о схожести и различии функциональности двух наиболее популярных типов серверов из упомянутой тройки.

Таблица 2
Свойство Oracle8 Server (Standard Edition) Enterprise Server (Enterprise Edition)
Oracle Enterprise Manager (OEM) Есть Есть
Резервирование и восстановление без остановки сервера Есть Есть
Инкрементальное восстановление Нет Есть
Параллельное резервирование и восстановление Нет Есть
Восстановление табличного пространства на указанный момент времени Нет Есть
Поразрядные индексы Нет Есть
Оптимизация запросов типа «звезда» Есть Есть
Параллельная обработка (запросов, операторов DML; загрузка, сканирование индексов и т.д.) Нет Есть
Распределенные запросы Есть Есть
Репликация (основные возможности) Есть Есть
Репликация (расширенные возможности) Нет Есть
Pro*C Есть Есть
ODBC-драйвер Есть Есть
Расширенная поддержка очередей Нет Есть
Встроенные процедуры и триггеры Есть Есть
Поддержка больших объектов (LOB) Есть Есть
Поддержка картриджей  Частично Полностью
Расширенная сетевая поддержка Нет Есть
Работа с объектами Нет Есть
Режим рассредоточения табличных пространств по дисковым областям (partitioning) Нет Есть
Режим параллельного сервера Нет Есть

По-иному обстоит дело с Oracle Lite. Исторически это была внешняя по отношению к линейке серверов система, которая эволюционировала в противоположном направлении: не в сторону ограничения возможностей более старших серверов с целью «снижения веса» системы для использования в более простых условиях, а в сторону достижения совместимости с основной линейкой. Как результат, Oracle Lite характеризуется не только невероятно низкими для серверов Oracle требованиями к ресурсам платформы, но и некоторыми «генетическими» расхождениями с основной линией.

Так, имеются расхождения в базовых типах данных. Используется свой загрузчик данных, похожий, хотя и не полностью, на SQL*Loader. Но, возможно, более важное различие — в отсутствии поддержки PL/SQL. В последних версиях Lite (версия 4.0) появились триггеры и встроенные процедуры, но языком для них служит только Java, в то время как на серверах «основной тройки» такая Java-возможность возникла — в дополнение к давно реализованной возможности создания триггеров и процедур на языке PL/SQL.

Эти и ряд других форм несовместимости могут создать проблему для миграции баз данных и приложений с остальных серверов на Oracle Lite (и в противоположном направлении), в то время как подобной проблемы внутри «основной тройки» практически не существует (если не выходить за рамки общей функциональности). Переход от сервера к серверу внутри «тройки» прост и не требует от администратора переучивания — необходимо только обучиться тому новому, что имеется у более «старшей» модели (если переход совершается от «младшего» типа к «старшему»). Переход же к Oracle Lite потребует кое о чем забыть, а кое-что выучить на иной манер. (Для примера и в дополнение к сказанному выше — совсем по-другому выглядит одинаковая для всех остальных типов серверов процедура установки системы. Загляните в каталог RDBMSAdmin и убедитесь в отсутствии SQL-сценариев, знакомых по всем операционным средам и по всем трем серверным разновидностям.)

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




Комментарии

 Ваш комментарий к данному материалу будет интересен нам и нашим читателям!



Последние статьи: Базы Данных / Oracle /

Как взломать парольную защиту Oracle или как ее обойти
07-03-2010   

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

Кол. просмотров: общее - 3593 сегодня - 0

Размышления об Oracle
07-03-2010   

Я не понимаю, это у Оракла такая политика что ли? Почему, даже казуальные продукты этой компании могут работать лишь при условии создания им идеальных условий. Возьмем например, Oracle 10XE - бесплатный учебный вариант их монстра 10g. Казалось бы: продукт предназначен для бегиннеров: студентов и джуниор девов, которые только начинают изучать платформу. И по идее, он должен быть идеально отлажен по двум причинам... подробнее

Кол. просмотров: общее - 2990 сегодня - 1

Переход с MySQL на PostgreSQL: аналог mysql_insert_id()
07-03-2010   
Кол. просмотров: общее - 3070 сегодня - 0

Наиболее популярные версии Oracle на сегодня
03-03-2010   

К сожалению, нельзя точно посчитать, какое кол-во инсталляций СУБД Oracle в мире, какой версии и на каких платформах. Существуют лишь различные приближенные оценки. Одна из таких методик подсчета - по кол-ву открытых service requestах (SR) на metalink.oracle.com... подробнее

Кол. просмотров: общее - 2906 сегодня - 1

Таблицы только для чтения в Oracle 11g Release 1
09-04-2009   

В предыдущих версиях Oracle, сделать таблицу только для чтения, для других пользователей можно было дав объектные привелегии SELECT пользователю. Но для самого владельца таблица оставалась доступной для записи. Oracle 11g позволяет создавать таблицы которые помечаются только для чтения, используя команду ALTER TABLE... подробнее

Кол. просмотров: общее - 3070 сегодня - 0



  WWW.COMPROG.RU - 2009-2012 | Designed and Powered by Zaipov Renat | Projects