Sabre、年間 10 億人以上の旅行者にサービスを提供するために Bigtable と Cloud Spanner を選定
Google Cloud Japan Team
※この投稿は米国時間 2022 年 1 月 26 日に、Google Cloud blog に投稿されたものの抄訳です。
Sabre は、革新的なソフトウェアおよびテクノロジーを提供する企業で、世界中の旅行業界関係のパートナーのために、高いスケーラビリティを備えたデータベースや人工知能(AI)を活用しています。Sabre は、年間で 120 億以上のショッピングのリクエストを処理し、10 億人以上の旅行者にサービスを提供しています。
パートナー企業は、航空会社、旅行系のウェブサイト、旅行代理店、ホテルなどです。Sabre は、最新テクノロジーをオペレーションに組み込んできた長い歴史により、差別化を図ってきました。初期のイノベーションには、現存するものとしては最古となるトランザクション処理システムや、インターネットの登場前から存在する旅行の販売ネットワークの構築などが含まれます。Sabre は、AI を活用した次世代ソリューションを通じた、旅行業界の小売、販売、納品エクスペリエンスの最適化に焦点を当てています。
Sabre Labs のチーフ アーキテクトとしての私の役割は、ソフトウェアの開発、デプロイ、オペレーションを強化するうえでの、長期的なテクノロジー面での意思決定を先頭に立って行うことです。Sabre ではテクノロジーとソリューションを変革していくための、複数年にわたる戦略に着手しています。この変革の中心的な指針となっているのが、インフラストラクチャを再設計し、完全にクラウド ネイティブになることです。計画の初期段階では、機械学習による大きな影響を目の当たりにし、真にカスタマイズされた旅行エクスペリエンスをお客様に提供するうえでの機械学習の可能性を実感しました。この取り組みの一環として、Google と 10 年間のパートナーシップを確立しており、変革のスピードアップと旅行業界でのイノベーションをさらに促進していきます。
データベースの選択に関係するトレードオフ
旅行業界の複雑さと規模により、Sabre が利用するクラウド サービスは需要が高まっています。Sabre では、クラウド サービスを選ぶときは、単純にその機能で選ぶのではなく、アプリケーションの信頼性、パフォーマンス、開発時間にどれほど影響を与えるかを重視します。データベースの場合で考えると、だいたいはレイテンシと整合性の間のトレードオフを意味します。
こうしたトレードオフは、信頼性のためにアベイラビリティ ゾーンまたは地理的リージョンでデータのコピーを複数提供している、あらゆるデータベースに存在します。誰もが最新のデータを整合性のあるビューで見られるように設計しているデータベースでは、そうしたコピーをコンセンサス アルゴリズムを使用して同期し、更新する場合があり、それがデータの提供速度に影響を及ぼします。一方で、より素早いデータ提供を目的に最適化されたデータベースでは、各コピーを非同期で更新する場合があり、レコード全体の一貫した読み取りは保証されません。
Cloud Spanner および Bigtable は、どちらも Google Cloud のマネージド データベースで、両方とも非常に効果的なサービスであり、いずれのクラウドも Sabre の旅行関係のアプリケーションを数多くサポートしています。ですがこれから説明するように、Sabre の 2 つの最重要ケースに最適なクラウドがどれなのかを明らかにしてくれたのは、レイテンシと整合性のトレードオフでした。
Google Cloud Spanner が促進する Sabre のための強力かつグローバルな整合性
航空会社の予約データベースには、乗客の予約情報、座席指定、チケット、特別なリクエスト、旅程に関するその他の重要な情報が保存されています。つまり、こうしたデータは、整合性 / レイテンシのスペクトラムでは整合性側に位置することになります。Sabre では通常、航空会社のお客様に代わって、1 秒間に数千の予約の更新を処理しています。航空会社の予約データベースは、多数のアベイラビリティ ゾーンによってサービスを提供する必要があります(さらに、データはアベイラビリティ ゾーンを横断して複製されます)。そうすることで、停止した場合でも継続した利用が可能となります。また、航空会社は複数の乗客や複数のフライトを同時に変更することがよくあるため、レコード全体をトランザクション更新する ACID 特性が求められます。
Sabre には、同時に発生する突発的な更新に対処できるだけのシステムが必要でした。こうした対応は、猛吹雪のときに数百人、数千人の乗客を自動で振り替え便に移行させる際などに発生します。Spanner が予約対応のケースに最適であるのは、その独自の整合性の保証のためです。ピーク時には毎秒 10 億以上のリクエストを処理する Spanner は、99.999% の SLA を実現し、Sabre のアプリケーションをサポートしてくれています。また Spanner では、Google Cloud のワークロードに不可欠なものと同じ、安全性を重視した設計のインフラストラクチャ、組み込み型のデータ保護とデータ レプリケーション、多層セキュリティを利用でき、コンプライアンス、ビジネス コミュニティ、冗長性、信頼性の維持に役立っています。
Spanner のクライアント ライブラリには、別のトランザクションとの書き込みの競合が起こったときの再処理に対応する組み込みのメカニズムもあります。また、デベロッパーはパフォーマンス向上のために、読み取り専用トランザクションでステイル読み取りを選択することもできます。もちろん、複数ゾーンまたはリージョンにわたって整合性を保つには、犠牲が伴います。つまり、単一のアベイラビリティ ゾーンで稼働する同等のデータベースの場合よりも、書き込みレイテンシが増大するということです。ですが、フライトの予約を管理するアプリケーションにおいては、こうしたトレードオフは納得できるものです。
Bigtable が提供する大規模で予測可能な低レイテンシ
Sabre のフライト購入システムは、レイテンシ / 整合性のスペクトラムにおいて予約データベースの対極に位置しています。Sabre のショッピング エンジンは、旅行者が使用するモバイルアプリ、サードパーティの旅行関係のウェブサイト、航空会社のコールセンター向けに 1 秒間に数百万の旅行プランを作成します。各旅行プランの計算には、膨大なコンピューティング リソースが必要です。組み合わせ可能なフライトを見つけ、空き状況や価格といった複雑なルールについても判断する必要があります。通常、フライトの予約時よりも検索中の方がユーザーの忍耐強さが低下するため、低レイテンシのソリューションが必要となります。 しかし、コンピューティングの使用量を低下させるために、ショッピングの結果の多くをキャッシュに保存することが可能です。たとえば、どのくらいの期間にわたって結果のキャッシュを保存するかを、フライトの検索結果が出発日時からどのくらい遠いかといった要素に基づいて決定することができます。
ショッピングのキャッシュ向けの最高の選択肢である BigtableNoSQL データベース サービスは、10 エクサバイト以上のデータを管理しており、高スループット、低レイテンシのアプリケーションに対応できるように設計されています。予測可能性や数ペタバイトのテーブルにも数ミリ秒で応答するといった Bigtable 独自のレイテンシ特性により、短い応答時間で旅行者に対応しながら、コスト効率の高い方法での大規模なショッピング結果の提供が可能となります。
Google Cloud がイノベーションへの専念をサポート
Bigtable や Spanner のようなマネージド データベースは、Sabre のクラウド戦略の重要な部分です。Bigtable 用の Key Visualizer や Spanner のような独自のツールとの組み合わせ、さらに Cloud IAM、Cloud Monitoring、最新の Datastream などのその他の Google Cloud サービスとのインテグレーションにより、自己ホスト型の競合他社のサービスに比べ、Google Cloud であればはるかに簡単にマネージド データベースを運用できるようになります。Google のきめ細かな価格モデルや SRE によるデプロイおよび自動化の性能のおかげで、使用するマネージド データベースの総所有コストも低下します。
さらに Sabre では、Google Cloud による最新のデータベース関連の発表にも特に期待を寄せています。Bigtable の SLA のアップデートでは、マルチクラスタおよびマルチリージョンの稼働時間という面でより期待が高まっています。Spanner の処理ユニットでのプロビジョニングへの変更は、多数の分離されたインスタンスが必要だけれども単一ノードの上限には遠くおよばないような場合に、本番以外の環境でのデプロイ時のコスト効率を高めます。こういったケースでは、Spanner のインスタンスは今やノード増分の 1/10 で構成できる場合があります。
Sabre のクラウドの変革は、異なるユースケース、トレードオフ、移行スケジュールに応じたデータベースの選択肢があるかどうかに掛かっています。さらにマネージド データベースに加え、自己ホスト型のデータベース、Cloud Marketplace で利用可能なデータベース ソリューション、Cloud SQL などの移行サービスを今後数年間にわたって活用していく予定です。旅行業界のような多大な労力を要する業界では、Google Cloud 特有のテクノロジーを活用して最重要なアプリケーションを推進することが、レイテンシや整合性の最適化に費やす時間を抑え、イノベーションにかける時間を増加させてくれます。
詳しくは、Bigtable と Spanner の活用事例をご覧ください。
- Sabre Labs バイス プレジデント兼チーフ アーキテクト Andrew Gasparovic 氏