OLTP /高并发低延迟

使用TigerGraph图数据库实现高并发低延迟(OLTP)

数据分析平台为何需要支持OLTP

传统的观点OLTP与OLAP是两个相对立、难以两全的概念,对于数据分析平台而言,主要关注的是OLAP的能力,而非OLTP的能力。正如维基百科所介绍的:“OLTP(在线事务处理)通常与OLAP(在线分析处理)形成对比,后者通常以更复杂的查询为特征,而查询量较小,用于商业智能或报告而不是处理事务。 OLTP系统处理各种查询(读取、插入、更新和删除),而OLAP通常针对只读进行了优化,甚至可能不支持其他类型的查询。”

然而随着业务的发展,企业越来越迫切地需要数据分析平台同时也能支持OLTP。原因在于:

  • 越新的业务数据价值往往越高,业务不单单关心历史的数据,更关心当前最新的数据,因此数据分析平台需要实时同步源系统的数据,也即低延迟地写入数据。
  • 随着数据分析平台收集越来越多系统的数据,因此数据写入的吞吐量和并发量都要求越来越高。
  • 数据分析平台需要承担起为多个应用系统服务的责任,从而从以往的以应用为中心转变为以数据为中心,这意味着更多的用户同时在线要进行实时查询,也即要求数据分析平台具备能应对高并发的小查询仍然能保证低延迟。

键值数据库能否满足OLTP的需求?

键值数据库随着最近十几年来大数据的流行而在企业中被普遍采用。原因在于它非常容易横向扩展到机器集群。然而,键值数据库有一个致命的缺点,就是它主要是为分析而构建的,而不是为事务构建的。

正是因为如此,越来越多企业发现,基于键值数据库的大数据平台难以满足前面提到的三点需求。

  • 键值数据库在处理需要数据关联的场景时,因为需要花大量的时间做表关联,无法做到实时的数据写入,目前很多企业采用的是夜间跑批或者其他定时跑批的方案来解决该弱点。
  • 键值数据库处理高并发低延迟的查询,往往只能应对用户量少的事后分析,而无法真正做到一套数据对接多个应用。

TigerGraph对OLTP的支持意味着什么?

TigerGraph是一款原生图数据库,它把关系当作一等公民存储,也就是将关系和实体一视同仁。这样做可以使得数据分析平台也能实现OLTP。

以联合健康集团为例,他们基于TigerGraph构建了全球最大的保健图,其中包含超过100亿个顶点和500亿条边,其中共有约1.2TB的数据。他们实时地从超过200个系统获取数据,他们通过TigerGraph才能整合如此多的数据,为每一位会员提供了完整的会员画像。每天有超过23,000位用户通过各种应用程序实时地访问该图。

如此强劲的OLTP能力,意味着TigerGraph可以使联合健康集团可以实时地为5000万患者提出护理路径建议,从而提高了提供给会员的护理质量,也大大地降低了成本。