У меня проблема с этим вопросом. Не все базы данных NoSQL созданы одинаково, и разные базы данных NoSQL по-разному хранят данные. Как правило, вы должны беспокоиться о том, что данные на самом деле записываются на диск, а не только в память. Большинство баз данных NoSQL могут делать это, но не по умолчанию. Скажем так, это не проблема, вы обычно можете указать базе данных, такой как MOngo или Cassandra, записать данные на диск, даже сказать, как минимум на скольких серверах должны быть записаны данные.
Проблема в том, что вы не можете получить истинную поддержку транзакций. Когда вы имеете дело с электронной торговлей, важно иметь переход типа «все или ничего», когда несколько операций либо завершаются успешно, либо откатываются. Не должно быть абсолютно никаких шансов, что только часть ваших данных будет сохранена. Например, если вам нужно записать данные в более чем одну таблицу (сборник или документ на языке NoSQL), если сервер выходит из строя в середине процесса, а ваши данные записываются только в одну таблицу, это обычно недопустимо в электронной торговле.
Я не знаком со всеми базами данных NoSQL, но те, которые я знаю, пока не имеют этой опции.
MySQL, с другой стороны, делает.
Если поддержка транзакций или ее отсутствие вас не беспокоит, то я думаю, что можно использовать NoSQL, если вы говорите, что сохраняете данные на диск, а не только в память.