имеют ли целостность ориентированные на документы базы данных? - PullRequest
3 голосов
/ 13 января 2010

Я пришел из MySQL, и мне интересны ориентированные на документы базы данных, в частности, CouchDB. Одна из вещей, которые меня интересуют - это целостность данных. Как справочно-ориентированные базы данных справляются с этим? Например, в РСУБД есть способы предотвратить дублирование записей или гарантировать, что если у вас есть один бит информации, у вас будет другой, или его вообще нет.

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

Кроме того, с моими базами данных в работе я делаю много отчетов с суммированием и усреднением значений и историческими тенденциями. Подходит ли это для баз данных, ориентированных на документы?

1 Ответ

2 голосов
/ 14 июня 2010

Большинство баз данных документов поддерживают только очень ограниченную целостность или не проверяют целостность. Они полагаются на приложение, чтобы гарантировать, что данные верны. Я могу рассказать вам, как это в CouchDB.

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

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

Однако это не значит, что вам нужно ограничивать себя RDBMS. Вы могли бы объединить две технологии. Представьте себе блог-софт. Вы сохраняете «живые» данные приложения, такие как посты в блогах и комментарии, в базу данных документов. Данные для отчетов, такие как статистика по кликам и логинам, хранятся в РСУБД. См. Также Сообщение Роба Конериса .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...