← Back to all projects
Serverless Hotel Search · CASE STUDY

Serverless Hotel Search Optimization

A dedicated hotel search path using AWS Lambda and MongoDB, synchronized from the SQL source through CDC.

ROLEBackend Engineer (Team Contributor)
TYPEProfessional team project
TECHNICAL SCOPESearch Endpoint, Data Synchronization, Read Model

Overview

Hotel searches initially read from the SQL database that also supported core operations. Growing search traffic increased pressure on that shared read path.

The challenge

Search needed its own read path without querying the primary SQL database on every request. MongoDB data also had to follow source changes, with a possible synchronization delay.

Technical approach

The AWS Lambda endpoint reads search data from MongoDB. Changes from SQL flow through CDC, Debezium, and Kafka to the Go sync-to-mongo worker, which writes to the MongoDB read model separately from search requests.

ARCHITECTURE SIMULATION

Follow the data

Two separate paths run below. Select a technology to pause and inspect its role.

01 / READ PATH

Search request

STEP 01 OF 05
WHAT MOVES HERESearch request

Guest

A guest sends a hotel search request.

Search requests read MongoDB, not the primary SQL database on every request.

02 / CHANGE PATH

Data synchronization

STEP 01 OF 05
WHAT MOVES HEREData change

SQL

Hotel data changes in the source SQL database.

The event flow updates the search read model separately. A synchronization delay is possible.

Conceptual architecture · no production traffic, timing, or internal data shown

My contribution

Developed the AWS Lambda search endpoint and the Go worker in sync-to-mongo that processes Kafka events into MongoDB as part of a team.

Architecture outcome

Search requests use a dedicated read path from AWS Lambda to MongoDB. Source updates reach that search read model through a separate event flow, so each search does not have to query the primary SQL database directly. This describes the architecture, not a measured performance gain.

Data synchronization is event based. A change in SQL may take time to appear in MongoDB.

Relevant technologies

AWS LambdaSSTMongoDBCDCDebeziumApache KafkaGoSQL