Метод Oracle

Летом 1997 года корпорация Oracle выпустила на рынок систему управления базами данных нового поколения – Oracle8. Она позиционируется как система, совершившая прорыв в технологии обработки данных. Сервер Oracle8 действительно явился значительным шагом вперед и заметно укрепил позиции Oracle Corporation как ведущего производителя в области СУБД корпоративного уровня. Значительное продвижение технологии вперед, с одной стороны, можно объяснить появлением объектных расширений реляционной модели данных, то есть совершенно нового направления для Oracle. С другой стороны, в первую очередь Oracle8 — это устойчивая, масштабируемая система управления реляционными базами данных, способная эффективно хранить и обрабатывать огромное количество данных в условиях многопользовательского доступа. Ядро сервера Oracle8 было серьезно переработано на основе опыта разработки и эксплуатации приложений для предыдущих версий, при этом был получен значительный выигрыш в производительности и надежности.

Как и в любой новой версии программного обеспечения, в OracleS были доработаны существующие механизмы и реализованы новые возможности, отсутствующие в Oracle7. Можно выделить три основных новых направления: поддержка больших и сверхбольших баз данных в режимах оперативных транзакций и хранилищ данных, объектные расширения и встроенная в ядро сервера Java-машина.

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

Oracle может управлять базой данных размером 512 петабайт, а не 32 терабайта, как Oracle7. Поэтому, наряду с оптимизацией кода ядра сервера (например, вызов функций, написанных на языке PL/SQL, из операторов SQL стал быстрее на 40%), в Oracle8 появились новые возможности для управления большими и сверхбольшими базами данных. Кратко перечислим их.

Секционирование таблиц и индексов — таблицы и индексы могут быть разбиты на секции, с каждой из которых можно работать как с одним объектом, например хранить различные секции на различных устройствах и управлять ими автономно. В этом случае для таблицы или индекса выбирается один или несколько столбцов — так называемый ключ секционирования. Их значения определяют секцию, куда будет помещена запись. Для работы с секционированными таблицами и индексами требуется установленная опция сервера — Partitioning option.

Индексные таблицы — новый вид таблиц, позволяющий организовать хранение данных непосредственно в индексах, не используя сегменты данных. Для оптимального доступа к данным была улучшена работа оптимизатора запросов: введен новый тип запросов – типа "звезда", появились новые подсказки оптимизатору. Теперь поддерживаются новые виды индексов – масочные двоичные индексы и индексы с реверсированным ключом. Также внесен ряд изменений в существовавшие механизмы, предназначенных специально для поддержки больших баз данных.

Другим важным нововведением для Oracle8 стала поддержка объектных расширений. Тенденция к объектной ориентированности в настоящее время наблюдается у всех крупных производителей систем управления базами данных. Не осталась в стороне и корпорация Oracle. Oracle8 поддерживает абстрактные типы данных, то есть разработчик может конструировать новые типы данных из базовых. Поддерживается три абстрактных типа данных: OBJECT — для создания новых типов объектов со своей внутренней структурой; VARRAY — массив объектов определенного типа; TABLE — таблица объектов определенного типа.

Для манипулирования хранимыми в СУБД объектами в Oracle8 реализованы специальные расширения языка SQL. Существует возможность создания так называемых объектных представлений над реляционными таблицами. Это позволяет вести разработку новых объектно-ориентированных приложений в рамках существующих систем.

Начиная с версии 8.1.5.0, ядро сервера Oracle включает в себя Java-машину. Таким образом, стало возможным разрабатывать серверную компоненту системы как на основном языке создания хранимых программ PL/SQL, так и на Java. Программы, написанные на этих языках, могут взаимодействовать между собой. Использование языка Java предоставляет возможность подключения сотен предопределенных классов. Библиотеки Java-классов содержат методы, которые разработчики могут расширять и включать в свои программы. В настоящее время наблюдается бум Java-приложений и можно ожидать более интенсивного использования Java-машины Oracle. Тем не менее написано огромное количество кода на PL/SQL и в ближайшее время будет продолжаться его широкое применение для разработки серверной логики, хотя уже имеются средства для автоматического преобразования кода PL/SQL в программы Java.

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

Динамический SQL в OracleS выполняется так же быстро, как и обычный статический. Сокращено время при вызове операторов SQL из PL/SQL и наоборот. Улучшены алгоритмы работы с таблицами PL/SQL. Уменьшены потребности сессий пользователей в оперативной памяти на 30-60%. Добавлена отложенная проверка ограничений целостности, — она может выполняться не сразу после выполнения операторов изменения данных, а откладываться до фиксации транзакции. Введены новые типы данных для хранения неструктурированной информации. Для этого в Oracle 7 используются типы данных LONG и LONG RAW, которые обладают рядом недостатков. В OracleS появились новые типы данных: CLOB (Character Large Object), BLOB (Binary Large Object) и BFILE, свободные от этих недостатков. Эти типы данных не могут быть использованы в запросах, но их можно хранить как в файловом пространстве, так и непосредственно в базе данных. При действиях с данными этого типа поддерживаются все возможности транзакционной модели Oracle (за исключением тех объектов, которые хранятся как ссылки на объекты файловой системы). Таким образом, сделан шаг вперед в направлении технологии IPS (Internet File System), основная идея которой — все объекты, с которыми работает пользователь, хранятся в базе данных. При этом их хранение организовано прозрачно и операции копирования, удаления, изменения и т. п. объектов выполняются так же, как будто бы они хранились в файловой системе.

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

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



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: