Ну, во-первых, я бы сказал, что NoSQL лучше масштабирует в некоторых ситуациях, но не во всех.
Полные транзакции ACID являются атомарными, последовательными, изолированными и надежными. Если вы потеряете транзакции, вы потеряете часть или всю ACID в хранилище данных.
Есть много способов восстановить эти функции с помощью других асинхронных систем, таких как очереди сообщений, которые сами по себе долговечны. Вы можете помещать данные в надежную очередь сообщений, извлекать данные и обрабатывать их в своем NoSQL, а затем, когда вы сможете подтвердить, что они сохранены до требуемого минимума, вы можете пометить сообщение как использованное. Это D в ACID, но распределенный и асинхронный. Существуют способы обеспечить других, но они часто приносятся в жертву в некоторой степени или перемещаются в другое место в системе. С некоторыми решениями NoSQL вам просто нужно перенести согласованность в приложение, чтобы оно не пыталось хранить недействительные данные.
Когда вы начинаете отходить от транзакций, управляемых базой данных, вы должны значительно увеличить тестирование приложений, чтобы гарантировать, что ваша система не выйдет из строя (при некоторых значениях сбоя).
Практически нет ситуаций, когда транзакции и ограничения не важны в системе, которая имеет требования как для чтения, так и для записи. Если бы это было не так, вы бы вообще не заботились о своих данных (а некоторые люди не заботятся об этом, но сожалеют об этом позже). Однако существуют уровни «заботы». Это просто вопрос того, как вы оказались в ACID или в псевдо-ACID, который «достаточно хорош». RDMBS делает заботу о ваших данных дешевой. NoSQL делает заботу о ваших данных дорогостоящей, но делает масштабирование дешевым (в некоторых случаях). В РСУБД существует много компаний с многотерабайтной базой данных, поэтому в одностороннем порядке сказать, что «они не масштабируются», просто неточно. Однако многотерабайтные базы данных SQL могут стоить много денег, в зависимости от варианта использования (в конце концов, вы можете просто подключить массив RAID 10 с несколькими дисками по 3 ТБ к компьютеру и запустить на нем механизм базы данных. Может потребоваться несколько минут, чтобы несколько часов, чтобы выполнить любой вид сканирования таблицы на большой таблице или даже индексированный поиск, но если вам все равно, это дешево и несколько терабайт).