ЧТО НАС ЖДЕТ В ORACLE 9I ?
21 февраля 2001 г.
Владимир Пржиялковский
Обзор по Oracle9i
"Там счастье, друг! Tуда! Туда
Мечта зовет! Там сердцем я всегда!"
И.В.Гете "Мина"
(в вольном переводе В.А.Жуковского)
Для специалистов, работающих с Oracle, самым главным событием первого года нового тысячелетия должно, безусловно, стать появление "версии 9i". События развиваются достаточно стремительно: официальное объявление новой версии широкой публике произошло в Англии в декабре 2000 года, а выход на рынок сервера 9i предполагается в первой половине этого года. Для сотен тысяч пользователей Oracle смена версии вызывает вовсе не праздное любопытство, так как непосредственно влияет на их работу. К чему сегодня, в преддверии нововведения, следует готовиться ?
Пока новая версия недоступна (оговорки см. ниже), сведения о ней можно почерпнуть только со слов других. В качестве таких "других" нам послужат директор по маркетингу 9i в фирме Oracle Скот Клосон (Scott Clawson) и старший директор по маркетингу 9i Боб Шимп (Bob Shimp). Эти сотрудники Oracle помогут нам лучше понять общую идею 9i и назначения и мотивацию отдельных решений. Независимую сторону представит Дональд Берлисон (Donald Burleson), хорошо известный пользователям Oracle своими техническими статьями и книгами по системе,
объединяющей всех нас, а так же Филип Рассом (Philip Russom) из Hurwitz Group.
Выступления этих специалистов в Internet
(www.techrepublic.com/article.jhtml?id=r00220001214jim02.htm,
searchdatabase.techtarget.com/searchDatabase_Q_A_Page/ 0,285141,506376,00.html,
searchdatabase.techtarget.com/searchDatabase_Q_A_Page/ 0,285141,506741,00.html;
а так же http://www.oracle.com/ip/index.html?content.html
и www.erpsupersite.com/TR/TR-hw9i.htm) послужили основным материалом для текста, предлагаемого ниже.
Общие сведения о 9i
Изменения в главном названии
Версия Oracle 8i продолжила существующую традицию по части объема понятия: термин Oracle 8i обозначал СУБД и ее ближайшее окружение. В противовес этому, термин Oracle 9i предполагается использовать в качестве "зонтичного" названия для двух ключевых серверных продуктов фирмы Oracle: Oracle 9i Application Server и Oracle 9i Database. Разумеется, за последним термином скрывается СУБД, однако это - терминология, предлагаемая фирмой.
При этом первый из этой пары продуктов - Oracle 9i Application Server - уже присутствует на рынке с октября прошлого года, а собственно нынешнее ожидание связано со вторым - Oracle 9i Database. Несмотря на подобную относительную самостоятельность Oracle 9i Application Server (Oracle 9i AS) следует, видимо, ожидать, что в полном соответствии с задуманным этот продукт будет функционировать только с момента появления СУБД новой версии.
Таким образом, 75 разных серверных программных продуктов в текущей версии оказались сведены к двум основным и общему названию - Oracle 9i.
На web-узле фирмы присутствует еще и третий "обобщенный продукт": Oracle 9i Developer Suite. Это прямой наследник нынешней среды разработки приложения Developer Suite, также обогащенный серией новшеств. Oracle 9i Developer Suite не является серверным продуктом и, попадая в иную категорию, здесь не рассматривается.
Что скрывается за сужением "номенклатуры названий" в 9i ?
Сведение более чем семи десятков разных названий в номенклатуре серверных продуктов Oracle к двум базовым предназначено дать в распоряжение пользователям единую целостную среду разработки Internet-приложений. Представители фирмы иллюстрируют мотивацию такого сужения следующим образом. Или вы приобретаете единую систему Oracle 9i AS, управляемую с одной консоли, или набираете "корзину" из WebLogic фирмы BEA, систему Plumtree для создания портала, Times Ten для быстрой работы с данными, Inktomi для web-кеширования, Phone.com и Nokia для поддержки беспроводного доступа, Netscape для организации web-узла и так далее. Каждая из перечисленных систем требует отдельной консоли управления и отдельных знаний по эксплуатации.
Сужение номенклатуры названий отражает прежнюю приверженность фирмы линии <нескольких больших серверов> в противовес <десятков маленьких>.
Главнейшее нововведение в 9i Application Server
Объявлено, что главнейшим новшеством Oracle 9i Application Server является использование патентованной технологии кеширования. Таким образом, это новшество носит технологический характер и связано исключительно с web. А вот причины, по которым, по мнению представителей Oracle, адресуемые этой технологией проблемы обретают прикладную окраску. Без их решения:
- Web-узел имеет низкое время отклика;
- плохо выдерживает пиковые нагрузки.
В результате:
- разработчики узла вынуждены ориентироваться в большей степени на статичное представление данных (что, по мнению представителей Oracle, делает его менее привлекательным);
- для поддержания постоянного времени реакции с учетом неравномерных нагрузок в инфраструктуру web-узла приходится вкладывать деньги с "запасом";
- масштабируемость узла в долгосрочном аспекте становится неясной.
Согласно представителям Oracle, в фирме уже есть опыт использования новой технологии кеширования. Так, в августе 2000 года эта технология была применена на одном из самых посещаемых узлов мира - Oracle.com - что дало четырехкратное увеличение числа обслуживаемых одновременно страниц. А более позднее применение новой технологии кеширования в узле продаж Oracle Store привел в фантастическому росту пропускной способности: в 150 раз (!). Сегодня этот узел ежесекундно обрабатывает 7500 запросов.
Важнейшие новшества в Oracle 9i Database
Они связываются с техникой поддержки data mining и data warehousing. Ключевое слово здесь для Oracle - интеллектуализация автоматизированных систем (business intelligence platform, BI). Очевидно, это дань (в современном духе) упущенным в свое время из зоны внимания разработчиками СУБД технологиям в угоду сравнительно простым "учетно-отчетным" системам. Обещано, что в состав Oracle 9i Database будут включены средства OLAP, data mining, а так же средства извлечения, преобразования и загрузки (ETL tools) для хранилищ данных. Когда ETL-средства окажутся собраны на одном сервере БД, то, по мнению Oracle, отпадет нужда в длительном и дорогом процессе извлечения больших объемов данных "на стороне" для загрузки их в базу под управлением Oracle. Кроме того на эти же процессы автоматически окажутся распространены категории масштабирования, которыми обладает сервер БД Oracle (подробнее см. ниже).
Предполагаются и новшества другого порядка. Так, в Oracle 9i Database должна быть встроена возможности персонализации в реальном времени. Назначение этой возможности опять-таки связано с web, но в аспекте электронной коммерции. В существующих технологиях индивидуальные рекомендации, выдаваемые посетителям web-узла, строятся на накопленной в БД истории посещений пользователя. Новая технология Oracle даст возможность, вдобавок к этому, выдавать в реальном времени еще и рекомендации, отталкиваясь от текущего поведения посетителя web-страниц (подробнее также см. ниже).
9i и аренда приложений
Oracle 9i разрабатывается с учетом активного использования в системах типа "аренда приложений" (ASP). Здесь фирмой предложено много интересного, и остается только проследить, насколько адекватно и удобно это все будет реализовано. В связи с ASP можно указать на два ключевых средства.
Oracle 9i Real Application Clusters - средство, позволяющее увеличивать пропускную способность приложения за счет простого наращивания числа серверов и устройств для хранения данных. На управленческом уровне это средство трансформируется в идиому "плати по мере собственного роста" (а не, к примеру, с упреждением). Как оно смотрится технически - скоро будет видно.
Oracle 9i Data Guard призвано обеспечить нулевое время простоя при возникновении технологических сбоев. Переключение с рабочего сервера на резервный (standby) и обратно обещано "нажатием клавиши".
Помимо этого предусмотрены средства автоматического управления системой ("самоуправления"), самонастройки и фиксации диагностики разного уровня с возможностью уточнения проблем по выдаваемым отчетам.
Некоторые технические подробности
Новые возможности в SQL Oracle
Диалект SQL, который реализован в Oracle, заметно изменился за последние четыре года. Тенденция к изменчивости сохранится и в 9i. Так, балансировка между ANSI-стандартом на SQL и введением в язык собственных конструкций и функций и раньше составляла непростой предмет выбора для руководства. В версии 9i принято несколько таких решений по сознательному отходу от стандарта ANSI в угоду производительности конкретно Oracle.
В OLAP-машину Oracle вставлен прямой интерфейс к Java, что повышает реактивность SQL-запросов, генерируемых внешними порталами в Internet.
Помимо этого добавлены некоторые расширения SQL, позволяющие более оперативно обрабатывать большие объемы данных:
- функции LEAD и LAG в SQL могут быть использованы для быстрого анализа временных рядов, хранящихся в хранилищах данных (простое агрегирование данных за периоды времени)
- функции ранжирования помогают выполнять традиционные для OLAP-приложений действия типа "выдать первую десятку", "последнюю десятку", "первые/последние 10%" (некоторые из этих функций начали появляться уже в 8i)
- функции группирования - распределения данных по группам типа возрастных или уровней дохода
- целый ряд статистических функций
Упрощение конфигурирования
Как известно, конфигурация экземпляра Oracle задается в конечном счете набором текстовых файлов, разбросанных по разным каталогам. У разных файлов может быть несовпадающий и неочевидный синтаксис, так что работа с ними не всегда проста.
В версии 8 уже делалась попытка ввести графические инструменты редактирования конфигурационных файлов, однако в 9i обещано, что они станут более интуитивны и удобны.
Переконфигурирование SGA в процессе работы
Объявлено, что в версии 9i Database появится возможность изменять параметры SGA без необходимой в таких случаях для прежних версий остановки и перезапуске системы. Например, если администратор обнаружит нехватку места в shared pool, он сможет присоединить к этой области часть памяти из буферов данных. Для систем, эксплуатируемых круглосуточно - например, в Internet - это нововведение выглядит весьма привлекательно.
Возможность чтения он-лайновых журналов
В новой версии он-лайновые журналы смогут участвовать в восстановлении (recovery) данных. Раньше читать он-лайновые журналы было нельзя. Теперь, к примеру, можно будет клонировать работающую базу и поддерживать ее далее в синхронном состоянии по отношению к основной.
Средства извлечения, преобразования и загрузки данных (ETL)
Раньше эти средства непосредственно в Oracle отсутствовали (как пока отсутствуют и сейчас), так что для загрузки хранилища данных из операционной БД приходилось обращаться к посторонним системам, либо писать свои программы обработки (переформатирования, построения сверток, отсева и коррекции данных и т. д.). В версии 9i они будут доступны, не в последней степени за счет возможностей одного из последних приобретений Oracle - фирмы Carleton Software. Три основных направления функциональности ETL-средств в Oracle включают в себя возможности:
- извлечения:
фаза извлечения в ETL-ПО формируется из набора SQL-запросов (на диалекте Oracle) к операционной БД;
- преобразования:
фаза преобразования включает в себя агрегирование операционных данных, представленных в исходной БД с ненужной для склада данных степенью детальности. Фирма утверждает о наличии в 9i автоматического агрегирования данных для загрузки в хранилище, но более точная информация об этом пока недоступна. Можно вспомнить также, что преобразование данных иногда включает в себя возможности обращения к внешним метаданным и очистки;
- загрузка:
новое решение задачи, выполнявшейся ранее в Oracle средствами SQL*Loader.
Машина рекомендаций
В web-узлах для электронной коммерции часто возникает задача отслеживать поведение посетителя и выдавать ему рекомендации о покупках на основе производившегося им поиска, перебора страниц или уже сделанных приобретений. В Oracle 9i сбор такой индивидуальной информации для посетителей узла ведется с использованием встроенных средств персонализации. Источником подобной информации служит web-сервер.
Очевидной "мишенью" для машины рекомендаций служат системы розничной продажи в Internet. Oracle ставит целью сделать такие системы "автоматически" (путем простого использования своих продуктов) более разумными в поведении (в смысле BI).
Cache Fusion
Уже более четырех лет как в Oracle существует технология параллельного сервера (OPS). Вспомним, что в OPS речь идет о работе нескольких экземпляров СУБД одновременно с одной базой данных. Буфер блоков данных при этом у каждого экземпляра свой. В 9i идея OPS получает свое развитие под названием Cache Fusion; в этом случае параллельно работающие экземпляры СУБД имеют общее буферное пространство; буфера "спеклись в единое целое".
Первоначально архитектура OPS проектировалась из расчета на MPP-компьютерные системы ("массивно параллельные", в которых узлы имеют полный комплект устройств самостоятельного компьютера, включая процессор, ОЗУ и дисковую память). Тем не менее OPS требует права каждого экземпляра СУБД работать с блоками данных из "чужого" буфера. Для реализации этого права в Oracle устроен "встроенный диспетчер блокировок в распределенной среде" (Integrated Distributed Lock Manager, IDLM). IDLM отвечает за передачу блоков от одного экземпляра к другому и является компонентой Cache Fusion. Таким образом Cache Fusion способен быстро "раздать" нужные блоки по разным экземплярам СУБД, формируя образ "единого буфера".
Безопасность
Разграничению доступа к данным фирма Oracle всегда уделяла повышенное внимание. В 9i получит дальнейшее развитие система виртуальных частных БД (VPD), появившаяся в версии 8.
Основная цель - контролировать доступ к базам данных под Oracle со стороны web-серверов.
Продвинется дальше используемая в Oracle уже сегодня технология шифрования данных в базе. Для предотвращения неавторизованного доступа к данным через web будет задействована возможность использования самостоятельных серверов аутентификации.
Java и XML
Взяв ориентиром Internet, Oracle не может не предложить нового по части работы с этой "дружной" парой технологий в 9i (отдельные решения по Java уже упоминались выше). Так, обещано увеличить число структур классов Java для простого взаимодействия с XML-источниками.
Здесь снова разработчиков систем ждет отход от привычного. Раньше для общения с другими БД требовалась установка соединений база-база с помощью Net8. Теперь в web можно взаимодействовать по протоколу XML. Для организации связи с удаленной БД потребуется сообщить IP-адрес, номер порта и протокол XML. (Естественно ожидать, что этот способ придет не на смену, а в дополнение к прежнему). Это как раз то, что требуется для систем электронной коммерции в нынешнем их понимании.
Data mining
Data mining - это несколько расплывчатый и изрядно подпорченный коммерческой рекламой термин, общий смысл которого все-таки можно выразить как "поиск закономерностей в больших объемах данных на основе исследования математическими методами". В 1999 году фирма Oracle приобрела продукт Darwin, решающий некоторые из широкого спектра задач data mining, и с тех пор ведет постоянную работу по сопряжению Darwin со своими базовыми продуктами и по его развитию. Ожидается, что шаги в этом направлении будут сделаны и в 9i.
Data mining - хотя и многообещающая, но достаточно специфичная область использования БД. Она требует определенного уровня математической квалификации и предъявляет большие запросы к производительности СУБД и объемам БД. Пользователи Oracle вольны в этой области также обращать внимание и на аналогичные продукты третьих фирм, так что прогнозировать поведение их сейчас довольно сложно.
Ценообразование
Last, but not least. Для наших пользователей этот аспект постепенно начинает играть все возрастающую роль по сравнению с технологическим, традиционно для нас пока еще важнейшим. Для Oracle 9i Database "формула цены" пока не выписана, а для Oracle 9i AS она может быть одной из двух видов: на базе "именованных пользователей" (подсчитывается чисо пользователей, работающих с системой) и на базе "единицы компьютерной мощности" (когда пользователей сосчитать невозможно, как например, в web-приложениях).
Так, для Oracle 9i AS Standard Edition (Apache + J2EE Server + Portal) стоимость одной единицы мощности составляет 5 долларов, а стоимость одного именованного пользователя - 35 долларов. Для Oracle 9i AS Enterprise Edition (то же, что выше, плюс Cache + Forms + Reports + Discoverer) стоимость одной единицы мощности составляет 30 долларов, а стоимость одного именованного пользователя - 200 долларов. Для Oracle 9i Wireless Edition (вариант для мобильных устройств) стоимость одной единицы мощности составляет 150 долларов.
То есть, если приобретается Oracle 9i AS Standard Edition для двухпроцессорного Intel-сервера с частотами по 800 Мгц, то стоимость определится так: 5 долл. (за единицу мощности) х 2 (процессора) х 800 (Мгц) = 8000 долл. при покупке через Oracle Store в web. Существует еще скидка за объем покупки, так что в результате конечная цена может оказаться еще ниже, например, 7600 долл.
|