HTAP /混合事务和分析处理

使用TigerGraph实现混合事务和分析处理(HTAP)

为何要使用可以混合事务和分析处理的图数据库?

您希望图数据库执行哪类操作?某些图平台纯粹适合大规模处理 (OLAP),例如 PageRank 或社区检测。优秀的 OLAP 图数据库应该具备高度并行的处理设计和良好的可扩展性。某些图数据库专为“点查询”而设计,从一个或几个点开始若干步遍历。但是,要成为真正的事务数据库(用于 OLTP),它应该支持 ACID 事务、并发性和很高的每秒查询量 (QPS)。如果事务包括数据库更新,则必须做到实时更新。极少有图数据库能同时满足上述要求,这就是混合事务 / 分析处理 (HTAP) 数据库。

可以进行“点查询”的事务型图数据库在处理大数据量的全图算法上捉襟见肘,而一般OLAP图平台虽然具有计算大规模数据的批量计算的能力,但缺少将计算结果直接写回数据源的能力。因为他们一般是内存型的,且不具有事务能力。此外,还要考虑导入全图分析平台和结果写回的时间成本,和相应的复杂流程,而这也限制了全图计算的结果可以实时地作用于生产环境,从而造成了延迟。混合事务和分析处理的图数据库可以突破这一限制,并释放数据真正的力量。

OLTPOLAP分离的传统解决方案可行吗?

传统的解决方案一般会形成应用、数据库、分析平台的三层结构,数据需要在这三层之间传输,尤其是最后这两层之间的数据传输,数据量大、延迟高、产生数据冗余等等。尤其在分析任务有所变更的情况下,代价更大。

然而当今业务日趋争分夺秒,无论是及时发现模式、标记核心程度、防止欺诈行为,还是可以高效地为使用者提供准确及时的推荐、进行交叉营销和消费升级,都期待可以突破T+1日的桎梏,走向更加实时的响应。甚至在数据库中进行机器学习,都成为了最近炙手可热的话题。

混合事务和分析处理的数据库,不仅让分析结果更加精准,更让分析出来的具有价值的数据可以更加快速的投入生产,为企业减少损失提高收益。

TigerGraph为企业提供什么样的混合事务和分析处理的图数据库?

. 事务性图数据更新

一个功能完备的图数据库需要不仅支持高效的图读取,还要支持图写入(数据插入、更新和删除)。也就是说, 它应该不仅支持联机分析处理 (OLAP),还要支持联机事务处理 (OLTP)。一个事务数据库要保证,当用户将一个操作块定义为一个事务时,那么该事务要全部完成(或完全不完成)而且不会与可能同时正在处理的任何其他事务交互。

. 实时更新

实时更新意味着数据库更新(添加、删除或修改)可以与数据库上的其他查询同时进行,而且更新可以很快完成(提交)和可用。常见的图更新操作包括插入 / 删除新点 / 边以及更新现有点 / 边的属性。 理想情况下,实时更新应与并发控制相结合,以便多个查询和更新(事务)可以同时运行,但最终结果与事务按顺序运行时相同。大多数非原生图平台(例如,GraphX、DataStax DSE Graph)不支持实时更新, 因为其数据存储系统(HDFS、Cassandra)不可变。

. 分布式计算模式带来的超高计算效率

我们在基准测试研究中测试了通用的 PageRank 算法。此算法是对图的计算和通信速度的严格测试,因为它遍历每个关联、计算每个点的分数并重复迭代几次遍历与计算过程。当图分布到八台服务器时,与单台服务器相比, PageRank 查询的完成速度接近快七倍。