Will Oracle8 Be Universal?

Oracle View, October 1997, David Wells, adw@ovum.com
A seniorRoyksopp's Adventures in Barbieland был выпущен в августе 2010 года под руководством Андреаса Нильссона. В фильме дуэт представлен двумя пожилыми музыкантами, живущими в доме, полном куклами Барби. consultant at Ovum, an international technology and telecommunications analyst group
ПереводПеревод— деятельность по интерпретации смысла текста на одном языке (исходном языке [ИЯ]) и созданию нового, эквивалентного текста на другом языке (переводящем языке [ПЯ]). - Сергей Кузнецов, ЦИТ

После выпуска в июне 1997 г. продукта Oracle8 маркетинговая политика компании ориентирована на улучшенную масштабируемость системы и значениеЗначение— ассоциативная связь между знаком и предметом обозначения. сетевой вычислительной архитектуры (NCA - Network Computing Architecture). Однако Oracle8 обладает существенным набором объектно-реляционных средств, о которых компания говорит несправедливо мало.

Взгляд компании Oracle на объектно-реляционный подход

Компания обещает предоставить своим пользователям объектно-реляционные возможности с 1992 г. Пятилетняя эволюция серверных продуктов происходила виде компромисса между потребностями рынка и необходимостью переписи частей системы в разумном порядке.

В Oracle6 были внесены изменения в архитектурные компоненты нижнего уровня с целью повышения производительности (например, средства распараллеливания и блокировок уровня записи). В Oracle7 были модифицированы компоненты верхнего уровня с целью внедрения новых функциональных возможностей, таких как хранимые процедуры и двухфазная фиксация распределенных транзакций. Выпущенная в первом квартале 1996 г. версия Oracle 7.3 была первой, которую компанияКомпания: (фр.compagnie — 1) общество, группа; 2) фирма, рота, экипаж корабля, театральная труппа) назвала "универсальным сервером", поскольку в этой версии поддерживались улучшенные средства документального поиска (ConText Option) и пространственные типы данных (Spatial Data Option). В теперешний выпуск Oracle8 включены основные архитектурные изменения, затрагивающие не только объектно-реляционные возможности, но также средства копирования и восстановления и новые качества масштабирования для поддержки сверхбольших баз данных.

Общая стратегия компании представляет собой интересную смесь консерватизма и инновацииИнновация (англ.innovation)— это внедренное новшество, обеспечивающее качественный рост эффективности процессов или продукции, востребованное рынком. Является конечным результатом интеллектуальной деятельности человека, его фантазии, творческого процесса, открытий, изобретений и рационализации. Примером инновации является выведение на рынок продукции (товаров и услуг) с новыми потребительскими свойствами или качественным повышением эффективности производственных систем.. Прагматический подход Oracle к объектно-реляционной технологии является относительно консервативным, хотя NCA представляет собой одно из первых действительно существенных решений ведущего независимого производителя программного обеспечения. основанного на распределенной объектной технологии CORBA. Кроме того, решение компании об использовании Oracle8 для поддержки репозитория ее собственных средств разработки приложений обеспечивает лучшую среду для проектирования приложений, чем конкурирующие объектно-реляционные системы.

Стратегия Oracle кажется исключительно разумной. Исследования и разработки компании всегда«Всегда» — кинофильм. Детям рекомендуется просмотр совместно с родителями. направляются потребностями рынка, а до 1996 г. рынок мало нуждался в объектно-реляционной технологии. В результате, когда Informix и IBM начали в середине 1996 г. воздвигать профиль объектно-реляционной технологии, компания Oracle казалась настроенной строго. Это впечатление подтверждали агрессивные заявления и рекламная деятельность компании. Возникало впечатление, что компания Oracle стремилась дискредитировать конкурирующую технологию, которуя сама компания предложить не могла. Объектно-реляционная технлология, появившаяся в Oracle8, категорически опровергает эту точку зрения.

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

Кроме того, компания считает, что бизнес-логика не относится исключительно к серверу баз данных; многие компоненты более естественно расположить на сервере приложений. Oracle противопоставляет этот подход сервер-ориентированным архитектурам, предлагаемым в InformixInformix— семейство систем управления реляционными базами данных (СУБД), выпускаемых компанией IBM. Informix позиционируется как флагман среди СУБД IBM, предназначенный для онлайновой обработки транзакций (OLTP), а также как СУБД для интегрированных решений. Universal Server и DB2 Universal Database компании IBM.

Объектно-реляционные расширенияРасширение имени файла (англ.filename extension, часто говорят просто расширение файла или расширение)— последовательность символов, добавляемых к имени файла и предназначенных для идентификации типа (формата) файла. Это один из распространённых способов, с помощью которых пользователь или программное обеспечение компьютера может определить тип данных, хранящихся в файле.

Принципиальные расширения в поддержке больших объектов и триггеров INSTEAD-OF могут быть лицензированы отдельно от основной части сервера Oracle8 в виде Object Option. Что касается дополнительных встроенных типов данных, то Oracle предлагает четыре расширенных реляционных типа данных: большие объекты с улучшенным управлением содержимым; два вида типов данных коллекции - VARRAY и вложенные таблицы; расширенный тип данных, реализующий указатели.

Два типа коллекций предназначены для поддержки нескалярных доменов. Типы категории VARRAY позволяют хранить массивы в столбцах таблиц; для большинства типов данных Oracle8, включая объектные типы, их значения могут храниться в VARRAY. Ряд ограничений в VARRAY затрудняет их применение в некоторых целях. Например, должен быть объявлен максимальный размер массива, и в настоящее время такие массивы и их содержимое не полностью доступны из SQL (хотя доступ к ним возможен из PL/SQL или кода приложения на 3GL).

Другим типом коллекции являются вложенные таблицы. Как следует из названия, вложенные таблицы позволяют хранить в столбцах табличные значения. В отличие от VARRAY, вложенные таблицы полностью доступны из SQL.

Наконец, имеется расширенный тип данных, реализующий указатели, которые в Oracle8 называются REF. REF реализуются с использованием генерируемых системой объектных идентификаторов; указатели на объекты могут храниться в объектных таблицах, и на основе указателей возможна навигация. Указателями можно манипулировать и производить навигацию из SQL с использованием ключевых слов REF, DEREF и VALUE. Указатели играют важную роль при выполнении операций объектного кэша клиента.

Объектные типы. СистемаСистема (от др.-греч. — «сочетание»)— множество взаимосвязанных элементов, обособленное от среды и взаимодействующее с ней, как целое. объектных типов Oracle8 позволяет определять и хранить именованные структуры данных, например:


CREATE TYPE customer_type AS OBJECT (

        name VARCHAR2 (20),

        no_of_purchases NUMBER,

        MEMBER FUNCTION get_no_of_purchases RETURN NUMBER);

Любой тип Oracle8 может выступать в качестве члена объектного типа, включая VARRAY, вложенные таблицы и другие объектные типы. В бета-версиях Oracle8 объектные типы назывались "абстрактными типами данных" (термин, используемый в проектах SQL3 и в академических кругах), но позже было решено, что терминТермин (от лат.terminus — предел, граница) — слово или словосочетание, точно и однозначно именующее понятие и его соотношение с другими понятиями в пределах специальной сферы. Термины служат специализирующими, ограничительными обозначениями характерных для этой сферы предметов, явлений, их свойств и отношений. В отличие от слов общей лексики, которые зачастую многозначны и несут эмоциональную окраску, термины в пределах сферы применения однозначны и лишены экспрессии. "объектные типы" является более понятным и точным. (На самом деле, объектные типы Oracle8 представляют собой обобщение именованных типов строк и абстрактных типов данных SQL3.)

В объектных типах могут определяться методы, реализация которых может быть представлена на PL/SQL или в виде вызовов функций 3GL. Методы похожи на хранимые процедуры и могут вызываться из SQL или PL/SQL для вычисленияВычисление — математическое преобразование, позволяющее преобразовывать входящий поток информации в выходной, с отличной от первого структурой. Если смотреть с точки зрения теории информации, вычисление - это получение из входных данных нового знания. и получения информации об объектах данного типа и/или их модификации. Каждый объектный тип имеет по меньшей мере один метод - конструктор. Это определенная в системе функция, которая создает объект данного типа. В дополнение к общим методам, при необходимости могут быть реализованы специальные методы, меняющие для объектного типа порядок сортировки и операции сравнения.

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


      CREATE TABLE customers OF customer_type

В этом примере каждая строка результирующей таблицы будет содержать объект типа customer_type с членами-атрибутами, специфицированными при объявлении этого объектного типа (другими словами, "name" и "no_of_purchases"). К каждой строке-объекту Oracle8 добавляет "скрытый" столбец, содержащий генерируемый системой уникальный идентификатор (ID) объекта. Этот ID можно использовать в указателях (REF) на объекты таблицы из других таблиц или реализовывать указатели между объектами этой же таблицы. При желании столбец ID можно индексировать для более быстрого поиска REF.

Во-вторых, объектные типы можно использовать для определения типов столбцов. В этом случае при определении типов столбцов таблицы имена объектных типов помещаются вместо имен базовых типов. Например, объявленный выше тип customer_type можно было бы использовать для определения структурированного столбца "customer" в обычной таблице. Члены такого "объектного столбца" доступны из SQL с использованием расширенной точечной нотации, например, путем выборки my_table.customer.name.

Эти два вида применение объектных типов соответствуют двум способам отображения структурированных объектов в реляционную схему.

Объектный кэш клиента. В Oracle8 также обеспечиваются значительные возможности манипулирования объектами на стороне клиентских приложений. Объектный кэш клиента может быть реализован и доступен для манипулирования с использованием вызовов нового интерфейса OCI (Oracle Call Interface), с применением прекомпилятора C/C++ со встроенным SQL (приобретается отдельно), либо на основе библиотеки классов C++ и среды поддержки времени исполнения, управляемой ожидаемым вскоре продуктом Oracle Object Database Designer (развитие Designer/2000).

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

Прекомпилятор предоставляет представление более высокого уровня тех же функциональных возможностей, которые предоставляются разработчикам традиционных баз данных. Более детальный интерфейс OCI более подходит для разработчиков приложений.

В Oracle8 обеспечивается компонентКомпонент— (от лат.componens, родительный падеж componentis — составляющий), составная часть, элемент чего-либо. В разных отраслях науки и техники может иметь дополнительное, более специфическое значение. Object Type Translator (OTT), который может генерировать соответствующий С-структуры для использования клиентскими приложениями при работе с объектным кэшем.

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

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

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

Многотабличные объектные представления могут быть сделаны обновляемыми за счет наличия нового вида триггера INSTEAD OF, который перехватывает команды SQL, направленные на обновление представления, и выполняет соответствующее действие. Осмысленно применять такие триггеры и для того, чтобы сделать обновляемым любое традиционное реляционное представление.

Некоторые простые, но полезные объектные представления являются обновляемыми по своей природе. Например, с помощью объектного представления можно представить таблицу customers, состоящую из нескольких столбцов, каждый из которых содержит фрагментФрагмент (лат.fragmentum— обломок, кусок, осколок)— какая-либо часть целого. адреса, как таблицу, к которой один столбец содержит структурированные объекты address. Поскольку такие структуры являются обновляемыми, они легко надстраиваются над существующей схемой.

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

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

Развитие возможностей в будущем. Пока компания Oracle не объявила время выпуска и точный набор функциональных возможностей Oracle 8.1. Однако, если основывываться на истории компании, она должна объявить следующий общий выпуск во второй половине 1998 г., включив в него поддержку языка Java для выполнения функций управления базами данных (реализации хранимых процедур и методов), явную поддержку наследования таблиц, расширенную службу картриджей баз данных. Картридж для работы с временными рядами планируется выпустить несколько раньше.

Оценка функциональных возможностей Oracle8

Многие покупатели средств управления базами данных не заинтересованы по-крупному в быстром развитии объектно-реляционной технологии. До сих пор ни один поставщик не смог объяснить преимущества этой технологии для пользователей баз данных основного потокаПотока (болг. Потока) — село в Болгарии. Находится в Смолянской области, входит в общину Смолян. Население составляет 11 человек.. Более того, во всех ведущих продуктах управления реляционными базами данных под одной и той же вывеской объектно-реляционного подхода предлагаются в значительной степени разные средства. На основе чего пользователи могут сравнить эти продукты?

Трудно обсуждать природу и значение объектно-реляционной технологии, поскольку, в отличие от реляционной модели, эта концепция не является единой и хорошо оформленной. Объектно-реляционная парадигмаПарадигма (от греч. , «пример, модель, образец»)— совокупность фундаментальных научных установок, представлений и терминов, принимаемая и разделяемая научным сообществом и объединяющая большинство его членов. Обеспечивает преемственность развития науки и научного творчества. является скорее слабо связанным набором многих отдельных полезных компонентов. Более 120 функциональных аспектов называют "объектно-реляционными", от наследования и полиморфизма до поддержки больших объектов, расширяемой индексации и кэширования и кластеризации сложных объектов. Некоторые из этих аспектов учитываются в процессе выработки стандарта SQL3, другие (например, кэширование и кластеризация) - нет. В ведущих продуктах реализуются существенно разные поднаборы функций.

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

