随身听第30期:什么是图?我们为什么要用图?
刚结束愉快的假期,本期随身听我们聊点轻松入门的内容,让更多小伙伴了解图技术。欢迎分享给身边需要科普的朋友一起收听。下面就开始我们今天的内容。
世界每天都在变得更加紧密相连。你以前在哪里听说过这句话?
企业、数据分析公司、数据科学家……我们都在努力寻找新的方法来探索数据的连接和关系,看看它们如何让世界联系更加紧密从而变得更加美好。这可能是为电子商务网站寻找更好的产品推荐,或者是帮助银行在欺诈行为发生之前寻找可疑的指标,或者是为制造企业寻找提高供应链效率的方法。
任何业务流程最重要的方面是理解任何一个行动或资产的关系,因为它们在该流程中相互关联。
借助图分析,我们认识到,所有的数据都代表了现实世界中的某些东西,而现实世界中的几乎所有东西都以某种方式联系在一起。 数据中的这些关系可以告诉我们很多东西。它们可以告诉我们,帮助我们找到新的模式和相似性(像我们这样的人–基于人口统计学、生活方式等),告诉我们个人如何相互联系,形成类似兴趣的群体。
它可以应用于社交媒体,用模式和关系来丰富客户的观点,或者远远超出商业社会分析的范围,在其他无害的通信中检测出可能预示着即将发生的攻击、市场危机或社会动乱的模式。它们可以揭示出我们在特定情况下可能会购买什么产品。或者它们可以预测组织或基础设施的一个部分的变化会如何影响其他部分。

什么是图数据库?

图可以用来分析各种系统中的各种关系–甚至超越流程或超越个别操作模型的限制。大多数常见的业务问题需要了解行为者或对象之间的关系。图数据库和图分析就是出于这种理解数据关系的需要而产生的。图数据库是数据片断之间的关系被预先连接起来的唯一数据模型。图分析提供了一种分析这些关系的简单方法,使用不需要编程专家建立或维护的类似SQL的查询,揭示了更多关于人、产品、账户和地点等实体的信息。
根据Gartner分析师Afraz Jaffri在2022年Graph+AI全球峰会上的说法,”到2025年,上下文情境驱动的分析和人工智能模型将取代60%建立在传统数据上的现有模型。” 这只是表明图技术将继续在日常业务运营中变得更加核心的许多迹象之一。

你每天都在应用图

你可能没有意识到这一点,那就是你每天都在应用图技术,但这是真的。每次搜索时,您都在使用搜索引擎的知识图谱。像谷歌这样的企业也在不断改进它为用户搜索返回结果的方式,但有一件事是可以确定的。每个搜索都使用被称为 PageRank 的图算法进行排名。
考虑一下您每次登录 LinkedIn 时会发生什么。当您搜索和查看您的专业联系人时,您会看到推荐的联系人以及与您有直接或间接联系的人的活动。这些关系显示为 1 度、2 度和 3 度连接。这是在 LinkedIn 的 Professional Network Graph 上进行图数据库搜索的结果,表明从您到正在审查的联系人的跳数。每次看到有二度联系人的普通人脉或普通群,或者 LinkedIn 推荐你与专业联系人联系时,你都在查询 LinkedIn 的专业网络图谱。
对了,不要忘记您每次在零售和电子商务网站上的购物体验。每次您使用淘宝、京东、亚马逊等在线商店时,您现在可能希望这些服务能够提供产品推荐。它们由诸如“购买此商品的人也购买了类似产品”或“这些商品经常一起被购买”之类的建议来代表。这些都来自图分析查询!
而关系型或 NoSQL 数据库等传统技术无法存储和分析关系数据以使这些功能成为现实。只有图数据库可以。

使用关系型数据库或NoSQL数据库来存储和分析关系的挑战

