Может ли кто-нибудь подумать о некоторых веских причинах * не * использовать объектно-ориентированную СУБД для поддержки веб-сайта?

Скажите, что вы кодируете какое-то веб-приложение. Что-то, где люди могут предоставлять контент, например. простой сайт для обмена фотографиями.

Сколько хороших причин вы можете думать о том, чтобы не идти с объектно-ориентированной базой данных (например, db4o)?

Ответ 1

OODBMS лучше, если вам нужно только получить доступ к своим данным через ваши объекты. Если ваше решение требует дополнительных путей к вашим данным (например, специальные запросы, отчеты, другие приложения, которым необходим доступ к данным, но не может использовать ваши объекты), тогда лучше использовать традиционную систему РСУБД.

Примечание: OODBMSs значительно улучшились в этой области.

Ответ 2

Я не знаю, насколько велики ваши планы, но наличие опытных и опытных людей для найма (или просто для того, чтобы одолжить руку) повлияло бы на мое решение, а также просто большой объем знаний по всем из входов и выходов БД.

У Oracle или MySQL есть свои недостатки, но есть вероятность, что если у вас есть проблема, у 100 других людей была такая же проблема, и вы можете сказать, как ее решить.

Ответ 3

Я бы сказал, что если вы рассматриваете что-то вроде db4o, у них нет корпоративных примеров использования веб-сайтов и они в основном используются для встроенных приложений.

См. мой другой пост по этому вопросу. (Примеры сайтов, использующих db4o)

Ничего технически в пути здесь, просто усыновление кажется. Однако для скорости разработки, поддержки и гибкости дизайна OODB довольно непобедимы.

тяжелая отчетность и т.д. может быть выполнена путем синхронизации с реляционным обратным концом, если требуется, что я знаю, db4o поддерживает

Ответ 4

Это немного растягивается, но перефразируйте сообщение Джоэля, планируйте успех. Что делать, если ваше приложение становится действительно популярным?

Например, что, если вы размещаете свое приложение на своей собственной машине, но решите перейти на официальный хостинг-сайт или даже ферму серверов. Каковы шансы, что они будут поддерживать OODB и MySQL?

Ответ 5

Я бы рекомендовал только для OODBMSs, если ваш дизайн приложения действительно, действительно сильно объектно-ориентированный, и сложность представляет необходимость в нем. Сайт для обмена фотографиями не похож на тяжелую сторону OO, поэтому я не вижу смысла идти на db4o.

Однако, если вы действительно просто хотите узнать, как использовать OODBMS из проекта для домашних животных, хорошо использовать его.

Ответ 7

Еще одна веская причина - относительная долговечность. db40 - отличный продукт для того, что он делает, но его пользовательская база невелика и вряд ли переживет нечто вроде SQL Server.

Конечно, я также говорил, что Java не выживет.

Ответ 8

Размер данных (если я имею дело с миллионами и миллионами строк, я придерживаюсь того, что знаю)

Отчетность (как правило, достаточно сложно в нормализованных базах данных, что хуже в базах данных OO)

Наличие опыта/опыта (РСУБД явно больше приверженцев)

Большие количества ETL (большинство людей импортируют и экспортируют в плоские файлы, если вы не получаете/не отправляете XML, вы говорите простые старые таблицы)

Ни один из них не звучит как препятствия для вашего проекта

Ответ 9

Мое личное мнение, где есть данные... там отчетность.

Нет OODBs, чтобы предоставить вашим данным подходящую модель хранилища для ваших приложений для отчетов.

Ответ 10

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

Ответ 12

Для сложного приложения со скромными потребностями в данных вы не можете бить GLASS (Gemstone, Seaside и Smalltalk). Отчетность - это то, что вы хотите сделать OO в Smalltalk.