Классика баз данных - статьи

       

Тем самым, исчезает разрыв между


Тем самым, исчезает разрыв между пассивными данными и активными программами, проект прикладной системы ведется в рамках единой технологии, что убыстряет его разработку и облегчает последующее сопровождение. Естественно, что при этом должны преследоваться цели сохранения всех преимуществ объектно-ориентированного программирования (уникальная идентификация объектов, инкапсуляция, наследование, полиморфизм и т.д.) и систем баз данных (многопользовательский режим доступа, восстановление после сбоев, управление транзакциями и т.д.). Казалось бы, блестящие перспективы, и я действительно считал их блестящими пятнадцать лет назад. Почему же эти ожидания не оправдались в полной мере, и почему теперь наблюдается некоторый всплеск активности на рынке ООСУБД? Я перечислю несколько причин негативного характера, возможно, не в порядке возрастания или убывания их важности и, скорее всего, не все.

  • До последнего времени отсутствовал объектно-ориентированный язык программирования, который был бы (1) "настоящим", т.е. строго соответствующим принципам объектно-ориентированного подхода и (AND!) (2) был бы достаточно распространенным
  • В среде исследователей технологии ООСУБД так и не нашлось специалиста, который, подобно Теду Кодду по отношению к реляционным базам данных, смог бы создать простую и надежную теорию; более того, большинство участников этого сообщества уже давно склоняется к тому, что такую теорию создать невозможно
  • Среди специалистов в области объектно-ориентированных языков программирования отсутствует общепринятое понятие объектной модели, причем все попытки выработать компромиссную эталонную модель до сих пор оканчивались неудачно
  • Преследуя цели сохранить преимущества РСУБД, приходится, тем не менее, пересматривать смысл таких понятий, как единица блокировки для поддержки многопользовательского режима, транзакция, журнализация, ограничение целостности и т.д., причем общепринятой трактовки не существует
  • Преследуя цели сохранить преимущества объектно-ориентированных языков программирования, приходится для обеспечения удовлетворительной эффективности ООСУБД приходится жертвовать полнотой инкапсуляции, вводить ограниченные средства наследования и т.д.
  • При всех отмеченных недостатках (а реально их гораздо больше!) использования реляционных баз данных для разработки информационных приложений существуют надежные методологии и программные средства, позволяющие проектировать, реализовывать, сопровождать и распространять такие приложения; при ориентации на ООСУБД выбор гораздо меньше.


    Содержание  Назад  Вперед