Yulu's Data Breakthrough: 72% Storage Savings & Scalability with TiDB

Overview

Yulu hit 18TB storage bloat driving high AWS IOPS bills for millions of IoT ride records. Write bottlenecks throttled during peak commute hours blocking real-time operations. DDL changes locked tables causing app slowdowns for riders. Single-master setup risked downtime hurting service availability. Mydbops partnership enabled smooth migration with zero interruption. Seamless scaling for growing ride volumes. Higher operational efficiency, bigger revenue.
↑
↓
72
%
Storage Savings
Data volume optimized from 18TB to 3.4TB
↑
99.999
%
↓
Database Uptime
TiDB ensured uninterrupted service with built-in failover.
0 Downtime
↑
↓
During DDL Operations
Online schema changes without affecting app performance.
Real-time
↑
↓
Live Synchronization
Live replication enabled smooth switchover.
TiDB
Consulting Services

About

Yulu logo
Yulu operates 45,000+ electric bikes across Bengaluru, Delhi NCR, Mumbai, Hyderabad serving 100M+ green rides. Powers last-mile deliveries for Swiggy, Zomato, Blinkit with 30K+ daily active vehicles. Completed 1.3B clean kilometers, prevented 25M kg CO2 emissions. FY25 revenue hit ₹237 crore (98% YoY growth). Expanding to 7,500+ buses by 2026 targeting IPO.
Naveen Dachuri, Co-Founder & CTO, Yulu
★★★★★
It’s really impressive to see how Mydbops helped reduce our 18TB dataset down to just 3.4TB — a huge win in terms of efficiency and storage savings. As a valued partner, we truly appreciate your support and expertise in scaling Yulu’s infrastructure.
Naveen Dachuri
Co-Founder & CTO, Yulu
Yulu logo
Deployment Type
Database Stack
Outcome
Cloud-Based Deployment
TiDB cluster on AWS
18 TerraByte → 3.4 TerraByte
Deployment Type
Cloud-Based Deployment
Database Stack
TiDB cluster on AWS
Outcome
18 TerraByte → 3.4 TerraByte

Business Challenges

Overview
Yulu’s fast-growing operations demanded a scalable and cost-efficient database layer. However, their monolithic MySQL setup was hitting limitations in terms of storage, write throughput, and availability.

‼️ Storage Bloat with Poor Compression: Yulu’s IoT data exceeded 18TB monthly. MySQL lacked efficient compression and smart storage handling, causing high IOPS demand, bloated AWS bills, and difficulty retaining historical data.

‼️ Write Bottlenecks During Traffic Spikes: RDS MySQL struggled with the volume of incoming IoT writes. During peak loads, IOPS throttling led to high write latency and occasional query failures.

‼️ Downtime from Schema Changes (DDL): DDL operations like adding columns in large MySQL tables led to locking and application slowdowns. Managing schema changes at scale was painful and risky.

‼️Low Availability with Single-Master Setup: A single-master database meant any failure caused downtime. Lack of automatic failover hurt service availability and user trust.

‼️ Scaling Limitations: The vertically scaled architecture couldn’t independently scale reads and writes. Replication lag and rigid scaling slowed performance during high demand.

Goals
The key objectives the client was aiming to achieve:

→ Cut Storage & IOPS Costs: Reduce storage footprint and AWS expenses.

→ Improve Write Scalability: Handle high-volume IoT data without throttling.

→ Reduce DDL Downtime: Avoid app impact during schema changes.

→ Ensure High Availability: Eliminate single points of failure.

→ Adopt Scalable Architecture: Enable future growth with distributed design.

Risks if Not Addressed
If left unresolved, these challenges posed serious risks

Solution Provided by Mydbops

Mydbops replaced Yulu’s monolithic RDS MySQL with a scalable TiDB cluster, enabling distributed storage, seamless write scalability, and zero-downtime schema changes—while significantly reducing storage costs.

▸ In-depth Infrastructure & Workload Analysis‍

Our team began by auditing Yulu’s schema, indexes, and query patterns. We also studied traffic loads and application behavior to identify bottlenecks.

‍

▸ Proposed & Deployed a Distributed TiDB Cluster

‍Based on Yulu’s scale and growth plans, we designed a production-grade TiDB architecture:

  • 3 TiKV (storage) nodes
  • 3 Placement Driver (PD) nodes
  • 2 TiDB SQL nodes

This ensured separation of compute and storage, fault tolerance, and distributed write/read operations.

‍

▸ Live Migration Using DM Pipelines‍

To avoid long downtime, we used TiDB’s Data Migration (DM) tool. It allowed real-time replication from MySQL, letting Yulu continue operations on MySQL while data synced in the background.

‍

▸ Efficient Storage with LSM Trees‍

TiDB’s TiKV storage engine uses Log-Structured Merge Trees, which optimize both disk I/O and compression. This led to a huge reduction in final storage size post-migration — from 18TB to 3.4TB.

‍

▸ Enabled Online Schema Changes‍

We leveraged TiDB’s online DDL capabilities so schema changes could happen without locking tables — a major operational win over MySQL.

‍

▸ High Availability Setup‍

TiDB’s automatic failover ensured availability, even if a node failed. This removed dependency on a single-master and minimized impact during maintenance or failure.

‍

▸ Ongoing Performance Tuning & Best Practices‍

We optimized queries for distributed execution, reviewed resource usage, and established alerts and monitoring for proactive operations.

Yulu's Scalable TiDB Architecture for Real-Time IoT Workloads This architecture manages millions of IoT records daily with zero downtime, real-time sync, and 72% storage savings. PD PD PD PD Cluster TiDB TiDB TiDB TiDB TiDB Cluster TiKV TiKV TiKV TiKV TiKV TiKV TiFlash TiFlash TiFlash Storage Cluster Application via MySQL Protocol TSO/Data location Metadata DistSQL API KV API

Results and Impact

Key Outcomes

✅  72% Storage Savings‍

Yulu’s disk usage dropped from 18TB to 3.4TB, saving costs on both storage and IOPS. The use of LSM trees in TiKV was critical in this outcome.

‍

✅  Zero Downtime Schema Changes‍

DDL operations were now seamless and did not impact application availability. Developers could push schema updates with confidence.

‍

✅  Improved Write Scalability‍

TiDB’s distributed architecture allowed writes to scale horizontally. The system handled traffic surges gracefully without hitting IOPS or compute bottlenecks.

‍

✅  High Availability & Resilience‍

Automatic failovers and a multi-node setup removed single points of failure. This significantly increased reliability and reduced support escalations.

‍

✅  Real-Time Sync with Minimal Cutover Risk‍

Thanks to live data replication during migration, Yulu experienced negligible downtime. The cutover to TiDB was smooth and controlled.

‍

✅  Future-Ready for HTAP Workloads‍

Yulu is now positioned to explore Hybrid Transactional and Analytical Processing (HTAP), combining real-time operational workloads with in-depth analytical queries — all on TiDB.

‍

Storage & Cost Optimization (MySQL ➝ TiDB) Metric Before (MySQL) After (TiDB) Change Data Size Total Storage 18 TB 3.4 TB ↓ 81% Storage Cost Monthly Expense High (SSD) Reduced (TiKV) Significant ↓ DDL Downtime Schema Changes High (Locking) Zero Eliminated IOPS Usage Performance Bottlenecked Smooth Optimized

At the heart of every mobility revolution is data — and for Yulu, ensuring that data remains fast, scalable, and reliable was a non-negotiable need. With over 72% reduction in storage and dramatic improvements in write scalability, Yulu’s transformation wasn’t just technical — it was strategic. By partnering with Mydbops, they didn’t just migrate databases — they unlocked new possibilities, better cost efficiency, and peace of mind for their tech team.

‍

This isn’t just a story about TiDB. It’s a story about choosing a partner who understands the urgency of performance, the weight of reliability, and the power of proactive architecture. If you're facing performance bottlenecks, spiraling cloud bills, or scalability roadblocks — you don’t have to solve them alone. We’re here to help.

Get TiDB Support →

Need Expert Database Solutions?

Talk to a Database Expert Today!

Thank You!
We’ve got your request, our expert team will be contacting you shortly.
Oops! Something went wrong while submitting the form.
Download Case Study