关系型数据库将业务事实存储在单独的数据库表中。为了揭示、分析和理解这些表之间的关系,包括客户详细信息、订单信息以及产品和付款数据等信息,您需要在此设置中执行表连接。这个过程可能需要数周时间,甚至需要大量的 SQL 编程来构建查询。
NoSQL 数据库旨在通过将所有数据存储在单个表中以进行快速检索来解决此问题,而不是为分析而设计。
图数据库专门用于存储和分析数据之间的关系,因为数据实体和它们之间的关系是预先连接的。这消除了对大表执行耗时的表连接和多次扫描的需要。利用关系和上下文的力量,图技术为预测模型带来了更高的准确性、稳健性和多功能性,并将图分析、基于图的特征和图机器学习纳入其工作流程,以开发新的人工智能应用程序。
考虑到这些明显的优势,您可能会问自己,“为什么企业没有更快地采用图数据库?”这是一个很好的问题,借此我们需要了解一下图技术发展背后的历史。

图数据库在企业层面的应用

第一代图数据库是用原生图存储建立的。比较有代表性的就是Neo4j,它们提供了图数据库的一些基础功能,但是它们采用的是单服务器、单线程的架构,因此速度和可扩展性受到限制。它们非常适合加载和可视化中小型的数据集,但无法处理上百GB到TB级的大型数据集,比如复杂的查询和实时的数据更新,因此无法在图内执行超过三跳或以上的连接。作为一个学术概念的证明,它们在可视化业务实体之间的关系方面非常出色。对于现实世界的企业生产需求来说,最初的规模根本不存在。这些早期的迭代是建立在Java上的,主要是为研究和开发而设计的,而不是为处理大规模的生产用例的严格要求。

第二代图数据库是建立在NoSQL存储之上的,解决了扩展性的问题。它们是基于Key-value或列式数据库,比如Apache Cassandra,解决了数据加载的问题。所以,基于第二代图数据库,你可以把TB级的数据加载到图中。但是,由于它们不是原生图存储,所以在做多跳查询深度链接时,性能表现并不是很好,因此它们仍然无法扩展涉及三个或更多连接或跳跃的查询。而且,由于是使用的NoSQL技术,这不是为了做实时更新的技术,所以在用户产生了新的交易、新的购买行为时,很难在图上实时地做数据更新。这也就限制了它们进行深度或复杂分析的能力。现代图平台使用C++,是为企业使用而设计的。更现代的方法允许扩展计算能力、突变性(意味着它们支持系统更新)、数据流和批处理,同时在图数据库中进行快速计算,而不是在图数据库之外将结果拉入数据库供用户访问。

第二代图数据库通常也不支持数据库分片。这使得拥有TB级数据的组织无法将数据分布到多个服务器上,从而使每个服务器都有几百G的数据。

第一代和第二代图数据库进一步证明了它们的局限性:
  • 不能扩展到多台机器上存储大数据(数据库分片)和并行查询处理;
  • 不能支持下一代欺诈检测、推荐引擎、机器学习和人工智能用例所需的深度链接分析(超过三跳);
  • 无法满足大数据更新和亚秒级查询性能的实时要求。

而也正是前几代图数据库的缺点和图数据库的应用趋势促进了下一代图数据库和分析技术的发展。TigerGraph开发了第三代图数据库,来解决第一代和第二代中的这些不足,它又回到了原生图存储,我们通过分布式部署、并行计算,不仅针对数据存储做了优化,解决了扩展性的问题,而且加快了数据加载、数据查询、事务处理等各个方面的速度。TigerGraph可专门用于在数小时内加载TB级的数据,并实时分析多达10跳或更多跳的关系。

第三代图数据库是第一个可以支持HTAP的图数据库,HTAP可以同时支持OLTP事务处理和OLAP数据分析,TigerGraph是第一个支持HTAP的图数据库,它可以使用图数据库中的同一个实例和schema,支持事务处理和分析处理,符合ACID标准,并可通过数据库分片扩大和延伸。TigerGraph的开放式查询语言GSQL,使我们能够支持修改和可解释的人工智能,提供一个可应用于多种用例和连接数据的人工智能应用的平台。

