Почему объектно-ориентированные базы данных не были успешными (пока)? [закрыто]

Вам нужно вызвать close () в контексте искры, который вы создали в конце программы.

20
задан Michael Easter 31 August 2011 в 11:33
поделиться

10 ответов

Мы можем ответить несколько раз? Другая причина состоит в том, что реляционный DB имеет прочную основу в математике: из определения отношения, прямо до нормальных форм, теория является горным телом. Это верно, что реляционная модель не отображается хорошо на OO, но по моему скромному мнению преимущества и устойчивость той модели перевешивают отображающуюся проблему.

21
ответ дан Michael Easter 31 August 2011 в 11:33
поделиться

Я думаю, что существует две философских причины.

Первый, люди традиционно склонны разделять персистентность от реальной функциональности. Как только Вы снимаете "жизнь" объекта далеко от него и сохраняете его, прежде всего, для персистентности, это становится записью, и затем существует тенденция рассматривать его как "безжизненный" объект данных.

Следование этого, когда люди думают о большом количестве очень похожих вещей, они начинают думать о них как о таблицах, а не объектах.

я думаю с O/R, различие начинает исчезать. Например, я использую, в спящем режиме для дампа действительно сложных иерархий классов в базу данных MySQL. Однако я не делаю критического по отношению к производительности записи материала для своего проекта, таким образом, я уверен, что он не сделан эффективно.

1
ответ дан Uri 31 August 2011 в 11:33
поделиться
  • 1
    но все еще только одно значение (его адрес) было отправлено, и мы можем получить доступ к целому объекту путем копирования его в другой объект. я хочу знать конкретно, можем ли мы присвоить два значения одновременно. – Ashish Yadav 4 April 2010 в 03:31

Это и o/r-mappers. Через них различие к истинному DBS OO становится меньшим путем, в то время как вышеупомянутые преимущества остаются допустимыми.

2
ответ дан Urs Reupke 31 August 2011 в 11:33
поделиться

Просто, потому что OODB не являются господствующей тенденцией, мы должны все еще рассмотреть успехи, которые они имели. Cache и Zope оба широко используют (относительно), но считали бы успешными некоторые стандарты.

, Возможно, самая большая причина, что OODB не утвердились существенно, из-за успеха гибридных объектно-реляционных систем, которые берут большую часть потенциала marketshare от OODB: PostgreSQL и Informix.

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

До большого, корпоративного DBAs и основных преподавателей и программы и собирающегося штата вне разработчиков, подготовленных к управляемому OODB, я чувствую, что это вряд ли будет видеть любовь масс, неважно, насколько хороший это со стороны разработки.

11
ответ дан Scott Alan Miller 31 August 2011 в 11:33
поделиться
  • 1
    Формулировка этого ответа вводит в заблуждение – Pacerier 5 August 2013 в 16:36

Я думаю, что это - потому что "объектные базы данных" решают проблему, которую (почти) никто действительно не имеет. Для простой персистентности графов объектов сериализация, встроенная в большинство сред OO, "достаточно хороша". Если Вы хотите сделать сложные операции на подмножестве Ваших данных, то реляционная база данных и SQL являются идеальным соответствием.

Кроме некоторых приложений края (огромные графы объектов, которые не могут быть сохранены в памяти, но для которого отношения не упрощают вниз хорошо для использования RDBMS), действительно нет никакой потребности в этих инструментах.

13
ответ дан Mark Bessey 31 August 2011 в 11:33
поделиться
  • 1
    Это не верно. То, что можно использовать [] со строкой doesn' t делают его массивом. Попробуйте var_dump(is_array("a string"));, и Вы будете видеть, что это не массив. – Langdi 5 September 2013 в 02:33

Если я могу усилить точку Phil: стандартизация SQL. OODB's попробовал языки запросов, такие как OQL, но они никогда, казалось, не следовали истинному стандарту. Также качество языков запросов было подозреваемым, возможно из-за отсутствия стандартизации. Стандарты способствуют конкуренции, которая порождает качество.

3
ответ дан Michael Easter 31 August 2011 в 11:33
поделиться
  • 1
    Это было им... Intellisense, не предлагающий, я добавляю его также. и я продолжал видеть (Система. Данные. Linq), и думал, что я был хорош. – MarkKGreenway 24 April 2010 в 06:42

RDBMS (основывался на сильной теоретической основе, были на рынке в течение намного более длительного времени, может смоделировать данные более искренне, чем OODBs во многих случаях, может использоваться большим количеством DBAs, чем OODBs). Это - одна причина в форме реляционного кортежа.

5
ответ дан Mark Cidade 31 August 2011 в 11:33
поделиться
  • 1
    Что происходит, если мы вместо этого просто бросаем его в массив? – Pacerier 5 August 2013 в 16:37

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

24
ответ дан Ajay 31 August 2011 в 11:33
поделиться

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

Кроме проблем вокруг зрелости и внедрения, с философской точки зрения OODB казался бы выгодным или приложение OO. не имея необходимость поддержать, что, отображая слой для начинающих;)

, Но взгляд, если Вы не делаете доменного дизайна диска и используете объекты в качестве объектов данных и как Ваш сохраненный procs, тогда Вы действительно не собираетесь получать его;)

8
ответ дан Ajay 31 August 2011 в 11:33
поделиться

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

Базы данных несколько походят на hexahexaflexagons.

3
ответ дан 29 November 2019 в 22:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: