Back to Projects

Read API Optimization with Elasticsearch

High-Performance Search Solution for TC+ Platform

ElasticsearchMySQLPHPData PipelineElastic Cloud

Overview

Solved critical performance bottlenecks in TC+ platform's read-heavy APIs by architecting an Elasticsearch-based solution. As MySQL grew and searches through names and listings became increasingly slow, I designed a hybrid architecture prioritizing availability over consistency for read operations.

The Performance Challenge

The TC+ platform faced escalating performance issues:

  • Growing MySQL database making searches through names increasingly slow
  • Multiple listing APIs with high latency affecting user experience
  • Read-heavy operations bottlenecking the entire system
  • Need for fast, scalable search capabilities across large datasets

My Role & Solution Architecture

  • Analyzed system bottlenecks and identified read API optimization as critical priority
  • Designed hybrid architecture with MySQL for transactional data and Elasticsearch for reads
  • Created robust data pipeline ensuring MySQL-Elasticsearch synchronization
  • Developed strategic indexing approach with per-client and common indexes
  • Migrated all read-heavy APIs to Elasticsearch while maintaining data integrity

Technical Implementation

Hybrid Database Architecture

  • MySQL: Remained as functional relational database for transactions
  • Elasticsearch: Optimized for all read-heavy operations and searches
  • Data Pipeline: Real-time synchronization between MySQL and Elasticsearch
  • API Layer: Smart routing for read vs write operations

Indexing Strategy

  • Per-Client Indexes: Dedicated indexes for each client's data isolation
  • Common Indexes: Shared indexes for frequently accessed common data
  • Optimized Mapping: Custom field mappings for search performance
  • Index Lifecycle: Automated management and optimization policies

Infrastructure & Management

  • Elastic Cloud: Managed Elasticsearch service reducing operational overhead
  • Auto-scaling: Dynamic scaling based on query load
  • Monitoring: Real-time performance metrics and alerting
  • Backup & Recovery: Automated data protection and disaster recovery

Data Pipeline Design

  • Real-time change data capture from MySQL
  • Asynchronous processing to prevent blocking transactional operations
  • Error handling and retry mechanisms for data consistency
  • Bulk indexing optimization for large dataset updates
  • Monitoring and alerting for pipeline health

Results & Impact

80%

Improved search performance

<100ms

Average search response

50%

Reduced MySQL load

Zero

Operational overhead

Key Achievements

  • Significantly improved system performance by moving read operations to Elasticsearch
  • Reduced search latency from seconds to sub-100ms response times
  • Maintained data integrity through robust synchronization pipeline
  • Eliminated operational overhead using Elastic Cloud managed services
  • Enabled horizontal scaling for growing client data requirements
  • Improved user experience across all listing and search functionalities

Design Principles

  • Availability over Consistency: Optimized for read performance and system availability
  • Data Separation: Clear boundaries between transactional and search data
  • Scalability: Per-client indexing strategy supporting growth
  • Operational Simplicity: Managed services reducing maintenance complexity

Tech Stack

ElasticsearchElastic CloudMySQLPHPData PipelineREST APIsJSONIndexing StrategyPerformance Optimization