Информационные технологии
Операционные системы
Информационные технологии
Информационные технологии представляют собой широкий класс дисциплин и сфер деятельности, которые относятся к технологиям создания, хранения, управления, ... читать далее »
Статьи по ИТ
28.05.2009 00:00

СУБД Oracle 8i. Информационные технологии.

Эффективное управление современной организацией невозможно без применения современных информационных технологий, прежде всего - технологий баз данных. В настоящее время внедрение любого сервера баз данных, сколь бы мощным и современным он бы ни был, невозможно без соответствующего технологического окружения: средств быстрой разработки приложений, технологий CASE, интеграционных систем (программных шлюзов) и целого ряда других необходимых компонентов. Сегодня, только набор взаимосвязанных, взаимосогласованных и взаимодополняющих продуктов, объединенных общей идеологией, сможет решить задачи управления современной организацией.

Инфоцентрическая модель информационной системы (ИС) концентрирует внимание на качестве сервера баз данных. Именно сервер БД станет ядром проектируемой ИС, вне зависимости от того, будет ли эта система жестко централизованной, распределенной или размещенной в сети Internet/Intranet. Качество сервера баз данных - комплексное понятие, включающее такие свойства, как масштабируемость, производительность, управляемость, предсказуемость поведения, поддержка параллельных архитектур и распределенных баз данных, безопасность и т.д.

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

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

Производительность Oracle также обусловлена широким разнообразием и мощностью алгоритмов обработки запросов, характерных как для OLTP, так и для DSS систем.

Помимо общего набора универсальных методов исполнения SQL-запросов существует также целый ряд более узкоспециализированных, т.е. таких, которые очень хорошо работают в некоторых ситуациях, но могут быть совсем неэффективными (или даже неприменимыми) в других. Применение этих методов может дать очень заметный эффект, особенно при выполнении сложных запросов над большими объемами данных, что характерно для систем поддержки принятия решений (DSS).

В Oracle введен целый ряд таких специализированных алгоритмов.

Во-первых, звездообразные запросы (star queries). В Системах Поддержки Принятия Решений (DSS) часто применяются запросы, выполняющие соединение одной большой таблицы (т.н. таблицы фактов, например, с описанием продаж товаров) с несколькими маленькими (т.н. справочными таблицами, например, с описаниями различных видов товаров, регионов, где производятся продажи и пр.). При выполнении подобных запросов оказывается эффективным нетрадиционный алгоритм, выполняющий сначала вычисление декартова произведения справочных таблиц, а затем слияние сортировкой полученного результата с таблицей фактов.

Во-вторых, слияние хэшированием. Альтернативный слиянию сортировкой метод выполнения соединений таблиц (еще одна альтернатива - вложенные циклы).

Применение битовых строк для индексирования (bit-map indexes). Их идея очень проста. Если некоторое поле таблицы может принимать ограниченное число значений, то каждому такому значению можно сопоставить битовую строку (количество бит равно количеству записей в таблице), в которой единицы находятся в позициях, соответствующим тем записям, которые имеют данное значение в индексируемом поле. Ясно, что такой индекс позволяет очень быстро находить нужные записи по значениям проиндексированного поля (и любым их логическим комбинациям), а также выполнять операции агрегирования опять-таки по этому полю. Важно то, что Oracle позволяет применять bit-map-индексирование в сочетании с другими методами индексирования в одной и той же таблице.

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

Принципиально новой особенностью Enterprise Manager является возможность определения и управления выполнением удаленных заданий, реализация которых выходит за рамки возможностей самой СУБД (сбросы, команды ОС и т.п.), а также возможность заставить систему саму извещать администратора о возникших (или даже предполагаемых) проблемах с помощью механизма событий.

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

Набор возможных регистрируемых событий варьируется от самых простых - типа запуска и останова сервера БД - до достаточно тонких - типа превышения частоты обращений к диску выше заданного администратором порога. События регистрируются Интеллектуальными Агентами и передаются на консоль администратора (точнее, на те из консолей, которые интересуются данным событием), а если потребуется, сообщение о событии может быть послано администратору по электронной почте или на пейджер.

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

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

  • Любой масштаб СУБД
  • Любые типы приложений
  • Любые типы данных
  • Любой масштаб СУБД