这里我们总结一下TigerGraph作为第三代原生并行图数据库的六大优势:

  1. 可扩展性:TigerGraph可以将大量数据快速加载到数据库中进行分析,使每台机器每小时可以加载约100GB的数据,并且可以通过几台机器并行加载,从而快速地将TB级的数据导入数据库。同时,TigerGraph可以存储数十亿个实体,数千亿个关系,并能通过增加硬件,扩展集群,达到万亿甚至更多。
  2. 事务性图(可变的图):系统中每秒可能会产生数百上千笔交易,比如新的客户注册、物料采购支付等,TigerGraph可以支持您的业务7X24小时运行,实时地进行数据更新。为了对您最新的业务进行分析,需要一个可变的图数据库,这意味着您可以像阅读图一样,轻松地对其进行更新。第一代图数据库,无法作为客户日常业务处理的数据库,客户一般也不会这样应用。第二代图数据库,可以通过NoSQL的方式存储大量数据,但是它们不可变,这意味着它们无法支持事务更新,无法在响应查询的同时吸收新数据。而TigerGraph可以用于生产环境,每天进行数十亿笔交易。
  3. 实时性能:该功能可以对查询提供亚秒级的响应,这对于上千万级别的实体和关系来说,可能会非常困难。第一代和第二代图数据库技术的查询,通常会花费很长时间,或者超时,尤其是当数据量增长时,整个图涉及大量的实体和关系。而TigerGraph已在多个客户的生产环境中验证,具有亚秒级的响应时间,可用于金融服务、电子商务和医疗保健等多个行业客户的复杂查询。
  4. 深度链接多跳分析:当我们进行深层链接分析时,遍历整个图进行3到10跳以上的计算和分析,可以发现一些原本不明显的关系,这可以用在反欺诈、反洗钱、电商推荐等多个领域,而这些分析超出了通常的分析范围。第二代图数据库技术支持大型的图上进行2到3跳,然而当进行3跳以上的计算时,由于这些系统的架构限制,深度链接查询将耗尽内存,或者超时返回。而TigerGraph适用于跨越数千亿个实体的大型图的深层链接分析,用来检测欺诈者,并识别可能涉及洗钱的复杂支付及交易。
  5. TigerGraph的查询语言GSQL非常容易学习,并且很容易开发复杂的图查询。GSQL不仅包括查询,还包括数据分析和数据加载,它们自动创建restful顶点,并以JSON或CSV格式传输数据,这使得和其它系统集成变得非常容易。GSQL可以用于开发数据导出,将图查询与其它系统共享,例如BI系统,还可以给机器学习工具提供新的训练数据。
  6. 最后,我们要谈到一个重要方面——敏感数据的权限需求。TigerGraph有完善的数据加密和权限机制,来保护敏感数据,以使具有适当权限的用户部门或组织,可以查看或更新敏感数据,而其它没有权限的用户部门或组织,没有办法查看或更新这些敏感数据。

最后我们来看一下第三代图数据库的几个主要特点:

  1. TigerGraph是世界上第一个原生并行计算和分布式的图数据库;
  2. 产品架构是为实现互操作性而设计的;
  3. 拥有用户可扩展的图算法库;
  4. 提供多图服务;
  5. TigerGraph具有自己的查询语言GSQL,图灵完备,且类似SQL,易于学习,并始终确保100%兼容即将出台的行业标准语言GQL;
  6. 拥有完整的GraphStudio可视化软件开发套件,用于端到端图的设计、部署、探索;
  7. 可以用于机器学习,进行一些深度图特征的实时计算,给机器学习提供特征补充。

免费下载企业级可扩展图数据库TigerGraph

以上就是今天关于图技术的全部介绍。现在世界各地的公司都在投资图技术,作为其竞争优势。如果你也有兴趣体验图技术,可以免费试用TigerGraph。我们的免费版可用于企业内部和云产品。一旦你开始使用,我们欢迎你加入TigerGraph社区,在我们的专家团队和其他TigerGraph用户的支持下开始你的图技术之旅。点击下方“免费下载”即可试用。

相关资源