toplogo
התחברות

Agoda's Booking Deduplication System: Preventing Duplicate Bookings Across Multiple Data Centers


מושגי ליבה
Agoda's booking deduplication system effectively prevents the creation of duplicate bookings across multiple data centers, supporting the company's rapid growth and diverse product offerings.
תקציר

Agoda faced a significant issue with unwanted duplicate bookings being accidentally created due to system incidents and customer rebooking attempts. To mitigate this, Agoda introduced a booking deduplication feature that detects and prevents duplicate bookings.

As Agoda expanded its operations across multiple data centers and diversified its product offerings, the legacy booking deduplication system faced new challenges. The system could not detect duplicates when traffic was shifted between data centers, and maintaining separate deduplication services for each product type was complex.

Agoda addressed these challenges by:

  1. Establishing a central data center to house data from all other data centers, allowing the deduplication service to function correctly even with traffic movement.
  2. Implementing redundancy by querying data from both the central and local data centers.
  3. Adopting data hashing to unify the deduplication feature across all product types, simplifying the system and enabling seamless addition of new products.
  4. Leveraging SQL database features, such as unique key constraints and isolation levels, to address the issue of duplicate API requests within a one-second interval.

The new booking deduplication system retrieves data from both local and central databases, combines the results, and processes the data to determine if a customer request is a duplicate booking. This approach ensures data integrity and redundancy, even in the event of database failures.

The system uses a single, generic table to accommodate all product types, making it highly scalable and easy to maintain. The table stores hashed static data for efficient exact matching and raw dynamic data in JSON format for flexible processing.

The booking deduplication service follows a four-step process: (1) retrieving and combining candidates from local and central databases, (2) filtering out candidates by status, (3) applying additional product-specific logic, and (4) reaching a conclusion on whether the request is a duplicate booking.

This new architecture has enabled Agoda to effectively manage duplicate bookings across its multi-data center infrastructure and diverse product offerings.

edit_icon

התאם אישית סיכום

edit_icon

כתוב מחדש עם AI

edit_icon

צור ציטוטים

translate_icon

תרגם מקור

visual_icon

צור מפת חשיבה

visit_icon

עבור למקור

סטטיסטיקה
When a customer makes a booking, they receive a Booking ID in return. A pop-up "Is this a duplicate booking?" is shown to the customer if the system detects an existing booking.
ציטוטים
"When a customer makes a booking, they receive a Booking ID in return." "A pop-up 'Is this a duplicate booking?' is shown to the customer."

שאלות מעמיקות

How does Agoda's booking deduplication system handle cases where a customer intentionally makes multiple bookings for the same trip (e.g., booking a hotel and a flight separately)?

Agoda's booking deduplication system handles cases where a customer intentionally makes multiple bookings by detecting duplicate bookings based on the booking context. When a customer attempts to make another identical booking, the system checks for existing bookings in Agoda's database. If a duplicate booking is detected, a pop-up message asking, "Is this a duplicate booking?" is displayed to confirm the customer's intent. This process helps prevent unintentional duplicate bookings and allows customers to confirm their booking choices before proceeding.

What are the potential drawbacks or limitations of Agoda's centralized data approach, and how does the company address them?

Some potential drawbacks or limitations of Agoda's centralized data approach include: Single point of failure: If the central data center experiences downtime or technical issues, it can impact the entire booking deduplication system. Data synchronization challenges: Ensuring real-time synchronization of data across multiple data centers can be complex and resource-intensive. Increased latency: Accessing centralized data from different data centers may result in increased latency for processing booking requests. To address these limitations, Agoda implements redundancy measures to ensure data availability and reliability. By retrieving data from both local and central databases and combining the results, the system maintains data integrity even in the event of database failures. Additionally, the company continuously monitors and optimizes data synchronization processes to minimize latency and ensure seamless operation of the booking deduplication system.

How could Agoda's booking deduplication system be adapted to handle other types of e-commerce transactions, such as product purchases or service bookings, across different industries?

Agoda's booking deduplication system can be adapted to handle other types of e-commerce transactions by customizing the deduplication logic based on the specific requirements of different industries. For product purchases, the system can compare unique product identifiers or attributes to detect duplicate orders. In the case of service bookings, the system can analyze booking details such as service type, date, and customer information to identify duplicate bookings. To expand the system's applicability across industries, Agoda can modularize the deduplication process and create configurable rules for different transaction types. By defining specific criteria for detecting duplicates and integrating industry-specific data models, the system can effectively prevent unwanted duplicate transactions in various e-commerce scenarios. Additionally, leveraging technologies like JSON data storage and dynamic comparison algorithms can enhance the system's flexibility and scalability for handling diverse e-commerce transactions.
0
star