В настоящий момент помимо уже привычного .сервера масштаба предприятия. (Огасlе8i Enterprise Edition) поставляются и другие его варианты: стандартный сервер (Огасlе8i Standard Edition), персональный Oracle (Огасlе8i Personal Edition) и совсем облегченный (Огасlе8i Lite). При этом все варианты сервера Oracle имеют в своем основании один и тот же код и функционально идентичны за исключением некоторых опций, которые, например, могут быть доступны для Огасlе8i Enterprise Edition и не поставляться с другим продуктам этого семейства.

Самым важным фактором для корпоративной ИС является идентичность кода различных версий сервера Oracle (для всех без исключения платформ), гарантирующая идентичность и предсказуемость работы Oracle на всех компьютерах, какие бы не входили в состав ИС. Разработку сервера выполняет единое подразделение корпорации, изменения вносятся централизованно и после этого тщательно тестируются, распространяясь на все версии и платформы. Жесткая технологическая схема разработки Oracle, опирающаяся на принципы идентичности кода для различных версий и платформ, заметно контрастирует со схемами других компаний. Как правило, они фактически поддерживают по несколько продуктов, например, сервер для OLTP-применений, сервер для хранилищ данных, сервер для объектных приложений, причем зачастую каждый из них развивается отдельным подразделением.

Огасlе8i в одинаковой степени может быть оптимизирован и для OLTP-приложений, и для приложений DSS, причем их вполне можно исполнять одновременно, не задумываясь о дополнительных блокировках, режимах изоляции и других технических деталях. На практике это означает, что один и тот же продукт (например, Огасlе8i Enterprise Edition) можно с успехом использовать и как сервер оперативных баз данных, обрабатывающий интенсивный поток относительно простых и коротких транзакций, поступающих от множества пользователей, так и в качестве сервера хранилища данных, который позволяет концентрировать огромные объемы данных и выполнять над ними сложные аналитические вычисления.

Чаще всего основной отличительной особенностью универсального сервера считают возможность хранения и обработки различных типов данных. При этом речь идет о расширении стандартного набора типов данных, характерного для реляционных СУБД, а в перспективе о переходе к объектно-реляционным СУБД. В свою очередь, эта задача может быть разделена на две. Во-первых, поддержка поставщиками СУБД дополнительных базовых типов данных. Во-вторых, возможность расширять набор типов данных за счет модулей третьих производителей или самими пользователями.

Oracle развивает свой сервер в обоих направлениях. Уже в версии 7 поддерживалось несколько новых типов данных: неструктурированные тексты, пространственные данные, видеоданные. Хранить такие данные в БД и осуществлять к ним доступ можно было и раньше. Новизна состояла в том, что если раньше этот доступ осуществлялся через самостоятельно работающие серверные процессы, и для работы с ними требовалось использование специального интерфейса на уровне приложений, то теперь данная функциональность интегрирована в .базовый. сервер.

Так, например, опция для работы с двумерными пространственными данными (Spatial Option) вводятся новые типы геометрических данных (точка, отрезок, полигон и т.д.) и операции над ними в СУБД, позволяя хранить соответствующие данные в таблицах наиболее оптимальным образом и существенно ускорять выполнение запросов, содержащих сравнения по метрике (например, все дома, находящиеся в радиусе 1 км от заданной точки или все замеры, в которых комбинированный показатель температура-давление выходит за заданный предел относительно оптимума).

Развитие Intenet ставит перед БД новые задачи. Для приложений Web требуются специальные сервисы по управлению данными, которые поддерживали бы новые типы данных, используемые в репозиториях для Web, электронной коммерции и другие приложениях Интернет. Oracle interMedia добавляет в Огасlе8i возможность управления мультимедийным содержимым, как для Интернет, так и для традиционных приложений, которым нужен доступ к изображениям, звуку, видео, тексту и информации о положении объектов.

В состав текстовых сервисов interMedia включена известная технология Oracle ConText, предоставляющая мощные возможности поиска текстовой информации (Russian Context Optimizer позволяет работать с учетом морфологии русского языка). Это позволяет пользователям строить запросы и анализировать документы, хранящиеся в стандартных форматах, в числе которых HTML, Word, Excel, PowerPoint, WordPerfect и Acrobat/PDF, из архивов документов, онлайновых систем рассылки новостей, отчетов о полученных клиентом вызовах и других онлайновых текстовых источников информации.

