本文根据邵宗文老师在〖2019 Gdevops全球敏捷运维峰会-广州站〗现场演讲内容整理而成。
讲师介绍
邵宗文,腾讯云数据库产品副总监。十余年数据库从业经验,2009年加入腾讯,曾负责腾讯网、新闻客户端、快报、视频、财经、体育等数据库平台,部署、规划及运维支持工作。06-09年曾任新浪数据库专家、数据库平台主管,有非常丰富的海量大数据经验。
分享概要
1、图数据库市场分析
2、图数据库应用场景
3、图数据库的优劣
大家好,非常荣幸今天跟大家分享图数据库的场景及展望。首先我想做一个调查,在座有哪些同学用图数据库的?看来就只有几个同学使用了,那我这次的分享会比较有价值,能让大家知道图数据库到底是什么,以及图数据库能做什么。
一、市场分析
首先大家可以看一下,这是一个调研报告,目前世界一百强企业使用图数据库的比例。金融行业用图数据库的特别多,因为金融反欺诈、金融风控可以用图来降低损失。第二个行业是软件,像Oracle、SQL Server里面都会带有一些图数据库的功能。另外像零售,物流,电信行业也会用图数据库解决一些成本问题或是物流的最短路径问题。还有一些医疗行业,比如一个患者可能有很多疾病,可能有些药之间会有相互作用,还有吃的饮食和药也会冲突,这些用图数据库都能比较好地去分析处理。
然后我今天主要会围绕图数据库的潜在市场是什么样,以及相关场景,包括图数据库的优劣,跟传统数据库有什么样的差别做分享。
这个是各种数据库软件评比网站DB-Engines的一个走势图。大家可以看到,在里面图数据库的增速从2013年开始一直是最快增长的数据库分类,像数据库顶尖大会如VLDB也是图数据库的相关论文数能排到第二。
图数据库增长非常快,并且还有很多细分领域,标红的是研究比较深入或者用得比较多的,作为研发同学或者技术同学也想知道这么多细分的数据到底我学哪一个会比较好?或者哪个对我就业或者个人提升有价值?
这是一个github的starts数,包括软件的版本更新进展。
像Neo4J已有千万级的下载量,增速非常快,有星星之火可以燎原的势头。
同时大家可以看到数据库的巨头也在加大对图数据库的投入,从2017年亚马逊发布了图数据库Neptune,SQL Server也是在2017年做了rc1发布,引入了图数据库的支持,还有Oracle、华为、阿里云蚂蚁金服都做了图数据库。腾讯也在近期推出了图数据库引擎柏拉图(Plato)。
Plato:https://github.com/Tencent/plato
看到国内外巨头都在抢滩图数据库这个阵地,图数据库的机遇是在什么地方呢?它其实有点跟大数据行业的发展比较接近,像大数据的行业规模增长从2017年170亿到现在900多亿,增速是非常快的。在非关系型数据库里面,复合增长率也是将近40%左右。
同时我们也看到国内的大数据增长势头也是快于国外,我们能看到在目前存量市场的数据量随着5G或者随着后面相关的数据越来越多,这个需求量会急剧上升。
大数据整体硬件成本将近30%,每个企业都会有自己的成本考虑,包括腾讯也是,我们之前推的柏拉图就是为了降低成本,估计很多其他企业也会出于对硬件成本的考虑会尝试用图数据库来替代。
随着万物互联,数据爆发带来了图数据库的增长机会。随着非结构化数据数据越来越多,所以这块大家不用担心说学了图数据库没有用武之地。
二、应用分析
刚才说的都是一些市场的机会,我们在一个行业,一个公司,我如何来用图数据库呢。可以参考下图数据库像Neo4J自带直观性的展示,一图胜过千言万语,很快速能知道各个人的属性关系以及联系。
刚才说了一些图数据库的场景,我们来看一下到底图数据库有什么特点。
首先它提供了一个更好的交叉性能,原来可能大家发现在几百万、几千万的join操作还能勉强跑下来,随着现在万物互联,可能随便一个手环、智能手表都有上亿人的设备,你要跑一些join操作基本跑不出来了,图数据库其实可以很好解决这样的问题。
第二,图数据库也可以找到更多的关系,包括物与物、物与人、人与人之间的关系,这也是传统数据库无法提取的问题。还有一些结构的灵活性,比较好添加这种Schema。
在图数据库用比较多的先是社交跟金融领域,社交领域用在什么地方?比如好友推荐,看过了这本书或者看过了这个电影,然后其他也看过这个书和电影的人都会看哪些书比较多,可以把对应的书和电影推荐出来。
同时一些网络的运维IT服务可能有设备上万台,车联网之后可能汽车也会上千万辆,汽车与汽车之间,人与汽车之间的关联也会越来越多,还有金融风控,及时找到欺诈、诈骗等相关的异常。
金融风控在传统数据库无法很好解决的问题,比如员工和亲属、员工与客户、客户之间的关系,还有业务合规的关系,这些都是非常复杂的关系。
Q2:刚才提到多表查询,在上面我也看到图数据库有一个非常大的优势就是把这东西展现得非常简单和明显,多表查询的时候图数据库的性能怎么样?
A:它本身的设计,比如它所有关系已经建好,传统数据库做大量join时会产生很多大的临时表,导致吞吐变得很慢,图数据库会做天然的嵌套,所以我感觉图未来在数据越来越大爆发式的情况下它的优势会越来越明显。
Q3:老师,我想问一下图数据库知识图谱的时候,它的查询前后查找,这两个性能的对比哪个好?
A:这得看各自业务的情况,这也不太好说。
追问:我们之前在显示上就很危险,对用户显示得很好,在性能上神经网络如果太深了,那性能就好慢。
A:你说的是基于AI跟图的差异是吧?上次好像分享的时候有人也说基于AI的图,如果真去研究AI,它基于数据,它需要大量的数据训练模型,得到这个模型之后再拿一些测试题来反馈出你要的玩法。图非常实时,你的东西就在整个结构体系里,快速所见即所得,不需要花很多时间训练,而且不断升级模型,所以它很灵活。当然在一些精度要求下,可能它比AI效果更好,因为它直接反应真实数据,你这还是在数据跟数据间找规律的模型。
Q4:我想问一下图数据库的执行速度,比如我定位前后查找的数据,我有一个GB。
A:这只能看你具体的数据量和查询句式,这没办法,我也不清楚你的硬件,所以这很难回答到底能执行多快,只能是你自己去试。我个人建议,以前图数据库为什么很难大家用起来,就是因为它需要太多的大内存还有大容量。现在随着云的到来,这种大内存大容量可以触手可及。可能你就是想分析一两个月用,可能用完就退了,其实可以很好解决成本问题。我感觉有了云之后,图数据库的就越来越方便,更方便大家使用,看到效果。因为有效果之后,能帮助企业更快地找到怎么及时收获、体现效果,反正我感觉这是很有帮助。