Что такое oracle сервер

Обновлено: 03.07.2024

Выделяют три группы продуктов в семействе технологий Oracle: база данных, сервер приложений и система управления (Enterprise manager). Это основные компоненты для организации сетевых вычислений (grid computing). Основной концепцией для построения инфраструктуры (Grid-а) выступает виртуализация. Пользователи работают с информацией (обычно посредством веб-приложения), но они не знают и не должны знать откуда и как эти данные выводятся. Упрощённо – база данных отвечает за хранения и выдачу информации, сервер приложений – за инфраструктуру и развертывание служб нужных пользователю и система управления используется для администрирования и управления. Платформа или физические сервера используемые для работы не имеют значения для конечного пользователя. Виртуализация позволяет эффективно рапределять ресурсы, предоставляя максимальную производительность там где это нужно (балансировка нагрузки).

Сервер баз данных

Сервер баз данных Оракл включает в себя экземпляр (instance) базы данных и саму базу данных с множеством возможностей таких как потоки, партицирование, хранилище данных, репликация и RAC (Real Application Cluster), но самое главное, это надёжное, высоко-производительное хранилище данных, построенное на объектно-ориентированной системе для баз данных. Исторически, один из проектов в поздних 70-ых для поддержки теории предложенной Dr. E.F Codd, привел к созданию реляционной системы управления базами данных (РСУБД), со временем ставшую известной как Oracle Server. Oracle Server это основной продукт Oracle, который продолжает активно развиваться и является ядром других продуктов.

База данных – это набор файлов в дисковой системе. База существует пока существуют файлы. Теоретически нету ограничений по размеру и количеству файлов, таким образом нет ограничений размера базы данных. Доступ к данным происходит через экземпляр (instance) сервера базы данных. Инстанс – набор процессов и структур данных в памяти. Инстанс может быть стартован и остановлен. Пользователи подключаются к инстансу и уже инстанс управляет доступом к данным. Невозможно работать с данными напрямую. Инстанс и файлы базы данных вместе и создают Oracle сервер.

Такая модель доступа является клиент-серверной моделью, также известной как двухуровненой (two-tier) модель. В клиент-серверной модели пользовательский интерфейс и логика приложения не зависят от управления данными. Для приложения разработанного с использованием SQL это значит, что пользовательская часть приложения создаёт SQL запросы, а серверная часть исполняет их. Это классическое разделение клиентской и серверной части, обычно соединённой локальной сетью. Сетевой протокол используемый в Oracle – закрытый и называется Oracle Net.

Клиентская часть состоит из 2ух компонентов: пользователей и пользовательских процессов. В серверной части три составляющие: серверный процесс, который исполняет SQL запросы, instance и сама база данных. Каждый пользователь взаимодействует с пользовательски процессом. Пользовательский процесс взаимодействует с серверным процессом, обычно посредством локальной сети. Серверный процесс взаимодействует с экземпляром, и экземпляр с базой данных. Рисунок 1-1 показывает это взаимодействие. Сессия – это пользовательский процесс с серверным процессом. Обычно это один пользовательскйи процесс для пользователя и серверный процесс для каждого пользовательского процесса. Сессия обычно создается по запросу пользователя и уничтожается когда она больше не нужна: это называется log-on и log-off цикл. Экземпляр и структуры в памяти нужные для работы запускаются администратором и существуют пока администратор не остановит их: это называется запуск и остановка экземпляра.

1

Пользовательским процессом может выступать любое клиент-серверное приложение которые можнт подключится к Oracle серверу.Мы будет использовать SQL*Plus и SQL Developer. Это программное обеспечение предоставляемое Oracle-ом для подключения к серверу и выполнения SQL запросов. Что использует пользователь абсолютно не важно для Oracle сервер-а. Когда пользователь вводит данные и нажимает кнопку «Выполнить» будет сгенерирована команда, к примеру INSERT и отправлена команда серверному процессу для исполнения на инстансе и базе данных. Единственное требования это чтобы команда была корректной. Не стоит забывать что все взаимодействие осуществляется согласно клиент-серверной модели. Даже если пользовательский процесс запущен на той же самой системе что и сервер – клиент-серверное разделение всё равно работает и сетевой протокол использвется для взаимодействия между двумя процессами.

