После разработки программного обеспечения в течение примерно 5 лет, я потратил, вероятно, как минимум 20% и, возможно, до 40% того времени, просто создав СУРБД, способную сохранять и извлекать сложные графы объектов. Много раз это приводило к менее оптимальным решениям для кодирования, чтобы сделать что-то более легкое для работы со стороны базы данных. Это в конечном итоге закончилось после очень значительного количества времени, затраченного на изучение NHibernate и шаблонов управления сеансом, которые являются его частью. С NHibernate я смог наконец избавиться от большинства из 100% потраченного времени на запись CRUD в 1000-й раз и использовать предварительное генерацию моей базы данных из моей модели домена.
Однако вся эта работа по-прежнему приводит к ошибочной модели, где моя база данных - это просто лучшая попытка SQL подражать моему фактическому объекту. С базами документов это уже не так, поскольку объект становится самим документом, а не просто имитирует объект через таблицы и столбцы.
На этом этапе я действительно начинаю сомневаться, зачем мне снова понадобиться SQL?
Что может быть существенно лучше с SQL, чем с базой данных документа?
Я знаю, что это несколько приводит к сопоставлению яблок с апельсинами, особенно когда вы учитываете различные типы баз данных NoSQL, имеющих самые разные функциональные возможности, но ради этой аргументации он основывается на представлении баз данных NoSQL по своей сути объекты запроса правильно, а не ограничения хранилища значений ключей. Также не учитывайте отчетный аспект, так как это обычно должно обрабатываться в базе данных OLAP, если в ваш ответ не включена определенная причина, по которой вы не будете использовать для нее базу данных OLAP.