Вы определенно хотите создать индивидуальное решение, и вы определенно хотите взимать гораздо больше, чем обычно, потому что вам нужно много риска и должной осмотрительности.
Что касается вашей архитектуры, использование NoSQL возможно и есть некоторые веские причины использования NoSQL для электронной коммерции - основная причина заключается в том, что это схематично, и если у вас есть тонна категорий и тонна продуктов, которые все должны продаваться по-разному (т. е. вы продаете компьютеры по-другому, чем продаете часы), потому что атрибуты продукта разные, управление сложностью баз данных становится очень важным.
Это видео покажет вам, что происходит в самом начале в Нью-Йорке. Они используют MongoDB для всей базы данных продуктов. Это видео должно быть реальным сенсационным, как он описывает много подводных камней в MySQL для больших сайтов электронной коммерции, и много игрового меняющегося потенциала NoSQL:
http://engineering.shopopensky.com/topics/mongodb
Что касается обработки платежей, вы определенно НЕ хотите хранить их в NoSQL. Храните своих пользователей, сеансов и платежных данных в MySQL и убедитесь, что они защищены. Вот большая (даже старая) часть на крепежных сессиях в PHP-приложениях:
http://www.troubleshooters.com/codecorn/php/persist.htm
Как примечание, это последнее звено должно помочь вам понять теорию лучше. Большинство фреймворков PHP поддерживают этот тип обработки сеанса из коробки. CodeIgniter, Yii и ZendFramework являются одними из лучших.
Не перестраивайте архитектуру. 2 миллиона звучат как много, но любая достойная база данных/аппаратная комбо может обрабатывать 2 миллиона записей в таблице, не разбивая пота (при условии, что у вас есть приличные индексы). См. Здесь re: вставка миллиона записей в день: http://forums.mysql.com/read.php?61,44239,44251#msg-44251 – jvenema