OODBMS - разница RDBMS и какая из них подходит для системы управления предприятием - PullRequest
3 голосов
/ 26 января 2011

Я немного искал различия между OODBMS и RDBMS. Я в значительной степени знаю, что они. Тем не менее, как я буду решать, какой из них лучше для каких приложений. Может ли кто-нибудь любезно помочь мне, пожалуйста?

То, что я имел в виду для руководства фабрики: есть производственные линии для производства бутылочных, замороженных и других продуктов питания. Приложение управляет назначением персонала на линии, чтобы вести производственный учет в системе. Какая база данных лучше для таких систем?

Заранее спасибо.

Ответы [ 5 ]

3 голосов
/ 27 января 2011

Вот хорошая статья Рика Грехана, которая описывает случаи, когда полезны ODBMS: http://www.odbms.org/wp-content/uploads/2013/11/006.04-Grehan-When-to-Use-an-ODBMS-2005.pdf

2 голосов
/ 26 января 2011

Отказ от ответственности: это ответ "старого придурка" от парня, который написал множество совершенно функциональных бухгалтерских, производственных и других кодов до того, как ООП вошел в мейнстрим.
С учетом сказанного ...

Управление фабрикой - это классическая реляционная база данных, это то, для чего она была изобретена.Код для классических реляционных приложений имеет тенденцию следовать очень предсказуемым шаблонам, множеству циклов по извлеченным строкам из таблиц или прямому сквозному вещанию: передача данных в пользовательский интерфейс или в базу данных.Если ваша БД хорошо спроектирована, то бизнес-логика, которую вы кодируете, будет деталями в этих циклах или проходах, но эти два шаблона будут доминировать.

С другой стороны, OODMS, с точки зренияэтот «старый обманщик» пытается превратить идеально и эффективно работающую СУБД во что-то, что будет работать с классами / объектами, без заметного выигрыша над системой, которая десятилетиями зарекомендовала себя очень хорошо.Классы не имеют ничего общего с классическими шаблонами кода, расположенными поверх реляционных баз данных.Фактически, они имеют тенденцию усложнять вещи и могут легко мешать.Я не говорю, что не используйте код ООП для работы с базой данных, просто, что ООП был изобретен для решения проблемы другого рода, проблемы, которой нет в приложениях базы данных.

1 голос
/ 26 января 2011

Решение о выборе OODBMS или RDBMS не зависит от конкретного применения, такого как управление / автоматизация производства. Это зависит от многих критериев, таких как

1) Парадигма программирования - Если вы [программист] решите визуализировать / реализовать на языке программирования ОО, тогда СУБД подходит для хранения объектов как непосредственно в базе данных, но наиболее широко тип СУБД реляционная, потому что она хорошо зарекомендовала себя на рынке и имеет хорошее математическое образование.

2) Специфичные для применения - Для автоматизации / управления на заводе важны оперативность и быстрый доступ. OODBMS быстрее, чем RDBMS. Если вы задумывались о веб-разработке, то такой легкий инструмент, как MySQL, очень подойдет.

3) Тренд - Теперь существует парадигма перехода от устаревшего / структурного к объектно-компонентному программированию. поэтому в этой тенденции OODBMS лучше всего подходит для корпоративных приложений, таких как управление фабрикой и т. д.

0 голосов
/ 27 января 2011

Я обычно рисую линию полезности в той точке, в которой они должны быть интегрированы в корпоративные системы. Если ваш проект не обязательно должен быть интегрирован, ODBMS обычно проще или технически лучше. Если вы можете интегрироваться через веб-сервисы или «выталкивать / тянуть» в БД корпоративной системы, тогда вы все равно можете использовать СУБД, но на это может быть политическое давление. (Более подходящая репликация ODBMS / RDBMS, такая как dRS для db4o). Но если вам нужна тесная интеграция с устаревшими или корпоративными хранилищами данных, то вы обычно вынуждены использовать RDBMS по тем или иным причинам.

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

Я использую ODBMS в течение многих лет и боюсь проекта, который требует от меня возврата к чисто реляционному управлению данными. Несмотря на то, что недавние улучшения в инструментах ORM сделали реляционную работу намного более приятной, решение ORM + RDBMS по-прежнему не успевает за системами ODBMS в нескольких ключевых областях (см. ранее упомянутую статью об odbms). орг).

0 голосов
/ 26 января 2011

Зависит от уровня использования приложения.Если это простой подход, более ориентированный на процедурный путь [который также может иметь классы], то СУБД более подходит.В противном случае, если вы более ориентированы на строгую объектно-ориентированную систему, можно использовать OODBMS.

...