Когда впервые появились базы данных, ООП все еще не было способом программирования. С другой стороны, реляционные базы данных получили большую популярность. И SQL, введенный IBM в 80-х годах, быстро стал языком общения во всех базах данных.
Когда ООП стало популярным, было несколько попыток, но есть некоторые проблемы. Во-первых, настоящую OODBMS действительно сложно реализовать. В случае реляционной базы данных таблица и связанные с ней индексы представляют собой довольно простые структуры (например, B-деревья). Другая причина заключается в том, что за реляционной моделью лежит много теории, она напрямую вытекает из математической теории множеств. Существуют известные способы правильного проектирования реляционной базы данных (например, нормализация и т. Д.). И последнее, но не менее важное: люди уже привыкли к SQL.
Современные NoSQL-решения в большинстве случаев не являются шагом к OODBMS. Многие из них все еще являются реляционными, только лишены JOINs
. Лишь немногие из них на самом деле являются объектными хранилищами, но на самом деле не являются OODBMS, поскольку они не осведомлены об отношениях между объектами.
Еще одна причина, по которой OODBMS не является таким сильным толчком, заключается в том, что существует решение "OODBMS" для бедных - ORM. Это приобрело огромную популярность, поскольку они поддерживаются хорошо известными, стабильными и протестированными механизмами БД, но они обеспечивают отображение объектов. Конечно, это не настоящие OODB.