Сервер приложений

Возможно использовать отдельное соединение для каждого пользователя: каждый польователь будет создавать сессию к серверу приложений, а сервер приложений в свою очередь создавать подключение к базе данных. Однако, эта модель признана очень неэффективной по сравнению с пулами подключений (connection pooling model). Согласно модели пула подключений сервер приложений создает относительно небольшое количество соединения с базой данных и делает их доступными для запросов (помещая запросы в очередь при необходимости) для относительно большого количества пользователей сервера приложений. Рисунок 1-2 показывает трех-уровневую модель доступа и использованием пула запросов.

С точки зрения базы данных, нет абсолютно никакой разницы между запросами из SQL*Plus или пула запросов. В первом случае пользовательский процесс происходит на одной машине, во втором случае пользовательский процесс разбит на 2 уровня: сервер приложений генерирует пользовательский интерфейс и пользовательский уровень отображает его.

2

Enterprise Manager

Увеличение объёма и сложности IT установок может сделать управление компонентами достаточно сложной процедурой. Инструменты управления могут сделать эту задачу легче, и занчительно повысить производительность сотрудников.

Oracle Enterprise Manager включает в себя 3 группы инструментов:

*Управление базой данных (Database Control)

*Управление сервером приложений (Application Server Control)

*Управление инфраструктурой (Oracle Enterprise Manager Grid Control)

Управление базой данных – графический инструмент для управление одной базой данных, которая может быть RAC кластером. Есть возможности управления и мониторинга в режиме реального времени, планировщик задач и резервного копирования, генерация отчётности.

Управление сервером приложений – инстурмент для управления серверами приложений. Технология управления несколькими серврами зависит от версии. До 10gR2 включительно используется технологий «ферма», с ерпозиторием мета-данных и центральным управляющим входом. Эта модель закрытая и предоставляет отличные позможности для установки и поддержи приложений. Начиная с версии 10gR3 используется технологий основанная на J2EE кластеризации.

Oracle Enterprise Manager Grid Control обобщает управление инфраструктурой. Репозиторий (находящийся внутри базы данных Oracle) и один или несколько серверов управляют всей средой: всеми базами данных и серверами приложений, расположенными где-угодно. Данный инструмент также может управлять узлами, или машинами на которых запущены сервера и, с помощью плагинов, различными сторонними продуктами. Каждый управляемый узел запускает процесс, который ответственнен за мониторинг управляемых процессов на узле: этот процесс выполняет разные задачи и возвращает результаты на сервер управления.

Oracle Enterprise Manager Grid Control даёт целостное представление обо всей инфраструктуре и может кардинально улучшать производительность администраторов. С его помощью один администратор может обслуживать десятки и сотни серверов.

Инструменты разработчика Oracle

Встроенные языки

SQL используется для работы с данными, но на нём нельзя создать полноценное приложение, так как нет возможности для создания пользовательского интерфейса и отсутствует поддержка сложных структур данных. Два других внутренних языка программирвоания устраняют эти пробелы. Это PL/SQL и Java. PL/SQL – язык третьего уровня и является собственностью Oracle. Он поддерживает стандартные управляющие конструкции: алгоритмы ветвления (if then else) и циклы, и имеет возможность создания пользовательского интерфейса. SQL запросы могуть быть частью PL/SQL кода, таким образом, программа PL/SQL может использовать SQL для получения данных из базы данных, выполнять определенные действия в зависимости от данных, и затем выполнять другие запросы для записи данных назад в базу. Java так же может выполнять SQL запросы, написанные внутри Java кода. Это стандарт технологии: любой Java программист должен быть способен написать код, который будет работать в базе данных Oracle (либо другой Java-совместимой базе данных).

Все администраторы баз данных должны хорошо знать SQL и PL/SQL. Это стандартное и необходимое требование.

Знание Java уже не особо обязательно, так как Java редко используется в базе данных. Раньше Oracle Application Server не мог запускать некоторые стандартные компоненты (к примеру Servlet-ы и EJB). Чтобы устранить это Oracle разработали Java машину встроенную в базу данных, которая соответствует стандартам. Как бы то ни было, начиная с Oracle Application Server 9i, стало возможным запускать J2EE компоненты там, где им и положено быть: на сервере приложений. Благодаря этому стало запускать меньше Java кода внутри базы данных.

Обычно DBA (database administrator) проводят много времени над задачами повышения производительности и отладки SQL и PL/SQL кода. С точки зрения Oracle – администратор должен находить проблемные участки и передавать разработчику для исправления, однако на практике разработчикам не хватает знания (или желания) делать это и администраторам приходится брать на себя эту роль.

Сторонние языки программирования

Другие языки программирования доступные для создания клиент-серверных приложения запускают вне базы-данных. Наиболее широко используются С и Java, но возможно использовать почти все популярные запросы третьего-уровня. Для большинства языков Oracle предоставляет OCI (Oracle Call Interface) библиотеки, которые позволяют подключаться к базе данных и выполнять SQL запросы.

Программы написанные на C или другом процедурном языке используют OCI библиотеки для создания подключения к базе данных. Эти библиотеки являются собственностью Oracle. Это значит что любой код, написанный с использование этих библиотек написан только для Oracle базы данных и должен быть переписан для работы с другими базами данных. Программы написанные на языке Java могут избежать этой проблемы. Oracle предоставляет возможности для подключения к базе с помощью Java для «толстых» (thich) и «тонких» (thin) клиентов.

«Толстый» клиент направлен на работу с Oracle. Он использует OCI библиотеку и может использовать все возможности базы данных, включая структурные особенности Oracle. Но такой клиент не сможет работать с другими базами данных, и необходима OCI библиотека для работы.

«Тонкий» клиент работает вне зависимости от типа базы данных: он работает с виртуальной базой согласно Java стандарту, и позволяет соотносить виртуальную базу с базой. Это даёт приложению возможность работать с любой другой базой данных и такое приложение может быть развёрнуто в не-Oracle среде без изменений. Однако функциональность огранчена только Java Database Connectivity (JDBC) стандартом.

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

Набор разработчика от Oracle

Некоторые не хотят использовать языки программирования для разработки приложений для работы с базой данных. Оракл предлагает средства для разработки в составе Oracle Developer Suite. В принципе результат разработки с помощью этих средст примерно такой же: генерация SQL запросов, которые посылаются к базе данных для обработки.

С помощью Oracle Forms Developer можно создать приложение, которое запускается на сервере приложений Oracle и отображается в браузере. Такие приложения легко разрабатывать и они оптимизированы для взаимодействия с объетами базы данных. Специальные макросы и компоненты позволяют создавать веб-приложения с богатым функционалом.

Oracle Reports – это инструмент для создания и форматирования отчётов, как по запросу так и по расписанию. Готовые отчёты кешируются для выдачи. Oracle Reports, так же как и Oracle Forms, это среда разработки и требуются навыки программиста для создания специальных отчётов. Большим преимуществом при использовании Oracle Reports является то, что результат можно настраивать каким угодно способом, чтобы достичь желаемого результата.

Oracle Discoverer – это иснтрумент для генерации специальных отчётов, позволяющий пользователем самим создавать себе необходимую отчётность. Когда Oracle Discover установлен и настроен на сервере приложений, больше не нужны услуги программиста и пользователи сами делают что им нужно.

Антон Меринов

