[.com原稿]数据无疑是企业最重要的资产之一。随着大数据的到来,丰富的数据格式和数据量的几何级增长给企业带来了巨大的压力。如何有效利用数据,分析挖掘更大价值,辅助企业决策,是每个企业都应该关心的问题。过去,更多的数据以二维表的形式存在于关系型数据库中,但现在数据之间的联系已经变得越来越复杂。图数据已经开始进入企业的视野,让更复杂的数据可以高效地从中进行连接和分析。图的国内外发展在计算机领域中,图(Graph)是由节点的有限集合V(顶点)和边的集合E(边)组成的数据结构。在图中,最基本的单位是顶点,顶点之间的关系称为边。图表可能存在于1950年代和60年代。当时有一些经典的算法,比如最短路径算法,生成树算法。2009年前后,谷歌发表了一篇关于谷歌开发系统解决大规模图计算问题的论文,此后图开始进入企业视野。当时,Google将图形应用于PageRank网页排名。由于谷歌搜索引擎中的网页较多,因此PageRank算法应用于用户搜索时页面的排序顺序。每个网页都是图中的一个顶点。如果有指向另一个网页的链接,那么这两个网页之间就有一条边,网页之间的相互指向就形成了一个巨大的图。然后根据图进行分析,给每个网页分配一个Rank值。Rank值较高的网页相对重要和权威,因此用户搜索时会排在第一位。在国内,图的发展比较晚,基本集中在学术界。例如,清华大学、华中大学、上海交通大学、中国科学院等高等院校均有团队或项目组开展相关研究。而阿里、百度、腾讯等互联网龙头企业已经在开发图数据的相关应用。图的结构与人工智能领域的知识图谱结构非常相似。飞马科技CEO洪春涛解释说,知识图谱是图的一种应用,知识图谱由图等数据结构组成。Google提出的知识图谱KnowledgeGraph是一种特殊的图,每个属性都会抽象为一个顶点,每个顶点没有属性。但有时属性可以作为一个顶点属性存在,而不是单独抽象为一个顶点。这是PropertyGraph属性图。例如,在搜索一个人时,可以将他的年龄、身高等作为该人的属性。与传统的关系数据相比,图的逻辑可以很好地解决当前关联数据分析的问题,例如绘制用户社交关系图用于社交影响力排名和好友推荐;为大数据征信、反欺诈等应用绘制资金交易图;构建设备关系网络图,实现物联网建模与分析、供电网络建模与分析等。图数据系统的相关代表是目前业界主流的图计算系统和图数据库,包括GraphX、PowerGraph、Neo4j和Titan,每个系统都有自己的优点和缺点。GraphX是应用最广泛的图计算产品。它是一个基于Spark的软件系统。Spark是为了满足一般的计算场景而设计的,但是对图计算的支持不是很好。因此,如果在其之上构建支持图计算的系统,性能将大打折扣。洪春涛说,GraphX把所有顶点的数据看成一个不可改变的整体(RDD)。如果需要修改部分顶点的数据,则需要将数据作为一个整体进行复制,然后再进行修改。这样做的好处是如果在生成新数据的过程中机器宕机了,原来的数据仍然存在,可以重新启动。但是图计算需要迭代很多次。比如上面提到的PageRank需要跑20-30轮。如果使用GraphX运行,那么每一轮迭代都需要添加新的副本,最大内存会扩大几十倍。.所以GraphX的计算能力会受到限制,基本不可能做到百亿顶点。由于GraphX发展比较早,其设计基本可以满足当时的数据量,但是随着时间的迭代,暴露出GraphX支持能力有限的问题。PowerGraph也是一个图计算系统,用C++编写,支持大约是GraphX10倍的数据量和性能。最早的图数据库是Neo4j,已经发展了十多年。但是Neo4j主要针对中等规模的数据,量级在亿级左右。因此,面对当今互联网的海量数据,它显得力不从心。国内的BAT基本都是在开源的Titan图数据库的基础上进行修改,以满足企业自身的业务需求。Titan可以支持大量的数据。底层基于分布式KeyValueStore,但是查询速度比较慢。因此,Titan只能进行简单的查询。编程语言对图计算的影响另外,编程语言对图数据的计算性能也有影响。目前业界主流的图计算开发语言是Java和C++。与C++相比,Java是一种更高级的语言,编程简单,不易出错。但是,在图计算领域,用Java开发的系统与用C++开发的系统在性能上有些差异。首先,底层会有一个Java虚拟机,所有的操作都会经过虚拟机翻译后执行,所以操作会受到限制,用Java写的系统会有多层,会影响执行效率。C++程序编译后是二进制代码,编译完成后可以直接在电脑上运行。其次,Java虚拟机中有一种叫做垃圾回收的机制。当系统内存使用非常频繁时,就会出现问题。系统会频繁进行垃圾回收,导致软件性能低下;而在C++中,程序员需要自己管理内存。虽然这需要大量的程序员,但它可以最大限度地保证软件的效率。三是系统调用的问题。C++可以直接通过操作系统调用来修改系统配置,而Java则需要借助Java虚拟机。如果Java虚拟机不提供这个函数,那么Java程序就不能调用这个函数。例如图数据库从外部存储读取数据时,有时需要使用操作系统的MMAP(mapafileorotherobjectintomemory)功能,操作系统会默认进行预读,即就是,当系统读取到一条数据的时候,他会默认预读取后面的数据,放到内存中。但是数据库中的数据是随机访问的,预读功能会造成大量的资源浪费。在Java中,系统调用的功能是不能关闭的,C++可以直接通过系统调用来改变这个设置。费马技术的多方面优化因为图是高维数据,不像二维数据,它是比较有规律的。因此,图数据的存储和计算难度也会相对增加。对于传统的规则数据,计算机可以通过软件系统高效地存储和分析数据,但图形的不规则性使其难以发挥硬件性能。比如用GraphX运行图数据,占用的内存是原始数据的几十倍。因此,许多机器无法运行。另一个是性能问题。即使机器能跑起来,效率也很低,这对业务来说是不能接受的。北京飞马科技有限公司成立于2016年,由多名清华大学毕业的博士在清华教授的支持下共同创立。是一家专注于图数据技术,为企业提供高性能图数据存储和分析平台的国家。高新技术企业。Fermat图数据平台是Fermat自主研发的高效大规模图计算平台。主要由图分析平台PandaGraph和大型图数据库LightGraph两部分组成。PandaGraph图分析平台用于高效分析图数据,LightGraph图数据库用于存储和查询图数据。用户可以直接调用PandaGraph对LightGraph中存储的图数据进行快速分析,并将结果存储在LightGraph中,供后续查询使用。FermatTechnology的产品开发全部是自主研发,而不是采用开源的产品架构。洪春涛坦言,首先是开源产品基础不完善,限制多,很容易看到天花板,就像旧楼改造,而我们从头开始,就相当于盖了一个新的可以从底层到顶部进行优化的建筑。从架构层到功能层,Fermatogram数据平台都进行了层层优化。在架构层面,Fermat团队选择了更适合底层数据交互的C++语言,而不是主流的Java语言。虽然编写复杂度较高,但在应用上可以更加灵活。在存储方面,Fermat支持多版本并发,读写分离,写操作不影响读操作的性能,不会因为频繁的读写而降低性能;支持事务内并行,多个线程可以在同一个快照上执行操作,加速长事务的分布式处理;采用无锁数据结构,数据读取操作不需要任何锁操作,从而带来极高的吞吐量;前缀压缩,将相关数据存储在连续的空间中,从而提高遍历操作的效率,减少重复的检索操作等。在分析方面,Fermat支持分布式扩展,可以线性扩展到分布式环境,闪电般的扩展扩展;双模驱动,图数据访问支持push和pull模式,运行时自动选择较优的模式,提高数据访问效率;使用连续的数据块划分,划分数据时利用真实数据的内在相关性将相关数据划分在一起。高质量的划分方法对分析有很大的好处;细粒度调度,将图数据任务动态映射到设备的CPU、核心、线程等多个层面,充分利用计算资源。Fermat图数据的产品逻辑处于数据底层,为大规模图数据的存储和分析提供强大支持,但团队在客户实践中经常帮助客户优化场景/算法。以京东金融为例。京东金融提供“白条”服务。白条的多少取决于用户的风险值。除了常规数据,参考相同地址等相似信息,通过图数据技术很容易将相关用户关联起来。并参考联系人的风险系数计算用户的风险值。费马科技帮助京东金融实现多账户关联分析。仅占用一台服务器资源即可在10分钟内完成全量数据处理,相比之前基于GraphX需要上百台设备计算6小时以上的情况,不仅性能提升了1000倍,而且也降低了金融风险,给京东金融带来惊喜。目前市面上还没有一家公司同时提供图数据库和图计算。而飞马科技提供的图数据库和图计算产品可以相互配合解决存储问题,提高分析效率。当然,作为一家创业不到三年的公司,飞马科技的产品也不是没有缺点。洪春涛坦言,费马科技最大的短板就是易用性。遇到过的场景可以进行性能优化,但是很多应用场景没有遇到过,很难找到提升性能的方法。所以,积累经验还是需要很长时间的。飞马科技的核心竞争力:人在谈及飞马科技的竞争优势时,洪春涛认为,飞马科技的核心竞争力是人,聚集了高水平的程序员,长期致力于图形学。只有在数据领域,才能开发出真正高水平的系统软件。的确,从飞马科技的成员身上,我们就可以看出这支初创团队的实力。洪春涛,飞马科技CEO,毕业于清华大学计算机系。早在十年前,他在博士期间就编写了世界上第一个开源的分布式C++图计算系统。毕业后在微软亚洲研究院的6年时间里,带领团队主导了微软下一代大数据系统平台和分布式机器学习平台的设计,并协助必应搜索团队实现了早期原型设计。飞马科技CEO洪春涛,飞马科技CTO朱小伟推荐清华大学连续攻读硕士、博士,***奖学金,Siebel学者,曾被国际顶级期刊关注的学者,获得一等奖AMC等多项科技奖项。领先的Gemini平台是目前业界最快的图计算软件。飞马科技联合创始人林恒也是博士。清华大学计算机系博士,Graph500《神威太湖之光》作者。林恒博士主导的系统Graph500评选获得全球第二名,填补了国内图数据分析领域高性能系统奖项的空白。飞马科技联合创始人李开威博士是GPU加速和机器学习领域的专家。他也是团队中的另一位西贝尔学者和奥林匹克金牌得主。)冠军,被誉为清华大学计算机系的“小神童”。聪明人聚在一起,效率自然高得惊人。费马科技地图数据平台的系统改造只用了三个月时间,还是在洪春涛博士的严格要求下完成的。值得一提的是,这支聪明的团队由清华大学陈文光教授领衔。陈老师敏锐地抓住了图数据的潜力,于是在陈老师的建议下,一批学界大师纷纷响应,才有了今天的费马科技。未来发展飞马科技成立于2016年,目前已完成天使轮和A轮两轮融资。洪春涛对于未来的发展也有着详细的规划。短期目标是在2-3年内优化和完善图计算和图数据库产品,提升业界对图数据的认知。当用户遇到相关问题时,可以选择像飞马科技这样的供应商来解决问题。长期目标是希望用户不仅了解图数据,还能更好地应用图数据,飞马科技希望成为Oracle级别的软件公司。【原创稿件,合作网站转载请注明原作者和出处为.com】
