Я не согласен с ответами, которые я вижу, хотя это правда, что решения NoSQL имеют тенденцию нарушать правила ACID, не все создаются на основе этого подхода.
Я думаю, сначала вы должны определить, чтоявляется решением SQL, и затем вы можете поставить перед ним «Не только», это будет более точное определение того, что такое решение NoSQL.
С учетом этого подхода:
Базы данных SQL - это способ группировки всех хранилищ данных, доступных с использованием языка структурированных запросов, в качестве основного (и в большинстве случаев единственного) способа связи с ними, это означает, что требуется, чтобы база данных поддерживала структуры, которыеобщие для таких систем, как «таблицы», «столбцы», «строки», «отношения» и т. д.
Теперь поместите «Не только» перед последним предложением, и вы получитеопределение того, что означает «NoSQL».NoSQL группирует все хранилища, созданные как попытка решить проблемы, которые не могут вписаться в структуры таблица / столбец / строки или даже в операторы SQL, в большинстве случаев эти базы данных не будут поддерживать отношения, они просто отказываются от хорошо известных структурпотому что проблемы изменились с момента их зачатия.
Если у вас есть текстовый файл, и вы создаете API для хранения / извлечения / организации этой информации, то у вас в руках база данных NoSQL.
Все это означает, что существует несколько решений для хранения информации таким образом, что традиционные системы SQL не позволят добиться лучшей производительности, гибкости и т. Д. Каждый провайдер NoSQL пытается решить другую проблему, и поэтому вы не будетеможет сравнивать два разных решения, например:
- djondb - хранилище документов, созданное для использования в качестве корпоративного решения NoSQL, поддерживающего транзакции, согласованность и т. д., но жертвующего производительностью своегоcounterparts.
- MongoDB - это хранилище документов (похожее на djondb), которое обеспечивает высокую производительность, но использует некоторые свойства ACID для достижения этой цели.
- CouchDB - это еще одно хранилище документов, которое решает несколько разные запросы, предоставляя представления для извлечения информации без выполнения полного запроса каждый раз.
- ...
Как вы могли заметить, яЯ говорил только о хранилищах документов, потому что я хотел показать вам, что в трех разных реализациях хранилищ документов используется разный подход, поэтому вам следует помнить о золотом правиле хранилищ NoSQL: «Используйте правильный инструмент для правильной работы».
Я - создатель djondb, и я проводил много исследований еще до того, как попытался запустить собственную реализацию NoSQL, но это область, в которой концепции будут постоянно меняться, как мы видим хранилище информации.