Scaling E-commerce Databases with Lots of Moving Parts

Scaling e-commerce websites is difficult enough when you have a growing number of customers coming in to shop daily. We know it’s a double-edged sword; more customers means more sales means more revenue, but it also may mean you’re bumping up against the limits of your servers, leading to possible slowdowns or downtime, which could lead to growing customer dissatisfaction.

It’s expensive enough to scale your databases under these conditions, but now add into the mix a growing number of products being sold (some from third parties), new stock-keeping units (SKUs) for each of those products, and potential price changes for each of those products when the website makes them the deal of the hour. And let’s also add in a shopping holiday such as Cyber Monday. If this sounds like a database problem only the largest of retailers might face, think again. As commerce increasingly moves online, companies of all sizes are bumping up against the ceiling in terms of what their database can handle, and moreover, the quantity and complexity of the data it contains.

One of our customers, online shopping destination Nomorerack, faced similar issues and adopted a NewSQL approach using ClustrixDB.

The Nomorerack application has three primary parts, and each uses the database extensively:

  1. Storefront has all the product information, product details, purchase information and all the customer account information.
  2. The CRM system manages customer relationships and contains the customer data and customer purchase history.
  3. The Vendor Portal is designed to be a self-service system that enables vendors to directly push their deals. Vendors can upload new product deals, and the portal has a marketing engine and a built-in invoice and fulfillment system.

In a traditional SQL environment, Nomorerack would be in serious trouble. SQL wasn’t built with today’s growing e-commerce needs in mind, and certainly can’t handle the real-time requirements that frequent changes in a company’s product catalog bring. Using ClustrixDB in a Database-as-a-Service (DBaaS) model, Nomorerack was able to handle a 3x spike in database load by simply adding nodes to their cluster—very quickly and easily in a straightforward operation.