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