Обзор возможностей. характеристик и сфер применения СУБД Oracle

На мировом рынке корпоративных систем управления базами данных (СУБД) доминирующее положение занимает традиционная тройка продуктов: IBM DB2, Microsoft SQL Server и Oracle. Более 80% рынка СУБД в течение долгих лет контролируется тремя компаниями производителями: IBM, Oracle и Microsoft. По статистическим данным на рынке России лидирующее положение занимает Oracle, так как по статистическим данным за 2010 год, данная СУБД занимает более 60% всего рынка, среди других СУБД и около 30% мирового рынка СУБД. В 2017г. показатели по России не изменились, а в международном масштабе выросли.

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

Компания Oracle была основана нынешним президентом компаний Лэрри Элисоном и Роберттом Майнором в 1977 году, в Рэдвуде, штат калифорния. Первая реляционная СУБД фирмы базировалась на модели IBM System/R и была первой системой, в которой использовался язык SQL, разработанный фирмой IBM.

На сегодняшний день СУБД Oracle поддерживают свыше 80 вариантов операционной среды в широком диапазоне, включая мэйнфреймы IBM, мини-компьютеры DEC VAX, UNIX, Windows и множество других платформ.

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

Для интернет-систем (public) и систем масштаба крупной организации (enterprise) предлагается продукт Oracle9i Database Enterprise Edition (корпоративная редакция), для которого имеется целый набор опций, архитектурно и функционально расширяющих возможности сервера. Продукт Oracle9i Database Standard Edition (стандартная редакция) ориентирован на организации среднего масштаба или подразделения в составе крупной организации (workgroup). Для персонального использования предлагается "персональный Oracle" (Oracle9i Database Personal Edition) , и для систем мобильной связи и небольших офисов — Oracle9i Database Lite. В стандартной, персональной и мобильной редакциях основной акцент сделан на невысокую стоимость, простоту установки и сопровождения. При этом все варианты сервера Oracle имеют в своей основе один и тот же исходный код и функционально идентичны , за исключением некоторых дополнительных опций, которые необходимы для специфических конфигураций (например, для поддержки кластерных архитектур необходима опция Oracle9i Real Application Clusters).

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

Одной из основных характеристик СУБД Oracle является функционирование системы на большинстве платформ. В том числе на больших ЭВМ, UNIX-серверах, персональных компьютерах и т. д.

При использовании расширенного портфеля серверных решений x86 и SPARC обеспечивается высокая производительность, надежность и доступность локальных корпоративных рабочих нагрузок заказчиков. Каждый сервер оптимизирован для выполнения корпоративных приложений, приложений Java и рабочих нагрузок Oracle Database с пиковой производительностью. Благодаря серверам Oracle компании могут уменьшить необходимое им количество серверов и снизить общую стоимость владения (ТСО).

Серверы Oracle

Максимальная производительность приложений с серверами Oracle x86 Повышение производительности и уровня безопасности с серверами Oracle SPARC

Узнайте, как компании повышают производительность, эффективность и уровень безопасности сред UNIX благодаря серверам Oracle SPARC M8 и T8.

Отличия серверов Oracle

Оптимизировано для программного обеспечения Oracle

Заказчики достигают исключительной производительности, экономической эффективности и безопасности критически важных для бизнеса нагрузок с помощью серверов Oracle. Заказчики также увеличивают время безотказной работы приложений Oracle, выполняя их на любом сервере Oracle, а приложения Java работают в 2 раза быстрее на серверах Oracle SPARC с использованием уникальных встроенных ускорителей 1 .

Интегрированная сквозная безопасность

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

Максимальная доступность

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

Снижение стоимости и повышение ценности

Заказчики могут сократить капитальные расходы и затраты на управление за счет консолидации важных корпоративных нагрузок на меньшем количестве систем благодаря высокопроизводительным серверам Oracle. Общая стоимость владения для организации ниже, так как виртуализация и операционная система включены без дополнительных затрат. Oracle Premier Support for systems включает единый центр Oracle Enterprise Manager Ops Center, который позволяет упростить административные нагрузки и снизить затраты.

