CASE STUDY

E-Commerce

CockroachDB helps global electronics retail company make decisions faster

Building a better global supply chain with CockroachDB

  • Distributed Acid Transactions

  • Global Supply Chain

  • Zero RPO

About the Customer

A multinational consumer electronics retail conglomerate found themselves in need of a new database for their e-commerce website when RethinkDB closed its doors in 2016. This particular retail company processes millions of transactions every day from all over the world. They considered Postgres because they need the consistency of a SQL database, but they ended up choosing CockroachDB because it gives them the same consistency as Postgres, along with the horizontal scale of the cloud.

E-Commerce Infrastructure Challenges

The most crucial data challenge in online retail is delivering consistent transactions. E-commerce transactions can be long, multi-step processes that are potentially exposed to failures. It’s important that the database delivers zero recovery point objective (RPO) to make sure that customers have good experiences.

For this particular retail customer (and many others) it’s important that their database integrates with the content management system, to give them holistic visibility into the company’s sales at any given time.

Why CockroachDB?

While looking for a new database to replace RethinkDB, the retailer had the following requirements:

  1. Consistent transactions
  2. High availability
  3. PostgreSQL compatibility
  4. Ability to run it in a private cloud
  5. JSON support
  6. Scale

Initially, they evaluated some NoSQL options, including DynamoDB. They found that DynamoDB was fast but not consistent enough. Then they thought about using Postgres, but because they need to handle a huge volume of global transactions, they would need to manually shard Postgres to scale. They did not want to commit to the operational overhead of managing thousands of shards. 

When they found CockroachDB they realized that they could have the consistency of Postgres without sharding. (CockroachDB automatically rebalances and replicates data throughout a cluster when new nodes are added). Also, CockroachDB implements a standard PostgreSQL API, so it’s familiar and easy to ramp up quickly. CockroachDB can be run on-prem or in the cloud, and across multiple clouds. And CockroachDB offers JSON support which means it can store and query unstructured data.

CockroachDB E-Commerce Use Case

The value of a consistent, highly available, distributed SQL database in the retail industry is enhanced visibility into the whole supply chain. Being able to see real-time data makes retail companies more dynamic in their manufacturing and in their sales strategy. 

This retail customer runs over 20 different microservices on CockroachDB, including services like metadata, shopping cart information, and point of sale information. Because their sales analytics are available in realtime, there is no need to wait until the end of the day to batch the data and wait for reports to come back. With CockroachDB a SQL query can be run to look at global performance at any given time. Then, strategic adjustments can be made in real-time to hit sales goals.

The impact of increased visibility on manufacturing is equally valuable. For example, the integration with the content management system means that online sales can be queried at any given time. They can see how well a SKU is selling, and they can see where in the world it’s selling. This gives them an opportunity to intelligently plan their manufacturing quantities, as well as the optimal location for manufacturing to occur. 

The increased visibility reduces the amount of effort required for strategizing how much product to manufacture, when to manufacture it, and where to manufacture it.

CockroachDB helps retail companies make decisions faster and with less effort, which makes the sales and manufacturing teams more successful.

If you want to kick the tires on CockroachDB today try out our CockroachDB Serverless offering. This is the best way to experiement with the database and get familiar with the capabilities.

Ready to get started?