Editor’s note: Learn from Mohamed Nazeemudeen, Director of software engineering at Macy’s, about Macy’s strategy regarding choosing cloud databases and how Macy’s pricing services leverage Cloud Bigtable under the hood. You can also find Mohamed’s Google Cloud Next ‘21 session on this topic on YouTube.
At Macy’s we lead with our aim of fostering memorable shopping experiences for our customers. Our transition from on-premises operations to the Google Cloud Platform (GCP) cloud-first managed service databases is an extension of this dedication. Our mutual commitment to innovation in customer service led to the acceleration of our digital transition at an uncertain time for our industry and our company.
As one of the nation’s premier omnichannel fashion retailers, Macy’s has 727 stores and operates in 43 states in the US. By leveraging Google’s databases, we’ve emerged from the COVID-19 pandemic with newfound scalability, flexibility, customer growth, and a vision that consistently challenges and inspires us to enhance the customer experience. Through our Google partnership, we succeeded at bolstering our e-commerce platform, optimizing internal operational efficiency, and enhancing every critical component of our services by choosing the appropriate database tools.
How Macy’s leveraged GCP services to optimize efficiency
Common Services is a strategic initiative at Macy’s that leverages GCP-managed services. The goal of Common Services is to provide a single source of truth for all internal clients of Macy’s selling channels. This centralization of our operations allows us to provide an integrated customer experience across the various channels of our company (digital, stores, enterprise, call centers, etc.).
How Bigtable and Spanner support pricing and inventory management
The SLA for Common Services is a 99.99% uptime, with cross-regional availability, supporting more than tens of thousands of queries per second at single digit latency at the 95th percentile. We decided to use GCP-managed services to lower our operational overhead.
To store data from our catalog and support our inventory management, we leveraged Spanner. Our catalog service requires low latency and is tolerant to slightly stale data, so we used stale reads from Spanner with about 10 seconds exact staleness to keep latency low (single digit).
We utilized Bigtable on Google Cloud as the backing database for our pricing system as it entails a very intensive workload and is highly sensitive to latency. BigTable allows us to get the information we need, with latency under 10ms at p99, regardless of the scale and size of the data. Our access pattern entails finding an item’s ticket price based on a given division, location, and the universal price code (UPC) which identifies the item. The system on BigTable supports a time that spans from multiple days in the past to multiple days in the future.
We have millions of UPCs and more are added every day. With 700+ stores, and potentially multiple price points per item, we create billions of data points. Our calculations, therefore, show that we will require dozens of terabytes of storage. The storage available on GCP supports all our extensive storage needs while optimizing speed, functionality, and efficiency.
How we designed our BigTable schema
We wanted to access the information with one row key lookup to keep the overall latency low. For the row key, we use the location and the UPC. In order to avoid key range scans, and to be mindful of storage requirements, for the timestamp price values, we chose to use a protobuf inside a cell. Our performance testing showed that the cost of deserializing the protobuf was negligible and with GCP, our latency remained in single digit milliseconds.
Our price systems involve heavy batch writes while processing price adjustment instructions, we have isolated the read and write workloads using Bigtable app profiles. The app profile is configured with multi-cluster routing so that Bigtable does the high availability for us.
Our ability to enhance the performance of our operations and deliver a better experience for our customers is a direct reflection of GCP-managed services. The success of our partnership with Google reflects a mutual commitment to embracing innovation and imagination. We enjoyed this opportunity to expand Macy’s reach and streamline the shopping experience for our customers. We are excited to bring a new standard of personalization, accessibility, and comfort to today’s retail industry.
Cloud BlogRead More