GraphDB简介
GraphDB图数据库适用于存储,管理,查询复杂并且高度连接的数据,图库的结构特别适合发现大数据集下数据之间的共性和特性,特别善于释放蕴含在数据关系之间的巨大价值。GraphDB引擎本身并不额外收费,仅收取云hbase费用。
适合的业务场景
在如下多种场景中图数据库比其他类型数据库(RDBMS和NoSQL)更合适
推荐及个性化
几乎所有的企业都需要了解如何快速并且高效地影响客户来购买他们的产品并且推荐其他相关商品给他们。这可能需要用到云服务的推荐,个性化,网络分析工具。
如果使用得当,图分析是处理推荐和个性化任务的最有效武器,并根据数据中的价值做出关键决策。
举个例子,网络零售商需要根据客户过往消费记录及订单推荐其他商品给这个客户。为了能成功的达到目的,当前回话下用户浏览操作等都可以实时集成到一张图中。
图非常适合这些类似的分析用例,如推荐产品,或基于用户数据,过去行为,推荐个性化广告。
电商商品推荐案例
如何使用GraphDB做商品实时推荐
安全和欺诈检测
在复杂及高度相关的用户,实体,事务,时间,交互操作的网络中,图数据库可以帮助检测哪些实体,交易,操作是有欺诈性质的,从而规避风险。简而言之,图数据库可以帮助在数不清金融活动中产生的关系及事件组成的海量数据集中找到那根坏针。
某深圳大数据风控案例
客户介绍:
该大数据有限公司专注于为银行、消费金融、三方支付、P2P、小贷、保险、电商等客户解决线上风险和欺诈问题。
案例背景及痛点
近几年互联网金融行业兴起,诞生了很多互联网金融企业,用户参加线上贷款,金融消费,P2P融资等金融活动门槛大大降低,在这些金融行为中如何有效规避风险,进行风控是每个金融企业面临的比较严峻的问题。用户的金融行为中会沉淀大量有价值的数据,在白骑士客户小贷场景中会产生一笔笔贷款记录关联的手机号,身份证,银行卡号,设备号等。这些数据代表一个个实体人,正常金融活动中,贷款,金融服务不是高频行为,一个实体人一般有一个唯一身份证,常用银行卡号,手机号,设备号。这几者顶点见不会产生高密度图,但有一些高危低信用用户可能会使用同一手机设备申请贷款进行骗贷。客户痛点在于如何高效识别这些高危低信用用户。
解决方案
建立图模型
分别创建手机号,设备号,身份证,银行卡号四类顶点及相互关联的边,扩展属性便于查询。从原数据仓库清洗后通过graph-loader工具导入GraphDB
在线评估用户信用资质
在申请贷款流程中,可以通过使用图库可以实时查询图中任意一手机号关联的身份证数量(一跳/二跳查询),恶意申请有如下特点,关联子图各类顶点过多,并且可能关联上离线分析标注过得黑名单用户,说明当前用户存在恶意申请风险,实时拒掉贷款申请。下图显示如何与自身小贷平台打通,做实时风控预警,箭头方向代表数据流方向。
主动识别黑名单用户
借助spark graphframes分析能力,离线计算全图中各个顶点出入度及pagerank,主动挖掘超级顶点,超级顶点如一个手机号关联了多个身份证顶点,说明该用户金融活动频繁,背后的故事是一个实体人有多笔申请记录,分别关联了不同的身份证,手机号,说明该用户在进行恶意欺诈活动,人工标注黑名单用户,从源头禁掉用户金融活动。
物联网
物联网(IoT)是另一个非常适合图数据库领域。 物联网使用案例中,很多通用的设备都会产生时序相关的信息如事件和状态数据。
在这种情况下,图数据库效果很好,因为来自各个独立的终端的流汇聚起来的时候产生了高度复杂性
此外,涉及诸如分析根本原因之类的任务时,也会引入多种关系来做整体检查,而非隔离检查。
GraphDB特性
整体架构
使用Apache TinkerPop构建
GraphDB是Apache TinkerPop3接口的一个实现,支持Tinkerpop全套软件栈,支持Gremlin语言,可以快速上手。
在GraphDB中,为应对不同的业务场景,数据模型已经做到尽可能的灵活。例如,GraphDB中点和边均支持用户自定义ID;自定义ID可以是字符串或数字;属性值可以是任意类型,包括map,数组,序列化的对象等。因此,应用不需要为了适应图数据库的限制而做多余的改造,只需要专注在功能的实现上面。
GraphDB具有完善的索引支持。支持对顶点建立label索引和属性索引;支持对边建立label索引,属性索引和顶点索引;支持顶点索引和边索引的范围查询和分页。良好的索引支持保证了顶点In/Out查询和根据属性查找顶点/边的操作都具有很好的性能。
与HBase深度集成
GraphDB使用企业认证的HBase版本作为其持久数据存储。 由于与HBase的深度集成,GraphDB继承了HBase的所有主要优势,包括服务可用性指标,写/读/时刻都在线高可用功能,线性可扩展性,可预测的低延迟响应时间,hbase专家级别的的运维服务。 在此基础上,GraphDB增强了性能,其中包括自适应查询优化器,分片数据位置感知能力。
使用spark graphframes做图分析
借助阿里云HBase X-Pack提供的Spark产品,可以对GraphDB中的图数据进行分析。作为优秀的大数据处理引擎,Spark能够对任意数据量的数据进行快速分析,Spark支持scala、java、python多种开发语言,可本地调试,开发效率高。此外,阿里云HBase X-Pack的Spark服务通过全托管的方式为用户提供企业级的服务,大大降低了使用门槛和运维难度。Spark GraphX中内置了常见的图分析操作,例如PageRank、最短路径、联通子图、最小生成树等。
云上大规模GraphDB优势
全托管,全面解放运维,为业务稳定保驾护航
大数据应用往往涉及组件多、系统庞杂、开源与自研混合,因此维护升级困难,稳定性风险极高。云HBase GraphDB提供的全托管服务相比其他的半托管服务以及用户自建存在天然的优势。依托持续8年在内核和管控平台的研发,以及大量配套的监控工具、跨可用区、跨域容灾多活方案,GraphDB的底层核心阿里云HBase提供目前业界最高的4个9的可用性(双集群),11个9的可靠性的高SLA的支持,满足众多政企客户对平台高可用、稳定性的诉求。
使用阿里云GraphDB
GraphDB引擎包含在HBase 2.0版本中,用户在购买云上HBase数据库服务时,可以选择GraphDB作为其图数据引擎。GraphDB引擎本身并不额外收费,对于需要使用图数据功能的用户而言,将大幅降低应用和开发成本。
原文链接
本文为云栖社区原创内容,未经允许不得转载。