2008-10-06 27 views
10

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

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

+1

Что привлекает меня к OODBMS - это простота настройки. Вместо того, чтобы планировать схему базы данных, настраивая базу данных, решая, с какой ORM идти, настраивая ORM, blah blah, я могу просто закодировать свой объект и сохранить его автоматически. – Jonathan 2008-10-06 02:26:55

ответ

7

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

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

+0

У меня есть стратегия для этого. Все объекты данных будут находиться в отдельной библиотеке классов под названием «Модель». Другие проекты, включая основной веб-проект, будут ссылаться на этот проект. Таким образом, есть одно центральное место для сохранения схемы. (Я могу использовать интерфейсы и т. Д. Для обеспечения совместимости). – Jonathan 2008-10-06 02:49:21

+0

Для специальных запросов и отчетности OODBMS в целом намного превосходит любые внешние приложения (по крайней мере, Gemstone) – 2008-11-11 23:06:10

+1

У большинства моих клиентов есть люди, которые умеют писать отчеты против SQL Server (они умеют писать SQL-запросы и как использовать конкретного дизайнера, например ActiveReports или Crystal Reports, и как запускать и развертывать). Драгоценный камень может быть потрясающим, но никто из этих людей не знает, как его использовать. – MusiGenesis 2008-11-11 23:40:37

2

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

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

1

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

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

4

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

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

1

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

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

Наличие экспертизы/опыта (RDBMS явно больше приверженцев)

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

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

3

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

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

4

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

См. Другое сообщение. (Example websites using db4o)

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

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

0

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

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

0

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

0

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

 Смежные вопросы

  • Нет связанных вопросов^_^