![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Особенности ООСУБД
Системы баз данных в основном используются для создания и сопровождения больших долговременных наборов данных. Современные системы баз данных характеризуются наличием следующих компонентов и функциональных средств. - Модель данных. Особый способ описания данных, связей между ними и ограничений, накладываемых на эти данные. - Перманентность данных. Свойство данных, позволяющее им существовать вне периода выполнения программы и, возможно, за пределами ее жизненного цикла в целом. - Совместное использование данных. Способность многих приложений (или экземпляров одного и того же приложения) осуществлять доступ к общим данным, возможно, одновременно. - Надежность. Гарантия того, что данные в базе данных защищены от сбоев программного и аппаратного обеспечения. - Масштабируемость. Способность применять простые средства для манипуляций с большими и малыми объемами данных. - Безопасность и целостность. Защита данных от несанкционированного доступа, а также гарантии того, что данные удовлетворяют заданным правилам допустимости и непротиворечивости. - Распределенность. Возможность физического распределения логически взаимосвязанного набора совместно используемых данных в компьютерной сети, причем наличие такого распределения должно быть в наибольшей степени прозрачным для пользователей. В обычных языках программирования предусмотрены конструкции для процедурного управления, поддержки абстракции данных и абстракции функций, но в них нет встроенной поддержки для многих из перечисленных выше функций базы данных. С точки зрения программистов двумя наиболее важными характеристиками приложений являются производительность и удобство использования. Эти цели достигаются за счет более гармоничной интеграции языка программирования и СУБД, чем предусмотрено в обычных системах баз данных. Обычная СУБД обладает следующими характерными особенностями: - программист отвечает за принятие решения о том, когда должно выполняться чтение или обновление объектов данных (записей). - программист должен создать код преобразования данных между конструкциями объектной модели приложения и модели данных СУБД (например, отношениями), которые могут быть совершенно разными. Процесс преобразования становится особенно сложным в случае использования объектно-ориентированного языка программирования, в котором объект может состоять из многих подчиненных объектов, обозначенных указателями. - программист отвечает за выполнение дополнительной проверки типов при чтении объекта из базы данных. Например, программист может создать объект с помощью объектно-ориентированного языка со строгим контролем типов и сохранить его в реляционной СУБД. Однако другое приложение, написанное на другом языке программирования, может изменить объект без учета того, что он должен всегда соответствовать своему исходному типу. Все эти трудности связаны с тем, что обычные СУБД реализуют двухуровневую модель хранения. При этом прикладная модель хранения реализуется в оперативной или виртуальной памяти, а модель хранения базы данных — на диске. В отличие от этого, в ООСУБД создается иллюзия одноуровневой модели хранения с одинаковым представлением объектов в оперативной памяти и на диске. Хотя одноуровневая модель памяти внешне выглядит очень простой, в ООСУБД для достижения этой иллюзии представление объектов в оперативной памяти и на диске должно быть организовано очень эффективно. Объекты и связи между ними определяются с помощью идентификаторов объектов (OID — Object IDentifier). Существуют два типа идентификаторов OID: - логические идентификаторы OID, которые не зависят от физического расположения объекта на диске; - физические идентификаторы OID, в которых закодирована информация об их расположении. В первом случае необходимо выполнять дополнительные действия для поиска и подстановки физического адреса объекта на диске. Во втором этого не требуется. Но в обоих случаях идентификатор OID больше стандартного указателя оперативной памяти, размер которого должен быть достаточным лишь для того, чтобы в нем можно было разместить максимальный адрес виртуальной памяти. Таким образом, для достижения требуемой производительности ООСУБД должна обеспечивать прямое и обратное преобразование идентификаторов OID в указатели оперативной памяти. Такое преобразование называется подстановкой указателей, или подкачкой объектов. Для его осуществления используются разнообразные способы: от программных методов проверки наличия объектов в памяти до аппаратных схем работы со страницами памяти.
|