Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Особенности ООСУБД






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

- Модель данных. Особый способ описания данных, связей между ними и ограничений, накладываемых на эти данные.

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

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

- Надежность. Гарантия того, что данные в базе данных защищены от сбоев программного и аппаратного обеспечения.

- Масштабируемость. Способность применять простые средства для манипуляций с большими и малыми объемами данных.

- Безопасность и целостность. Защита данных от несанкционированного доступа, а также гарантии того, что данные удовлетворяют заданным правилам допустимости и непротиворечивости.

- Распределенность. Возможность физического распределения логически взаимосвязанного набора совместно используемых данных в компьютерной сети, причем наличие такого распределения должно быть в наибольшей степени прозрачным для пользователей.

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

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

- программист отвечает за принятие решения о том, когда должно выполняться чтение или обновление объектов данных (записей).

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

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

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

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

Объекты и связи между ними определяются с помощью идентификаторов объектов (OID — Object IDentifier).

Существуют два типа идентификаторов OID:

- логические идентификаторы OID, которые не зависят от физического расположения объекта на диске;

- физические идентификаторы OID, в которых закодирована информация об их расположении.

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

Таким образом, для достижения требуемой производительности ООСУБД должна обеспечивать прямое и обратное преобразование идентификаторов OID в указатели оперативной памяти. Такое преобразование называется подстановкой указателей, или подкачкой объектов.

Для его осуществления используются разнообразные способы: от программных методов проверки наличия объектов в памяти до аппаратных схем работы со страницами памяти.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал