Scalable Commerce with NoSQL Databases

Scalability is a key consideration for any commerce platform. In these Generation-X (or Millennial) days, commerce sites are very rich in content. With a wide variety of product offerings leading to millions of products, tons of rich images (not to mention regular text), and millions of geographically distributed shoppers, commerce platforms and sites are facing a big challenge of maintaining consistent availability, performance, and throughput across all channels.

Existing scenario and problems
• Major bottleneck and significant factor in commerce scalability sites has to do with database tier.
• Complex domain models and EAV (entityattributevalue) database design leads to less flexibility.
• SQL is good for transaction management and ACID properties, but not suitable for linear scalability to support massive data volumes.
• Non-flexible SQL schema makes an application brittle for any schema level/DML changes. Zero downtime deployment is not possible.
• Today’s commerce applications often encounter database scaling challenges when faced with growth in users, traffic, and data. A slow site impairs revenue.

How it matters in commerce

• commerce sites receive massive spikes in usage during seasonal swings. NoSQL is the best fit for this type of usage pattern with its dynamic scalability.
• Some commerce functionalities -- like shopping carts and session information -- are considered as temporary data. NoSQL databases are best suited to store this data for better performance and scalability.
• Completed orders and customer social graphs are better stored in Document Based NoSQL database and Graph Based NoSQL, respectively.
• Customer suggestions and recommendations are best kept in a Graph database.
• An architecture designed to handle the growing user base gracefully is certainly a major consideration for any commerce store.
• Scalable architecture is the need of the hour for commerce: keeping the multichannel presence, increasing content and data, rules and analytics, social media content, etc.

Key aspects in NoSQL adoption

• Flexible and Dynamic Schema. Allows sparse and semi-structured data.
• Schema-less design best suited for dynamic commerce operations.
• Works best for read-heavy scenarios
• Scalable architecture. Efficient, scale-out and distributed architecture instead of expensive, monolithic architecture.
• Auto sharding, replication and integrated caching.
• Majority of the NoSQL databases are open source, leading to cost effectiveness.
• Faster/smarter business analytics, intelligence and reporting.
• Strong support community.
• NoSQL adoption in commerce and retail businesses compliments the existing RDBMS and data warehouse infrastructure by providing scalability, improved performance and high availability.