Звуковые возможности interMedia, а также управление видео и рисунками состоят в поддержке интегрированного управления информацией в форматах звука, видео и рисунков в рамках базы данных Огасlе8i. С его помощью возможен доступ к звуковым данным, видео и рисункам, в большинстве стандартных форматов Интернет из целого ряда источников, как из Огасlе8i, так и из внешнего мира, например, сайтов Web или специализированных серверов. InterMedia поддерживает доставку видео через любой поточный сервер, например, Oracle Video Server или серверы RealAudio и RealVideo фирмы RealNetworks. InterMedia также поддерживает перетаскивание (drag and drop) аудио-, видео-, и данных рисунков через клипборд interMedia в приложения и инструментальные средства разработки Web, например, Oracle Portal, Visual Page от Symantec или Frontpage от Microsoft.

Локатор interMedia поддерживает разработку приложений Интернет, которые помогают пользователям получать информацию о расположении объектов, например, магазинов, точек распределения и т.д. на основании их взаимного расположения или расстояния от заданного места. Локатор interMedia позволяет Огасlе8i выполнять запросы о местонахождении объектов и поддерживать лучшие в Интернет онлайновые геокодирующие услуги, в том числе, Centrus от фирмы QMSoft и MapXtreme от Maplnfo.

Таким образом, Огасlе8i не просто предоставляет расширенный набор встроенных типов данных, но и позволяет конструировать новые типы данных со спецификацией методов доступа к ним. Это означает фактически, что разработчики получают в руки не просто систему для хранения и обработки, скажем, видеоданных (что нужно далеко не в каждом приложении), а инструмент, позволяющий строить структурированные типы данных, непосредственно отображающие сущности предметной области.

Огасlе8i фактически опирается на новый стандарт SQL (SQL-3), позволяющий описывать определения новых типов объектов, состоящих из атрибутов (скалярных - т.е. других типов, множеств объектов, ссылок на объекты) и обладающих ассоциированными с ним методами. Любая колонка таблицы может быть любого типа, поддерживаются также вложенные таблицы и массивы объектов переменной длины.

Методы доступа в Огасlе8i могут быть определены несколькими способами. Более простой из них предполагает контроль ядра сервера за выполнением метода: это достигается, если методы реализуются на языке PL/SQL (который также расширен для поддержки объектно-реляционных структур) или Java. Отметим, что в текущей версии виртуальная Java-машина встроена непосредственно в сервер, то есть можно разрабатывать хранимые процедуры и триггеры непосредственно на Java. Кроме того, есть возможность не просто интерпретировать коды Java, а заранее скомпилировать их, получив, таким образом, значительный выигрыш в скорости выполнения. Поскольку PL/SQL практически не уступает по своей функциональности универсальным языкам программирования, для подавляющего большинства составных типов данных таких возможностей достаточно. Если же новый тип данных требует специальной обработки, не реализуемой стандартными средствами ядра СУБД (например, работа с мультимедийными данными, хранимыми в BLOB-полях БД), можно использовать вызовы внешних процедур, которые могут быть написаны, например, на языке С.

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

Некоторые новые возможности Oracle8i Большая часть новых возможностей 8i представляет собой дальнейшее развитие тех черт, которые уже содержались в том или ином виде в Oracle7. Это не случайность: Oracle гарантирует совместимость версий сервера снизу вверх, при переходе к Oracle8i пользователям даже не потребуется перестраивать свои БД.

Новые возможности в администрировании - управляемые сервером сбросы и восстановления (это расширенная интеграция применявшейся в Oracle7 утилиты Enterprise Backup), централизованное хранение паролей (в Oracle7 достигалось при использовании Advanced Networking Option или при идентификации пользователей через ОС, имеющую соответствующую функциональность), контроль за назначением и устареванием паролей (в Oracle7 - при идентификации пользователей через ОС). Новые режимы взаимодействия с сервером - поддержка очередей приоритетных сообщений, задающих описание транзакции или ее части (эта функциональность может быть использована мониторами транзакций), возможность мультиплексирования сессий, как на физических, так и на логических каналах связи. Фактическое снятие ограничений на количество LOB-колонок в таблицах, возможность их тиражирования. Возможность разбиения BLOB-полей и их отдельного хранения (даже вне БД). Расширение функциональных возможностей тиражирования данных, введение программного интерфейса тиражирования, позволяющего реализовать поддержку репликации с самыми разнообразными системами хранения данных. Поддержка таблиц, целиком хранимых в индексах.




 Источник:   www.omega.ru

© WIKI.RU, 2008–2017 г. Все права защищены.