西捷航空借助 Neo4j 驱动的预订体验展翅高飞
了解加拿大最大的航空公司之一如何将航班时刻表管理转变为无缝、客户友好的体验。
500 万
航班时刻表图谱中连接 50 万个节点的 关系
530%
IT 团队使用 Neo4j Enterprise 更新在线航班时刻表的速度更快
3000 万
西捷航空预计到 2028 年每年服务 3000 万乘客

如今的旅行者需要直观的预订体验。加拿大西捷航空深谙此道:自1996年成立以来,它已从服务加拿大五个目的地发展到拥有180多架飞机,飞往26个国家100多个目的地。希望飞往夏威夷、墨西哥、加勒比海、欧洲和亚洲的加拿大人可以在越来越多的西捷航空航班上预订机票,其中一些航班是季节性的,并且只在每周的特定日期运营。
随着航线网络的扩展,西捷航空需要确保搜索航班的客户能够查看到最佳旅行选择。客户最初可能认为他们可以在特定日期从当地机场飞往他们理想的度假地点,但后来才发现该航线不可用。由于西捷航空每天平均有超过750个航班,系统范围内产生了许多潜在的航班选择,因此该航空公司需要为不每日或全年运营的航班向客户提供更好的航班时刻表信息。
“我们需要一个航班时刻表解决方案,它能够处理大量的时刻表信息并考虑起点和目的地组合的必要规则,”西捷航空数字值机交付经理 Dave Pirie 说。“当我们意识到关系型数据库无法轻松处理所有所需的信息层和关系时,我们寻求了 Neo4j 图数据库解决方案。”
使用 Neo4j 图数据库探索行程选项
西捷航空需要使其网站上的时刻表信息更新过程减少人工操作和劳动强度。该航空公司需要更多的自动化来处理 Sabre(用于航班预订、可用性检查和定价信息的全球分销系统,GDS)中复杂的规则和数据结构。
例如,一条新的坎昆航线可能会产生数十种可能的乘客行程,每种行程都有其自身的时刻表复杂性。这种情况强调了需要一个可扩展的解决方案来传达航班时刻表信息。
西捷航空希望开发一个API,供业务中的任何人用于确定有效的航班路线和组合。该团队概述了项目成功的几个要求,包括:
- 该工具需要自动化国际航空运输协会(IATA)成员使用的标准时刻表信息手册(SSIM)数据。IATA SSIM 格式是航空公司共享航班时刻表信息的标准化方式,可以更轻松地在全球航空旅行网络中创建行程、销售机票和管理运营。
- 该工具需要考虑规则,例如允许国内航班中转时间为 35 分钟,或国际航班抵达后需要通过海关的乘客预留 75 分钟。
- 该工具需要考虑西捷航空的一些航班是季节性的,或者由于运营日期原因无法中转。

无索引邻接是图数据库的一项功能,它允许快速有效地遍历数据点之间的关系,而无需查询单独的索引,就像遵循一张地图,其中每个位置都直接指向其连接的目的地。这种高效的遍历能力对于西捷航空的路由需求至关重要,从而促使团队转向 Neo4j。
“考虑到我们服务的每个始发地和目的地机场,我们整个网络中只有大约 35% 是可路由的。当我们考虑通过图进行遍历的效率时,更多地了解无索引邻接对我们来说非常有价值。”
该团队使用 Neo4j Community Edition 构建了其在线时刻表解决方案的第一个迭代版本,然后升级到 Neo4j Enterprise Edition。“我们听说了 Neo4j 的诸多优点,并且发现图遍历使我们的流程非常容易执行,特别是考虑到我们多样的航班时刻表,”Pirie 说。“Cypher 是一种极其强大的语言,编写起来非常愉快,因此我们决定升级到 Neo4j 是有道理的。”
此次升级提升了西捷航空的性能。“Neo4j Enterprise 比 Community Edition 快得多。每次更新时运行模型并构建在线时刻表需要将近六个小时。现在速度快了两倍,”西捷航空高级软件开发人员 Sean Hu 说。
2024年,西捷航空将其 Neo4j 数据库迁移到 Microsoft Azure 上的 Neo4j AuraDB。“借助 Azure 上的 Neo4j AuraDB,我们无需担心数据库维护。我们可以在 Azure 上运行 Neo4j 虚拟机集群以提高可靠性,消除了每个区域只有一个虚拟机的瓶颈,”西捷航空高级软件工程经理 Vasily Smagin 说。“对我们来说,将 Neo4j 部署在 Azure 内部很重要,这样可以更好地控制和提高安全性,同时略微降低延迟。”
利用更好的工具为开发者和旅行者提供支持以实现增长
Neo4j 图数据库由三个核心实体组成:节点、关系和路径。Neo4j 图数据库中的数据点称为节点。图中的节点可以通过关系连接,形成路径。
西捷航空的 Neo4j 数据库包含大约 50 万个节点和 500 万个关系,以英语、法语、西班牙语、中文和日语的对象标签映射其航班网络。随着西捷航空增加更多的机场和时刻表选项以满足不断增长的旅行需求(包括新的目的地和新的城市对),数据库也在不断增长。借助 Neo4j,西捷航空能更好地应对风暴和其他可能影响航班时刻表数周的重大中断。
西捷航空预计到2028年,每年将服务3000万乘客,高于2018年的2550万。“在线航班时刻表是我们向旅客销售航班的关键。他们的时刻表查询工具使用体验必须尽可能流畅和直观,”Smagin 说。“我们还希望保持票价低廉。提供高效的自助服务工具来查询时刻表,使我们能够在扩大服务规模的同时实现这两个目标。”
联系我们
对图驱动的解决方案能为您的业务带来哪些洞察感到好奇? 联系我们 — 聊聊吧,我们会与您取得联系。