Сегодняшняя номенклатура серверов 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 потребует кое о чем забыть, а кое-что выучить на иной манер. (Для примера и в дополнение к сказанному выше — совсем по-другому выглядит одинаковая для всех остальных типов серверов процедура установки системы. Загляните в каталог RDBMS\Admin и убедитесь в отсутствии SQL-сценариев, знакомых по всем операционным средам и по всем трем серверным разновидностям.)

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

Открываем тему — потому что в рамках одной статьи рассказать про восемь различных программно-аппаратных комплексов Oracle можно только в формате «открытия темы». Поэтому сегодня мы «пробежимся» по Exadata, Exalogic, SuperCluster, Exalytics, Database Appliance, Big Data Appliance, Private Cloud Appliance и Zero Data Loss Recovery Appliance, а в других материалах будем обсуждать каждую продуктовую линию отдельно и детально.


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

Аппаратное обеспечение и программное обеспечение проектируются, тестируются и отлаживаются совместно. И если вы знаете, на каком оборудовании будут работать приложения, то вы можете добиться высочайшей производительности, вероятность «сюрпризов» от несовместимости компонентов при этом становится меньше, а оказание поддержки — проще. Заказчикам не приходится подбирать и оптимизировать компоненты — серверы, диски, процессоры, сетевые компоненты, память и т.п. Устанавливать и настраивать программное обеспечение, тестировать работоспособность каждого сервера, заниматься их последующим обновлением и т.п. тоже не нужно. Существенно упрощается обслуживание ИТ-инфраструктуры. Именно в этом заключается идея программно-аппаратных комплексов, которые компания Oracle начала создавать с 2008 г. — самостоятельно разрабатывать программно-аппаратные конфигурации для достижения наивысшей производительности.

Машины Exadata были дебютом Oracle в жанре программно-аппаратных комплексов. Exadata — это машина, предназначенная исключительно для выполнения СУБД Oracle. Она используется для OLTP-нагрузок, для хранилищ данных, для смешанных нагрузок, для консолидации приложений на базе Oracle Database. На аппаратном уровне Exadata в зависимости от конфигурации — это и быстрая дисковая подсистема и 40-гигабитная сеть Infiniband, а также многотерабайтная оперативная память и FLASH-память на десятки терабайт. То есть, с аппаратной точки зрения — это очень быстрые и мощные машины.


Но важнейшей особенностью архитектуры Exadata являются так называемые ячейки (рис. 1). Каждая ячейка Exadata — это самостоятельный сервер с 12 дисками и специальным ПО Exadata Software. Ячейки Exadata — это не просто серверы хранения, они умеют выполнять множество операций самостоятельно. Это операции, которые в традиционной архитектуре делает сама СУБД Oracle — тем самым серверы баз данных разгружаются для других операций. Не всегда очевидный, но очень важный момент — многие ресурсоемкие запросы требуют перекачки больших объемов данных с дисков по сети на сервера СУБД Oracle для обработки. В случае использования ячеек, зачастую удается отфильтровать заведомо ненужные данные прямо на системе хранения, чтобы передавать в СУБД требовалось только ничтожную часть первоначального объема данных. Это позволяет в некоторых случаях увеличивать производитльность запросов в десятки и сотни раз. Ячейки не связаны между собой непосредственно, что позволяет распараллеливать запросы без накладных расходов. Количество ячеек в системе неограниченно, при этом данные «размазаны» между многими ячейками Exadata.

