

It uses standard SQL, making it easy for the Lush team to get up and running quickly. To start, CockroachDB is a source-available database with 100% visibility into the code. Lush began evaluating CockroachDB in 2017, and out of the box, CockroachDB met their most pressing requirements. Lush ultimately determined that Spanner was not the right solution and began evaluating alternatives. This would require Lush’s engineering team, already versed in SQL, to learn a new programming language in order to program against Spanner. Whereas with CockroachDB, they’re starting with 3 nodes and they can see everything that’s happening.Ĭustom programming language: Spanner speaks a custom query language, rather than the standard SQL. Lush scaled to 10 nodes without issue, but they had to make that decision blind. Even tasks like exporting data to CSV required use of Google products like exports to buckets.īlackbox nature: The lack of visibility into Spanner made it difficult for the engineering team to troubleshoot. They quickly ran into a couple of problems:Ĭloud lock-in: Using Spanner locked Lush into the Google Cloud ecosystem. Lush first turned to Google Cloud Spanner in their early efforts to modernize their database. Standard SQL and simple insertion and extraction of data.Lush wanted to simplify and modernize their data architecture in order to make it easier to analyze the company’s global performance, comply with local data regulations, and reduce operational complexity. This is the cost of doing business on a global scale, and it has been incredibly tricky to accomplish. As an international retailer that does business all over the globe, Lush is required to domicile some user data in particular countries. If their data was located in the same system, it would be much easier to interrogate that data.Īdding further challenge, is the emergence of data protection laws and data localization regulations. There was no easy way to immediately access the performance of Lush’s products across the globe. Lush promises to deliver the freshest products from source to skin, so the lack of visibility into the quantity and age of each product made it hard to avoid overstocking or understocking.Ĭlosely related to the inventory challenge is the difficulty of evaluating the business on a global scale. With dozens of MySQL instances spread out all over the globe, Lush was unable to see real-time analytics on their inventory, limiting their ability to rapidly adjust strategy. Efficiently managing inventory across 900+ stores across 47 countries is no small task.
