Объектно-ориентированные базы данных: инсайдерская подсказка в моделях баз данных

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

Что такое объектные базы данных?

Модель объектно-ориентированной базы данных связывает связанные пакеты данных вместе. Другими словами, набор данных и все его атрибуты объединяются с объектом. Таким образом, вся информация становится непосредственно доступной. Вместо того чтобы распределять все по разным таблицам, данные можно получить в одном пакете. Наряду с атрибутами в объектах хранятся и методы. Именно здесь становится понятна близость баз данных к объектно-ориентированным языкам программирования. Как и в программировании, каждый объект имеет определенные действия, которые он может выполнять.

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

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

Давайте рассмотрим пример. Предположим, что мы сохраняем конкретный объект велосипед как объектно-ориентированную единицу со всеми его свойствами и методами. Он красный, на нем можно ездить, у него есть седло и так далее. Этот объект одновременно является частью класса ‘Bicycles’. Внутри этого же класса, например, мы можем найти синий и зеленый велосипед. Класс «Велосипеды», в свою очередь, является подкатегорией класса «Транспортные средства», который также содержит класс «Автомобили». В то же время, однако, объект также имеет связь с классом «Досуг». Если мы получаем наш объект по его уникальному идентификатору, все связанные с ним атрибуты и методы становятся непосредственно доступными.

Реляционные и объектно-ориентированные базы данных

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

Преимущества и недостатки объектно-ориентированной модели базы данных

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

Одним из недостатков OODB является слабое принятие их сообществом. Хотя модель была создана в 1980-х годах, до сих пор очень немногие системы управления базами данных приняли объектные базы данных. Сообщество, работающее с этой моделью, соответственно невелико. Поэтому большинство разработчиков предпочитают обращаться к более распространенным, хорошо документированным и высокоразвитым реляционным базам данных.

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

Преимущества Недостатки
Сложные наборы данных можно сохранять и извлекать быстро и легко. Объектные базы данных не получили широкого распространения.
Идентификаторы объектов присваиваются автоматически. В некоторых ситуациях высокая сложность может вызвать проблемы с производительностью.
Хорошо работает с объектно-ориентированными языками программирования.  
Совет

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

Оцените статью
cdelat.ru
Добавить комментарий