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 引擎本身并不额外收费, 对于需要使用图数据功能的用户而言, 将大幅降低应用和开发成本.
了解更多关于阿里云云数据库 HBase 及图引擎 GraphDB 请戳链接:
产品入口:
https://cn.aliyun.com/product/hbase?spm=5176.224200.100.35.7f036ed6YlCDxm
帮助文档:
https://help.aliyun.com/document_detail/92186.html?spm=a2c4g.11174283.6.610.260d3c2eONZbgs
来源: https://yq.aliyun.com/articles/683464