Definitivamente quiere construir una solución personalizada, y definitivamente quiere cobrar mucho más de lo que normalmente lo haría porque hay mucho riesgo y se necesita diligencia debida.
En cuanto a su arquitectura, es posible utilizar NoSQL y existen razones de peso para utilizar NoSQL para el comercio electrónico: la razón principal es que no tiene esquemas y tiene muchas categorías y una tonelada de productos que todos necesitan ser vendido de manera diferente (es decir, usted vende computadoras de manera diferente a como vende relojes) porque los atributos del producto son diferentes, la administración de la complejidad de la base de datos se vuelve realmente importante.
Este video le mostrará lo que está haciendo una nueva empresa de vanguardia en Nueva York. Están usando MongoDB para toda su base de datos de productos. Este video debe ser un abridor de ojos real como se describe muchas de las trampas en MySQL para sitios grandes de comercio electrónico, y una gran parte del potencial de cambio de juego de NoSQL:
http://engineering.shopopensky.com/topics/mongodb
cuanto a manejo de pagos, que sin duda NO quiero almacenar esos en NoSQL. Mantenga sus usuarios, sesiones y datos de pago en MySQL y asegúrese de que sean altamente seguros. Aquí hay una gran (aunque de edad) en la pieza de fijación sesiones en las aplicaciones PHP:
http://www.troubleshooters.com/codecorn/php/persist.htm
Como nota, este último enlace le ayudará a entender mejor la teoría. La mayoría de los frameworks de PHP soportan este tipo de manejo de sesiones de manera inmediata. CodeIgniter, Yii y ZendFramework se encuentran entre los mejores.
No sobre arquitecto. 2 millones parece mucho, pero cualquier combinación de base de datos/hardware decente puede manejar 2 millones de registros en una mesa sin sudar nada (suponiendo que tiene algunos índices decentes). Vea aquí re: insertando un millón de registros por día: http://forums.mysql.com/read.php?61,44239,44251#msg-44251 – jvenema