Oracle 7
Oracle 7 — это реляционная система управления базами данных (СУБД), разработанная корпорацией Oracle Corporation. Выпущенная в 1992 году, она стала одной из первых коммерческих СУБД, реализовавших поддержку языка SQL (Structured Query Language) в соответствии с международным стандартом ANSI/ISO, и закрепила за Oracle позицию лидера на рынке корпоративных баз данных. Oracle 7 ознаменовала переход от более ранних версий (Oracle 6) к архитектуре, ориентированной на масштабируемость, многопользовательский доступ и высокую производительность в среде клиент-сервер.
История
Предпосылки создания
В конце 1980-х годов рынок СУБД переживал бурное развитие. Основные конкуренты — IBM (DB2), Sybase, Informix, Microsoft (SQL Server) — предлагали собственные решения. Oracle 6, выпущенная в 1988 году, уже включала поддержку транзакций, блокировок на уровне строк и репликации, но страдала от проблем с производительностью при больших нагрузках. Компания Oracle, основанная Ларри Эллисоном, Бобом Майнером и Эдом Оутсом в 1977 году, нуждалась в продукте, который бы устранил эти недостатки и соответствовал растущим требованиям корпоративных заказчиков.
Разработка и выпуск
Разработка Oracle 7 (кодовое имя «NLS» — National Language Support) началась в 1990 году. Основной упор делался на улучшение оптимизатора запросов, поддержку распределённых баз данных и повышение надёжности. Первая стабильная версия (7.0) вышла в 1992 году. В 1994 году была выпущена версия 7.1, которая включала поддержку параллельных запросов и репликации в реальном времени. Версия 7.2 (1995) добавила поддержку хранимых процедур на языке PL/SQL и улучшенную работу с большими объектами (LOB). Последняя версия семейства — 7.3 (1996) — расширила возможности по работе с данными в Интернете и стала основой для последующей версии Oracle 8 (1997).
Влияние на рынок
Oracle 7 стала первой СУБД, которая получила сертификацию по стандарту SQL92 (уровень Entry). Это позволило ей доминировать на рынке Unix-систем, а также активно внедряться в среде Windows NT. К 1995 году Oracle занимала около 40% мирового рынка реляционных СУБД, опережая IBM и Sybase. Успех Oracle 7 способствовал росту капитализации компании: с 1992 по 1996 год выручка Oracle выросла с 1,2 млрд до 4,2 млрд долларов США.
Архитектура и ключевые особенности
Многопользовательская архитектура
Oracle 7 использовала архитектуру «процесс-сервер» (многопоточная модель). Каждый пользовательский запрос обрабатывался отдельным процессом (или потоком) на сервере, что обеспечивало изоляцию и стабильность. В отличие от более ранних версий, Oracle 7 поддерживала до 64 000 одновременных подключений (на практике ограничение упиралось в аппаратные ресурсы).
Оптимизатор запросов
Одним из главных нововведений стал оптимизатор на основе стоимости (Cost-Based Optimizer, CBO). Он анализировал статистику по таблицам и индексам (размер, количество строк, распределение значений) и выбирал наиболее эффективный план выполнения запроса. В Oracle 6 использовался только rule-based optimizer (RBO), который не учитывал реальные объёмы данных. CBO в Oracle 7 позволял ускорить сложные запросы в 5–10 раз по сравнению с RBO.
Язык PL/SQL
Oracle 7 ввела поддержку процедурного расширения SQL — PL/SQL (Procedural Language/Structured Query Language). PL/SQL позволял создавать хранимые процедуры, функции, триггеры и пакеты, которые выполнялись непосредственно на сервере базы данных. Это снижало сетевой трафик и повышало производительность приложений. В версии 7.2 PL/SQL получил поддержку курсоров, исключений и вложенных блоков.
Распределённые базы данных
Oracle 7 поддерживала создание распределённых баз данных (Distributed Database) через механизм Database Links. Пользователи могли выполнять запросы к таблицам, расположенным на разных серверах, как если бы они находились в одной локальной базе. Версия 7.1 добавила поддержку двухфазной фиксации транзакций (two-phase commit), что гарантировало согласованность данных при обновлении нескольких удалённых узлов.
Безопасность и управление доступом
СУБД реализовывала дискреционное управление доступом (DAC) на основе ролей и привилегий. Были введены:
- Роли — именованные наборы привилегий (например,
CONNECT,RESOURCE,DBA). - Системные привилегии — права на выполнение определённых действий (создание таблиц, индексов, пользователей).
- Объектные привилегии — права на доступ к конкретным объектам (таблицам, представлениям).
Версия 7.2 добавила поддержку аудита — возможность записи всех действий пользователей в журнал.
Версии и выпуски
Основные версии
| Версия | Дата выхода | Ключевые нововведения |
|---|---|---|
| 7.0 | 1992 | Первая стабильная версия, CBO, PL/SQL |
| 7.1 | 1994 | Параллельные запросы, репликация, двухфазная фиксация |
| 7.2 | 1995 | Хранимые процедуры, триггеры, аудит, улучшенная работа с LOB |
| 7.3 | 1996 | Поддержка Java, улучшенная работа с Web, Oracle Spatial |
Редакции
Oracle 7 выпускалась в нескольких редакциях, различавшихся по функциональности и цене:
- Oracle 7 Server — базовая редакция для однопроцессорных систем.
- Oracle 7 Enterprise Edition — поддерживала параллельные запросы, репликацию, распределённые базы данных.
- Oracle 7 Workgroup Server — упрощённая версия для малых рабочих групп.
- Oracle 7 Personal Edition — однопользовательская версия для локального использования.
Применение
Корпоративные системы
Oracle 7 стала основой для множества крупных корпоративных информационных систем: ERP-систем (например, Oracle Applications, SAP R/3), банковских систем, систем управления персоналом и логистики. В России Oracle 7 активно внедрялась в государственных органах, банках и промышленных предприятиях с середины 1990-х годов.
Интернет-приложения
Версия 7.3 (1996) включала поддержку Java и Web-интерфейсов, что позволило использовать Oracle 7 в ранних интернет-приложениях. Например, она применялась для создания каталогов товаров, систем электронной коммерции и порталов.
Научные и исследовательские проекты
Благодаря высокой производительности и надёжности, Oracle 7 использовалась в научных проектах, требующих обработки больших объёмов данных (например, в проектах по геномике, метеорологии и астрономии).
Критика и ограничения
Производительность при больших нагрузках
Несмотря на улучшения, Oracle 7 имела проблемы с производительностью при очень больших объёмах данных (свыше 100 ГБ) и высоких нагрузках (более 1000 одновременных пользователей). Оптимизатор CBO иногда выбирал неоптимальные планы, если статистика была устаревшей или неполной.
Сложность администрирования
Управление Oracle 7 требовало высокой квалификации администраторов. Настройка параметров памяти, дисковых пространств и параллельных запросов была сложной и часто требовала ручного вмешательства. В отличие от более поздних версий (Oracle 8i, 9i), Oracle 7 не имела автоматизированных средств управления.
Отсутствие поддержки современных стандартов
Oracle 7 не поддерживала:
- Объектно-реляционные возможности (появились в Oracle 8).
- XML и XQuery (появились в Oracle 9i).
- Полнотекстовый поиск (появился в Oracle 8i).
- Встроенную поддержку Unicode (появилась в Oracle 9i).
Конкуренция
В середине 1990-х годов на рынке появились более дешёвые и простые в использовании СУБД, такие как Microsoft SQL Server 6.5 (1996) и MySQL (1995). Это привело к снижению доли Oracle в сегменте малого и среднего бизнеса.
Интересные факты
- Oracle 7 была первой СУБД, которая поддерживала параллельные запросы (Parallel Query) — возможность разбивать один запрос на несколько подзапросов, выполняемых одновременно на разных процессорах. Это позволяло ускорить обработку больших таблиц в 10–20 раз.
- Версия 7.3 включала поддержку Oracle Spatial — модуля для работы с геопространственными данными (координаты, карты, маршруты).
- Oracle 7 работала на более чем 30 платформах, включая Unix (Sun Solaris, HP-UX, IBM AIX), Linux (первые версии), Windows NT, OpenVMS и MVS.
- В 1995 году Oracle 7 была выбрана в качестве базы данных для системы управления полётами Международной космической станции (МКС).
- Некоторые компании продолжали использовать Oracle 7 вплоть до 2005 года, несмотря на выход более новых версий, из-за стабильности и совместимости с устаревшими приложениями.
Источники
- Oracle Corporation. «Oracle7 Server Documentation». Redwood Shores, 1992–1996.
- Ларри Эллисон, Мэттью Симмонс. «Softwar: An Intimate Portrait of Larry Ellison and Oracle». 2003.
- Кевин Лоуни, Джордж Кох. «Oracle: The Complete Reference». Osborne/McGraw-Hill, 1995.
- Журнал «Byte», выпуск за декабрь 1992 года: «Oracle 7: The Next Generation».
- Отчёты аналитической компании Gartner Group о рынке СУБД за 1994–1996 годы.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →