The Database Magic Behind 40MIO Ops/S

Rate this content
Bookmark

Developers need a database that scales out and performs like a lightning. In this talk, we'll show how that's possible with Couchbase.

This talk has been presented at Node Congress 2023, check out the latest edition of this JavaScript Conference.

FAQ

The company managing the database for 40 million operations a second is called Amadeus.

Amadeus primarily serves business-to-business operations for travel agencies and airlines, handling various aspects of travel-related services.

Amadeus uses Couchbase, a distributed database designed for scalability and high-speed operations.

Couchbase features include JSON data model flexibility, scalability up to 1024 nodes, high availability, embedded caching, and a mobile database option. It supports key value or SQL++ queries and is ANSI standard 2003 compatible.

The Couchbase mobile database is a lightweight version designed for mobile devices and web browsers, focusing on offline-first operation and peer-to-peer synchronization.

Couchbase can be deployed on-premises, managed via Kubernetes, or hosted on Capella, Couchbase's cloud platform, which is compatible with AWS, Google Cloud, and Microsoft Azure.

From 2011 to 2019, the demand for Amadeus's services grew from approximately 600,000 to 15.2 million availability requests per second, demonstrating significant growth in their service demand.

Couchbase can handle JSON documents up to 20 megabytes in size.

Michael Hirschberg
Michael Hirschberg
7 min
14 Apr, 2023

Comments

Sign in or register to post your comment.
Video Summary and Transcription
This lightning talk discusses the database magic behind handling 40 million operations a second. The Amadeus database, powered by Couchbase, caters to travel agencies and airlines and handles a massive amount of traffic. Couchbase is a flexible and scalable database that supports JSON and SQL++ and provides low response times. It offers deployment options for on-premises, Kubernetes, and Capella cloud, and also has a mobile database for offline-first functionality and peer-to-peer communication.

1. Database Magic: 40 Million Operations a Second

Short description:

Welcome to my lightning talk about the database magic behind 40 million operations a second. Amadeus is the company behind the database, catering to travel agencies and airlines. The Amadeus database handles a massive amount of traffic, ensuring quick responses to avoid financial losses. Over the years, the availability requests per second have grown exponentially, reaching 15.2 million in 2019 and an estimated 40 million by 2023. To handle this immense workload, Couchbase, a reliable and fast distributed database, is used. Couchbase combines various components into one, providing scalability and fast request processing.

All right. Welcome to my lightning talk. And I'm going to talk about the database magic behind 40 million operations a second. It all starts with a company behind. So, the clicker is clicking. Yeah. The company doing this is called Amadeus. You might have heard of this company. You might have heard not of this company. The company is doing business to business for travel agencies for the airlines, everything around travel.

If you go look for a ticket, let's say to fly from Berlin to, I don't know, New York. The Amadeus database underneath, by the way, it doesn't really matter whom you will be talking to. Opado, Expedia, Kayak, Idealo, it doesn't matter. Underneath, it's always Amadeus database. It has to answer quite quickly like this because the traffic is growing. And if they don't answer in the right time, they're losing money.

Now on the graph, you can see, if it all started with the graph 2011, I would say it's roughly 600K availability requests per second. 2019, the presentation was created. It's, by the way, not my slide. It's the slide directly from Amadeus. It was 15.2 million availability requests per second. And it has to go really, really, really quickly. By the time 2023, you can sum it up, it's, give or take, 40 million a second. Because each year, they face a growth of 40% a year.

Now, to handle all of this, you need a good database. Not only good, but reliable and also fast. And the database is Couchbase underneath. Couchbase is a distributed database, which was built with scaling out in mind, and doing the requests really, really quickly. Normally, in the normal landscape, you would have a lot of components, such as relational database to run transactions, you would have a NoSQL database for the flexibility, you would cache everything, then you would have a full-text search engine, eventing, maybe analytics and some mobile database for your phone, laptop, and also the web browser. With Couchbase, you have everything in one hand, we have all of these capabilities, and that is a small list of what's possible with Couchbase.

2. Couchbase: Flexible, Scalable, and Mobile

Short description:

Couchbase is a flexible, scalable, and fast database that supports JSON and SQL++. It is highly available, reliable, and always running, serving customer traffic with low response times. Deployment options include on-premises, Kubernetes, and Capella cloud. The mobile database is a lightweight version that syncs data with the main database, ensuring offline-first functionality and peer-to-peer communication. Couchbase can handle JSON documents up to 20 megabytes.

Flexible, because we use the JSON model, it's scalable, we can have up to 1024 nodes, it's really fast because you can talk to Couchbase key value or SQL++, it's our own version of SQL, and it's compatible with ANSI standard 2003.

It's highly available, it's quite reliable, because with Amadeus, they had not a single downtime with the time they used Couchbase. It's always on, always running, always scaling out, always serving the customer's traffic, so if you've been looking for the tickets, you probably know that normally, the entering times are quite low. We also have embedded caching inside, and we have the mobile database, really important.

Deployment is quite flexible. You can run on your own premises with traditional old-fashioned binaries. You can use the Kubernetes operator and you can use our own cloud, which is called Capella. It's like right there on my T-shirt, and it runs on AWS, Google, or Microsoft Azure. Go try it out. It's quite easy to use. There are always examples for Node.js.

And now, I'm open to answer your questions. See? It was not even seven minutes. It was quite precisely four minutes. So, questions, yes? The mobile database, the question was, what is the mobile database? The mobile database is a light version of the database which is installed on mobile devices on Raspberry Pi, on web browser. And it's synchronizing the data with the main database in the cloud on your premises of a special component. This component is making sure that your device is getting only the data it's supposed to get. So it's a lightweight database. Let's put it this way. It's designed to work offline first. The components with mobile databases can talk to each other peer-to-peer. Yes. I am not sure I would have answered to the question about vector database. Not really. Sorry. It's either JSON or binaries. Nothing else. Yes, please. Well, it's JSON. So basically, we can digest all the JSON documents, up to 20 megabytes. OK, I see no more questions.