Важно понимать, что даже если самостоятельно собрать похожий аппаратный комплекс на оборудовании Oracle или других производителей, создать на его основе систему, аналогичную Exadata не получится. Дело в том, что программное обеспечение Exadata, которое отвечает за большую часть преимуществ Exadata, включая гибридно-колоночную компрессию, индексы хранения, работа c FLASH-картами и т.д., поставляется только с Exadata. Благодаря оптимизации, которую проходят комплексы Exadata и использованию Exadata Software, система в целом работает в разы быстрее, чем любые аналогичные, но обычные, неоптимизированные конфигурации.

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

Изначально Oracle Database Appliance задумывали, как машину для базы данных Oracle, но затем заказчики получили возможность устанавливать на эту конфигурацию виртуальную машину Oracle и разворачивать на ней полноценные решения — со слоями приложений, базы данных и т.д. А поскольку виртуальная машина Oracle поддерживает частичное лицензирование, можно лицензировать одни процессорные ядра только для виртуальной машины и серверов приложений, другие — только для слоя базы данных и т.д.

Oracle Exalogic — это Exadata «наоборот», аналогичная машина, оптимизированная для выполнения слоя приложений Oracle. Exalogic, построенная на архитектуре Intel, предлагает высочайшую производительность для Oracle Fusion Middleware, приложений Oracle (таких как Oracle E-Business Suite, Utilities, Siebel и т.д.) и виртуальных машин, она оптимизирована для приложений WebLogic.


Exalogic — это очень мощная машина. У нее до 30 вычислительных узлов, до 1080 ядер Xeon, встроенное хранилище для огромных объемов данных — дисковый массив ZFS на 80 ТБ. Конечно, заказчик может создать подобную конфигурацию сам, но тогда у него не будет главного — флажка «Enable Exalogic Optimizations» на панели администратора (рис. 2). А он включает многочисленные оптимизации и специальныое ПО, которое позволяет, как и в случае Exadata, значительно ускорить систему, по сравнению с обычными конфигурациями.

Oracle SuperCluster — это машина, которая сочетает в себе возможности Exadata и Exalogic на платформе SPARC. Фактически это машина для консолидации — на нее можно установить базу данных, слой приложений и настроить все это для совместной работы с использованием всех преимуществ SPARC-платформы, включая виртуализацию, отказоустойчивость и т.д. При этом на SuperCluster используются ячейки Exadata для ускорения работы базы данных. Но самое большое преимущество можно получить, когда на одном SuperCluster разворачивается целиком целая система, например, система Oracle E-Business Suite, или система SAP, которая состоит из серверов приложений и базы данных Oracle.


Сейчас существуют две продуктовые линии SuperCluster: одна на процессоре Т5, вторая — на процессорах М6. На рис. 3 приведено сравнение конфигураций SuperCluster Т5-8 и М6-32. Одно из основных преимуществ SuperCluster М6-32 — это огромный объем оперативной памяти, до 32 ТБ, а также 384 процессорных ядра. Если ваша бизнес-система требовательна к количеству процессоров, к объему оперативной памяти и, возможно, не слишком хорошо приспособлена для работы в кластере, то SuperCluster М6-32 закроет все потребности даже такой «капризной» системы.

Машина Oracle Exalytics предназначена для ускорения слоя бизнес-аналитики. Ее главные возможности — это ускорение работы Oracle Business Intelligence и Oracle Essbase благодаря использованию большого объема оперативной памяти, интеграция с Exadata, ускорение отчетов и задач планирования и бюджетирования, поддержка большого количества пользователей, использование технологий In-Memory технологий: Oracle TimesTen или Oracle Database с опцией ln-Memory.

Exalytics версии X5-4 имеет до 3 ТБ оперативной памяти, 72 процессорных ядра Intel, FLASH-хранилище объемом 4,8 ТБ и жесткие диски суммарным объемом 7,2 ТБ. Exalytics версии T5-8 — еще более «богатая» машина, у нее 4 ТБ оперативной памяти, 128 процессорных ядер SPARC T5 и 3,2 ТБ FLASH-памяти. Эту огромную вычислительную мощь имеет смысл использовать с огромным количеством одновременно работающих пользователей аналитической системы, в том числе для поддержки хранилищ данных, работающих на альтернативных платформах, и испытывающих проблемы с производительностью.

