- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
邵宗文-图数据库及应用场景分享
邵宗文老师带来了图数据库行业的现状介绍与应用场景分析,在这段分享中场内的提问达到了空前的高潮。图数据库目前的缺口很大,机会也很多,它与人工智能的建模方式、MPP模型的处理方式都存在较大差异,从数据和容量方面,目前图数据库也不是单一孤立的方案,相信随着图数据库技术的快速发展,能够有更多的最佳实践场景。
展开查看详情
1 . 图数据库及应用场景 腾讯云数据库产品中心 – 邵宗文 全球敏捷运维峰会 北京站
2 .个人简介 邵宗文, CCF,IEEE会员,2016年开始学 人工智能,2017年6月份带队获得搜狐图文 匹配大赛第10名。 2009年加入腾讯,现为CSIG腾讯云数据库专家产品经理。之前曾负责为OMG事业群构建 数据库平台,部署,规划及运维支持,为腾讯网,新闻客户端,快报,视频,财经,体育,等提供了 稳定的服务。 之前曾任新浪数据库专家,数据库平台主管。有非常丰富的大型项目的经验:如统一通行证, 发布系统,论坛,财经,体育等重大项目的数据库架构改造和性能优化。 全球敏捷运维峰会 北京站
3 .目录 1. 市场分析 2. 应用分析 3. 优劣对比 4. 行业展望 全球敏捷运维峰会 北京站
4 .1. 市场分析 全球敏捷运维峰会 北京站
5 .急速增长中的图数据库 全球敏捷运维峰会 北京站
6 .兼具直观性的图数据库 一图胜过千言万语 比起传统的信息存储和组 织模式,图数据库能够很清 晰揭示复杂的模式,尤其在 错综复杂的社交,物流,金 融风控行业效果更为明显。 全球敏捷运维峰会 北京站
7 .图数据库:特点 更好,更快速的查询和分析:图数据库为查询相关数据(无论大小)提供了卓越的性能。 图模 型提供了固有的索引数据结构,因此它不需要为给定条件的查询加载或接触不相关的数据。 这 使得它成为更好、更快的实时大数据分析查询的绝佳解决方案。 。 更简单和更自然的数据建模:使用关系型数据库建模的人都需要了解数据库的规范化和参照完整 性的严格规则。 一些NoSQL数据库则走向了另一个极端,将所有类型的数据放在一个大型表中。 另一方面,在图数据库中,可以定义任意类型的顶点类型来表示对象,并定义边类型来表示特定 的关系。 同时支持实时更新和查询:图数据库支持对大图形数据的实时更新,同时支持查询。 数据结构的灵活性:图数据库具有灵活的schema修改。 用户可以不断添加或删除新的顶点、边 和属性,扩展或缩小数据模型。 这对管理不断变化的对象类型特别方便。 大多数图数据库可以 在线修改schema,同时继续提供查询。 全球敏捷运维峰会 北京站
8 .以neo4j为例的数据大盘展示 全球敏捷运维峰会 北京站
9 .百花齐放的图数据库 Operational 图数据库 RDF图数据库 多模式图数据 分析及大图数据库 Neo4j AllegroGraph Azure Cosmos DB Apache Giraph Blazegraph Titan ArangoDB Turi Virtuoso TigerGraph JanusGraph Sqrrl OrientDB Stardog CayLey RedisGraph Dgraph 全球敏捷运维峰会 北京站
10 .数据库巨头也在加大图数据库投入 1 国外的图数据库情况 2 国内图数据库情况 2017年11月底,亚马逊在 AWS 2017全 2017年10月,华为云推出了图引擎服务 球峰会发布了全新的图数据库产品: Neptune. 阿里云蚂蚁金服Geabase图数据库已开始在 2017年7月,SQL Server 2017 rc1发布, 宣传,但还未在阿里云发布 引入了图数据库的支持,2017年10月正式 发布。 2018年8月,百度推出了hugeGraph图数 2017年3月,Oracle 12.2开始支持属性图 和图分析 据库 全球敏捷运维峰会 北京站
11 .图数据库的关注度越来越多,并且大都是有持续在更新 全球敏捷运维峰会 北京站
12 .人气王neo4j已收揽千万级的下载量 neo4j下载量 neo4j使用经验 图数据库 10M+ 工程师 50K+ 参会人数 50K+ 从下载数量来看还是前景很大 通过多年培训和逐步推广 图数据库相关技术会议 有7M是基于下的neo4j的docker版 目前大概有5万多名 GraphConnect大会已有上千人参会。 全球敏捷运维峰会 北京站
13 .2. 应用分析 全球敏捷运维峰会 北京站
14 .覆众多行业场景,尤其是在社交和金融风控领域 社交网络 金融风控 知识图谱 关系分析 车联网应用 网络&IT运 推荐引擎 维 社交网络 推荐引擎 网络&IT运维 金融风控 通过用户兴趣、好友和阅 基础设备规模庞大、结构 提供实时的用户行为检测 数十亿个关系查询延迟降低到 ,识别敏感用户,及时识 读历史记录等信息之间的 复杂,帮助深入了解设备 秒级,目前传统关系型数据库 别欺诈风险,错综复杂的 关系,向用户提供推荐。 状态、设备之间的关系, 基本无法实现超过3层好友关 实现全网络设备智能监控 人物关系分析,进行用户 系的查询。 电商,短视频,新零售等都 与管理 分群,识别异常群体 有强烈需求。 全球敏捷运维峰会 北京站
15 .金融风控场景涉及维度多,传统数据库无法很好解决 利用图谱网络开展风险管理 银行风险压力 员工管理 •员工与亲属、员工与外部企业 • 合规监管风险 客户管理 •财务状况、征信、行业、资金流动性、重大事件 • 黑产欺诈风险 关系管理 • 内部员工风险 •亲属关系、股权关系、集团关系、业务关系、供应链、行业关系 业务管理 •业务流程、业务合规、业务资金、业务进展、业务数据 全球敏捷运维峰会 北京站
16 .金融风控场景涉及维度多,传统数据库无法很好解决 全球敏捷运维峰会 北京站
17 .腾讯内部自研的星图助推解决金融痛点。 全球敏捷运维峰会 北京站
18 .腾讯自研星图的架构。 全球敏捷运维峰会 北京站
19 .发现隐藏股东和集团边界情况 全球敏捷运维峰会 北京站
20 .发现风险预警 全球敏捷运维峰会 北京站
21 .社交推荐案例-如何向用户推荐最符合需求和兴趣的聚会活动A 全球敏捷运维峰会 北京站
22 .社交推荐案例-如何向用户推荐最符合需求和兴趣的聚会活动B 全球敏捷运维峰会 北京站
23 .社交推荐案例-如何向用户推荐最符合需求和兴趣的聚会活动C 全球敏捷运维峰会 北京站
24 .社交推荐案例-如何向用户推荐最符合需求和兴趣的聚会活动D 全球敏捷运维峰会 北京站
25 .3. 优劣对比 全球敏捷运维峰会 北京站
26 .图数据库目前优势明显,还需在性能和周边需要完善。 图数据库在处理关联关系上具有完全的优势,特别是在我们这个社交网络得到极大发展的互联网 时代。例如我们希望知道谁LIKES(喜欢)谁(喜欢可以是单向或双向),也想知道谁是谁的 FRIEND_OF(朋友),谁是所有人的LEADER_OF(领导)。除了在关联查询中尤为明显的优越性, 图数据库还有如下优势: a) 用户可以面向对象的思考,用户使用的每个查询都有显式语义; b) 用户可以实时更新和查询图数据库; c) 图数据库可以灵活应对海量的关系变化,如增加删除关系、实体等; d) 图数据库有利于实时的大数据挖掘结果可视化。 图数据库虽然弥补了很多关系型数据库的缺陷,但还有一些不足地方,如: a) 不适合记录大量基于事件的数据(例如日志条目); b) 二进制数据存储。 c) 并发性能要求高的项目。 d) 目前相关图查询语言比较多,尚未有很好统一。 e) 图数据库相关的一些书籍文档偏少。 f ) 相关生态还在不断完善。 全球敏捷运维峰会 北京站
27 . Relational vs Graph的大比拼 https://neo4j.com/developer/guide-sql-to-cypher/ 全球敏捷运维峰会 北京站
28 .在常规查询面前,基本没有特别大的差异 SELECT p.*FROM products MATCH(p:Product)RETUR as p; Np; SELECT p.ProductName, MATCH(p:Product) p.UnitPriceFROM products as RETURNp.productName,p.unitPrice pORDER BY p.UnitPrice DESCLIMIT ORDERB Yp.unitPrice DESC LIMIT10; 10; SELECT p.ProductName, MATCH(p:Product)WHEREp.product p.UnitPriceFROM products AS NameSTARTS pWHERE p.ProductName LIKE 'C%' WITH"C"ANDp.unitPrice>100RETUR AND p.UnitPrice>100; Np.productName,p.unitPrice; 全球敏捷运维峰会 北京站
29 .在复杂查询对比中,高下立盼。 MATCH(p:Product{productName:"Chocolade"}) SELECT DISTINCT c.CompanyNameFROM customers <-[:PRODUCT]-(:Order)<-[:PURCHASED]- AS cJOIN orders AS o ON (c.CustomerID = (c:Customer)RETURNdistinctc.companyName; o.CustomerID)JOIN order_details AS od ON (o.OrderID = od.OrderID)JOIN products AS p ON (od.ProductID = p.ProductID)WHERE p.ProductName = 'Chocolade'; SELECT p.ProductNameFROM Product AS pJOIN ProductCategory MATCH(p:Product)-[:CATEGORY]- pc ON (p.CategoryID = pc.CategoryID AND pc.CategoryName = >(l:ProductCategory)-[:PARENT*0..]- "Dairy Products")JOIN ProductCategory pc1 ON (p.CategoryID = (:ProductCategory{name:"Dairy pc1.CategoryIDJOIN ProductCategory pc2 ON (pc2.ParentID = Products"})RETURNp.name pc2.CategoryID AND pc2.CategoryName = "Dairy Products")JOIN ProductCategory pc3 ON (p.CategoryID = pc3.CategoryIDJOIN ProductCategory pc4 ON (pc3.ParentID = pc4.CategoryID)JOIN ProductCategory pc5 ON (pc4.ParentID = pc5.CategoryID AND pc5.CategoryName = "Dairy Products"); 全球敏捷运维峰会 北京站