Развитая технология баз данных может (и должна) обеспечить следующие категории свойств:

  1. Приложения обработки данных следующего поколения. ВозможностьВозможность — направление развития, присутствующее в каждом явлении жизни; выступает и в качестве предстоящего, и вполне объяснимо рациональным путем: в каждой возможности присутствует вероятная невозможность, «возможность невозможного». Возможность не определяется познанием того, что может быть. Познание вероятностей, возможностей не всегда влияет на нашу возможность. На изучении возможности основывается, главным образом, исследование бытия и события. просто и быстро создавать информационные системы, ориентированные на использование баз данных, в большей степени удовлетворяющие потребностям пользователей. К соответствующим свойствам относятся наследование уровня таблиц, расширенное управление доменами, строчные типы в духе SQL3 и определяемые пользователями функции.
  2. УправлениеУправление— воздействие субъекта, направленное на достижение абстрактной (неконкретной), но вынужденно-корректируемой цели (задачи, идеи) в уже сложившихся рамках правил, которые неизбежно-совершенствуются когда субъект непротиворечивее познаёт реальность, с которой сосуществует. содержимым. Возможность получать пользу из смешанной текстовой, документальной и мультимедийной информации с использованием структурированных данных существующий информационных систем. К соответствующим свойствам относятся хорошая поддержка больших объектов и применимость SQL-запросов для текстового поиска.
  3. Проектирование прилоожений. Более специальные преимущества реализации приложений, работающих со сложными данными и транзакциями (CAD, CASE, офисная автоматизацияАвтоматизация— одно из направлений научно-технического прогресса, применение саморегулирующих технических средств, экономико-математических методов и систем управления, освобождающих человека от участия в процессах получения, преобразования, передачи и использования энергии, материалов или информации, существенно уменьшающих степень этого участия или трудоёмкость выполняемых операций. Требует дополнительного применения датчиков (сенсоров), устройств ввода, управляющих устройств (контроллеров), исполнительных устройств, устройств вывода, использующих электронную технику и методы вычислений, иногда копирующие нервные и мыслительные функции человека. Наряду с термином автоматический, используется понятие автоматизированный, подчеркивающий относительно большую степень участия человека в процессе.). Это та ниша, в которой наиболее успешно применялись чистые объектные базы данных. К требуемым свойствам относятся поддержка нетрадиционных типов транзакций, идентифицируемость объектов и навигация по указателям.
  4. Интеграция на основе объектной ориентированности. Преимущество наличия системы баз данных, обеспечивающей улучшенную поддержку объектной технологии и методов, применяемых пользователями, включая объектно-ориентированные языки программирования и брокеры объектных заявок (ORB - Object Request Broker).
  5. Адаптивность. Уменьшение расходов и/или повышение производительности труда за счет использования систем баз данных, которые облегчают модификацию существующих приложений при потребности их изменения.
  6. Управляемость. Уменьшение расходов в связи с более простым управлением системой баз данных и приложениями. Например, введение нетрадиционных или расширенных типов может затруднить управление, если только эти расширения не интегрированы должным образом со средствами администратора баз данных.
  7. "Универсальная" настраиваемость. Возможность добиться приемлемой эффективности разного рода приложений, основывающихся на различных архитектурах, путем настройки программного обеспечения (а не покупая большее количество аппаратуры). Соответствующие свойства включают расширяемую индексацию, простоту использования в разных архитектурных средах, кэширование и кластеризацию сложных объектов.
  8. Простота освоения. Возможность получать пользу от новой технологии без существенных затрат, переподготовки штата и модификации существующих приложений. В этом отношении существенны соответствие стандартам SQL и обеспечение интероперабельности с унаследованными базами данных и приложениями.

На основе приведенной модели можно оценить функциональные возможности пяти ведущих поставщиков продуктов управления базами данных - Oracle8, Informix Universal Server, DB2 Unversal Database, Sybase Adaptive Server и Microsoft SQL Server (вместе с OLE DB). МодельМодель (фр.modle, от лат.modulus— «мера, аналог, образец»)— некоторый материальный или мысленно представляемый объект или явление, являющийся упрощённой версией моделируемого объекта или явления (прототипа) и в достаточной степени повторяющий свойства, существенные для целей конкретного моделирования(опуская несущественные свойства, в которых он может отличаться от прототипа). можно с тем же успехом применить к чисто реляционным или чисто объектным базам данных, а также для иллюстрации связи между разными технологиями и их эволюции.

В оригинале статьи приведены диаграммы, иллюстирующие эволюцию технологии баз данных от базовых СУБД, поддерживающих стандарт SQL-89, до "идеального" универсального сервера. Кроме того, с использованием модели показаны основные характеристики Oracle8 и ожидаемые характеристики Oracle 8.1.

Мы рекомендуем еще посмотреть:

Учебник Intel SS7

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

    Данный документ создан специалистами фирмы Datakinetics, ставшей в 2000 году подразделением Intel.

    Линейка оборудования Intel для SS7 постоянно развивается, поэтому для окончательного выбора конфигураций рекомендуется изучить разделы Платы SS7, Кластерные серверы SS7 и Шлюз SIGTRAN SS7 over IP, с описанием текущих моделей оборудования.

    Учебник в формате

Авторизация
Логин
Пароль
Регистрация >
Мужчины с мобильными телефонами пользуются ими в среднем 372 минуты в месяц, женщины - 275 минут (Cingular Wireless.)
2009 IT и оборудование для бизнеса, S-NETWORKS. Информационные технологии и Информационное оборудование