Oracle Private Cloud Appliance — это инфраструктура для быстрого развертывания виртуальных машин на базе Oracle VM. Это удобный в использовании комплекс, который позволяет вам очень быстро развертывать виртуальные машины и управлять ими. Виртуальные машины создаются вручную из ISO-образов или из шаблонов Oracle VM. В Private Cloud Appliance, можно, например, создать простую виртуальную машину вроде Oracle Linux VM или Solaris VM за одну минуту, а 16-узловой кластер Oracle RAC — примерно за 45 минут. Кроме того, в OPCA используется относительно недавно приобретенная Oracle система SDN (Software Define Network) для быстрого создания и управления виртуальными сетями.

Инфраструктура предназначена для работы с Intel-ориентированными виртуальными машинами (Linux, Solaris, Windows). Можно приобрести минимальную двухузловую конфигурацию и наращивать ее до 25 узлов. Число процессорных ядер в такой максимальной конфигурации составит 900 (по 36 на узел), объем памяти — 6,4 ТБ (по 256 ГБ на узел). У системы есть небольшое собственное хранилище (ZFS Storage), но предполагается, что виртуальные машины будут использовать системы хранения, которыми располагает заказчик.

Oracle Zero Data Loss Recovery Appliance — это первый в мире программно-аппаратный комплекс, созданный специально для защиты баз данных Oracle. Recovery Appliance обеспечивает непрерывную защиту бизнес-критичных баз данных, выполняя всю обработку процессов резервного копирования, чтобы минимизировать нагрузку на производственные сервера. Оно исключает риск потери данных и резко снижает накладные расходы, связанные с защитой данных на производственных серверах. Кроме того, Recovery Appliance масштабируется для защиты тысяч баз данных, гарантирует сквозную проверку достоверности данных, а также реализует полный жизненный цикл защиты данных, включая резервное копирование на диск, резервное копирование на магнитную ленту и дистанционную репликацию.

Новые возможности Oracle Zero Data Loss Recovery Appliance тесно интегрируются с функциями СУБД Oracle и утилитой Recovery Manager (RMAN) для резервного копирования. Recovery Appliance реализует архитектуру только инкрементного (incremental forever) резервного копирования, чтобы минимизировать нагрузку на производственные системы.

Основная цель Recovery Appliance — исключить потери критически важной информации в базе данных. Передача журналов транзакций Redo в режиме реального времени на резервную БД была впервые реализована в технологии Oracle Data Guard. Recovery Appliance распространяет эту технологию на все базы данных простым и экономически эффективным способом. Recovery Appliance предлагает такой же уровень защиты данных, как и Data Guard, для баз данных, где не требуется быстрое переключение на резервную БД.

Система Recovery Appliance «понимает» внутренние форматы блоков СУБД Oracle, что позволяет производить проверку целостности данных на глубоком уровне. Целостность данных во всех резервных копиях и блоках Redo автоматически проверяется при их получении системой Recovery Appliance.

Recovery Appliance автоматизирует и принимает на себя управление всеми процессами полного и инкрементного резервного копирования на ленты. В качестве опции в программно-аппаратном комплексе Recovery Appliance могут быть установлены адаптеры Fibre Channel 16 Гбит/с для пересылки данных непосредственно из Recovery Appliance на ленточные библиотеки с использованием входящего в комплект поставки высоко интегрированного ПО Oracle Secure Backup для управления.

Сегодня с потребностью обработки гигантских объемов данных сталкиваются многие компании, которые должны заниматься глубоким анализом поведения клиентов, планировать высокоточную рекламу, объединять и анализировать данные из многих источников, в том числе неструктурированных, бороться с мошенничествами и т.д.

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

Читайте также: