Deploying Code to Offline Stores, Part 2: Olive Young's Electronic Shelf Label (ESL) Optimization Journey
Key point
By using Partitioning, batch processing time was reduced from 13.5 days to 5 minutes, and Serverless v2 cut costs by 40%.
Details
To roll out Electronic Shelf Labels (ESL) to over 1,300 stores, simply implementing the feature wasn't enough. In the initial V1, processing a single store took an average of 15 minutes, bringing total processing time to about 13.5 days, and completing sequential batches before store opening hours was practically impossible.
To improve concurrent processing performance, Spring Batch Multi-threaded Step was applied, but long transactions overlapping with concurrent Writes on adjacent index ranges caused Deadlock Loser issues. Simple parallelization actually increased lock contention, and the bottleneck was found to be in lock contention rather than data processing speed.
The solution was Partitioning. By dividing the entire dataset into PK ranges so that each Worker Step processed only a distinct range, data interference was eliminated at the root.
- Operates with a Lock Free structure, blocking DB Deadlocks
- Each worker performs Aggregation and Update within its own independent range
- As a result, batch processing for 1,300 stores was reduced from 13.5 days to 5 minutes
After solving the batch speed issue, infrastructure elasticity remained a challenge. The traffic gap between normal periods and promotion/Olive Young Sale periods was too large, making it difficult to satisfy both cost and stability simultaneously with a fixed RDS On-Demand setup.
To address this, Aurora RDS Serverless v2 was introduced to automatically scale DB resources up and down based on traffic. During batch time windows, ACU would rise quickly to absorb the load, while during normal periods it would drop to minimum levels, reducing costs.
As a result, this transition achieved two goals simultaneously.
- Application Level: Large-scale batches must avoid locks through Partitioning rather than simple parallelization
- Infrastructure Level: The value of the cloud doesn't end with renting servers—it lies in using resources Elastically
Thanks to this structure, both stability and efficiency were secured together, achieving about 40% cost savings compared to fixed instances.
This summary was generated automatically by AI. Check the original for the author's claims and context. Copyright belongs to the original author.
Our guide explains how the AI works. Report summary errors, attribution issues, or removal requests via Contact.