由安德鲁·斯洛伐克总统加什帕罗维奇

im体育 processes more than 12 billion shopping requests 和 serves over 1 billion travelers every year. Through our next generation of AI-powered solutions, we are focused on optimizing the retailing, 分布, 和 fulfillment experience of the travel industry. In my role as chief architect for im体育实验室, I spearhead the long-term technology choices we are making to enhance the development, 部署, 以及im体育软件的操作. We’ve embarked on a multi-year strategy to transform our technology 和 solutions. Rearchitecting our infrastructure to become fully cloud native is a central tenet of this transformation. In these early iterations of our plan, we have seen the significant impact of 机器学习 和 its potential in bringing truly personalized travel experiences to customers. 作为这一努力的一部分, we’ve established a 10-year partnership with 谷歌 to help accelerate our transformation 和 bring innovation to the travel industry.

选择数据库需要权衡

The complexity 和 scale of the travel industry places high dem和s on the cloud services we utilize. We tend to place more emphasis on how a particular cloud service will impact an application’s reliability, 性能, 或开发时间, rather than choosing a service purely for its functionality. When it comes to databases, this can often mean making a tradeoff between latency 和 consistency.

The tradeoff exists for any database that serves multiple copies of its data in different availability zones or geographic regions for reliability. A database designed to ensure that everyone sees a consistent view of the latest data might update those copies synchronously using a 共识的算法, which affects how quickly the data can be served. 另一方面, a database that’s optimized for faster data serving might update each copy asynchronously 和 not guarantee consistent reads across records.

云扳手Bigtable – two of 谷歌 Cloud’s managed databases – are both highly effective services, 和 each one could support many of our travel applications. But as you will see, the latency vs. consistency tradeoff made it clear which one was best suited for two of our most critical cases.

谷歌 云扳手 facilitates strong, global consistency for im体育

An airline’s reservation database stores a passenger’s booking information, 座位选择, 票, 特殊要求, 和 other critical information about their trip. As a result, this data sits at the consistency end of that consistency/latency spectrum. im体育 typically processes thous和s of reservation updates per second on behalf of our carrier customers. An airline’s reservation database must be served from many availability zones (和 data is replicated across these availability zones) so that it remains available in the event of an outage. 它还需要 ACID属性 for transactional updates across records since airlines often make changes to multiple passengers 和 multiple flights at the same time.

We needed a system that can h和le bursts of concurrent updates, as would occur during a snowstorm when hundreds of thous和s of passengers might be automatically moved to alternate flights. 扳手 is a great fit for the reservations case because of its unique consistency guarantees. It processes over 1 billion requests per second at peak 和 provides five 9s SLA (99.999 percent) to support our applications. 扳手 also helps us maintain compliance, 业务连续性, 冗余, 和 reliability using the same secure-by-design infrastructure, built-in data protection 和 replication, 和 multi-layered security that are essential to our 谷歌 Cloud workloads.

扳手’s client libraries also provide built-in mechanisms to h和le retrying in the event of write conflicts with another transaction 和 allow developers to choose stale reads in read-only transactions for improved 性能. Of course, consistency across multiple zones or regions doesn’t come for free. It means higher write latencies than if we wrote to a comparable database running in a single availability zone, but for an application that manages flight reservations, 这是一个合理的权衡.

Bigtable provides predictable, low latency at scale

Our flight shopping systems sit at the other end of the latency/consistency spectrum. im体育’s shopping engine generates millions of itineraries per second on behalf of travelers using mobile apps, 第三方旅游网站, 航空公司呼叫中心. Each itinerary requires significant compute resources to calculate: We need to find which combinations of flights make sense 和 evaluate complex rules about their availability 和 pricing. Users are typically less patient while searching for a flight than they are when booking it, so we need to return a result within a second or two. But we can cache many of these shopping results to reduce our compute usage. For instance we can decide how long to cache results based on factors like how far the flight results are from the departure. 

Bigtable makes an excellent choice for this shopping cache. It’s a NoSQL database service built to h和le high-throughput, 低延迟应用程序, with more than 10 exabytes of data under management. Bigtable的 unique latency properties—such as predictability 和 single-digit millisecond response time even for multi-petabyte tables—enable us to serve large volumes of shopping results cost effectively, while providing low response times to travelers.

谷歌 Cloud supports a focus on innovation

Managed databases like Bigtable 和 扳手 are a significant part of im体育’s cloud strategy. The combination of unique tools like Bigtable的键可视化器 和 扳手 as well as integration with other 谷歌 Cloud services like Cloud IAM, Cloud Monitoring, 和 now 数据流, make the experience of operating managed databases with 谷歌 Cloud much easier than it is with several of their self-hosted counterparts. As a result of their granular pricing models 和 ability to be deployed 和 automated by 老, the managed databases we use also end up with a lower total cost of ownership.

We’re particularly excited about a few recent database-related announcements from 谷歌 Cloud. Bigtable的 SLA更新 gives us more concrete expectations in terms of multi-cluster, multi-region uptime. 扳手’s change to provisioning in 处理单元 increases its cost efficiency when deploying in non-production environments where we may need many isolated instances, but won’t come close to the limits of a single node. In those cases, 扳手 instances may now be configured in one-tenth of a node increments.

Our cloud transformation depends on having a choice of databases for different use cases, 权衡, 和迁移计划. 除了托管数据库, we expect to use self-hosted databases, database solutions available in Cloud Marketplace, 过渡性服务,比如 云SQL 再过几年. In an industry as dem和ing as travel, accelerating our most critical applications using technology unique to 谷歌 Cloud means less time spent optimizing latency 和 consistency, 更多的时间花在创新上.