大发足球app下载每年处理超过120亿次购物请求,为超过10亿名旅客提供服务. 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 大发足球app下载实验室, I spearhead the long-term technology choices we are making to enhance the development, 部署, 以及大发足球app下载软件的操作. We’ve embarked on a multi-year strategy to transform our technology 而且 solutions. 重新架构大发足球app下载的基础设施,使其成为完全的云本地是这次转型的核心原则. In these early iterations of our plan, we have seen the significant impact of 机器学习 而且 its potential in bringing truly personalized travel experiences to customers. 作为这一努力的一部分, 大发足球app下载与谷歌建立了10年的合作伙伴关系,帮助大发足球app下载加快转型,为旅游行业带来创新.

Database choices require tradeoffs

旅游业的复杂性和规模对大发足球app下载使用的云服务提出了很高的要求. 大发足球app下载倾向于更加强调特定的云服务将如何影响应用程序的可靠性, 性能, 或开发时间, rather than choosing a service purely for its functionality. 对于数据库,这通常意味着在延迟和一致性之间进行权衡.

对于任何在不同可用性区域或地理区域中为其数据的多个副本提供服务的数据库,为了提高可靠性,都需要进行权衡. 为确保每个人都能看到最新数据的一致视图而设计的数据库可能会使用 共识的算法, which affects how quickly the data can be served. 另一方面, 为更快的数据服务而优化的数据库可能会异步更新每个副本,而不保证跨记录的一致性读取.

云扳手 而且 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 大发足球app下载

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. 大发足球app下载通常每秒会代表运营商客户处理数千次预订更新. 航空公司的预订数据库必须从许多可用性区域提供服务(并且跨这些可用性区域复制数据),以便在出现故障时仍然可用. 它还需要 ACID属性 用于跨记录的事务性更新,因为航空公司经常同时对多个乘客和多个航班进行更改.

We needed a system that can h而且le bursts of concurrent updates, 就像在暴风雪期间,成千上万的乘客可能会被自动转移到备用航班. 扳手 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.

扳手的客户端库还提供了内置机制来处理与另一个事务发生写冲突时的重试,并允许开发人员在只读事务中选择陈旧的读以提高性能. Of course, consistency across multiple zones or regions doesn’t come for free. 这意味着,与对运行在单个可用性区域的可比数据库进行写操作相比,要有更高的写延迟, 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. 大发足球app下载的购物引擎每秒为使用移动应用程序的旅行者生成数百万条行程, 第三方旅游网站, 航空公司呼叫中心. 每个行程都需要大量的计算资源来进行计算:大发足球app下载需要找出哪些航班组合是有意义的,并评估它们的可用性和定价的复杂规则. 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. 例如,大发足球app下载可以根据飞行结果到出发地的距离等因素来决定缓存结果的时间. 

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独特的延迟特性—例如可预测性和即使对于多拍字节的表也只有一位数的毫秒响应时间—使大发足球app下载能够有效地提供大量的购物结果, while providing low response times to travelers.

谷歌 Cloud supports a focus on innovation

Managed databases like Bigtable 而且 扳手 are a significant part of 大发足球app下载’s cloud strategy. The combination of unique tools like Bigtable的键可视化器 而且 扳手 as well as integration with other 谷歌 Cloud services like Cloud IAM, Cloud Monitoring, 而且 now 数据流, 使使用谷歌Cloud操作托管数据库的体验比使用其他自托管数据库要容易得多. 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 处理单元 在非生产环境中部署时提高了成本效率,因为大发足球app下载可能需要许多独立的实例, 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, 使用谷歌Cloud独有的技术加速大发足球app下载最关键的应用程序意味着花在优化延迟和一致性上的时间更少, 更多的时间花在创新上.