前言
首先祝大家五一假期快乐!然后今年又是一个人不出京,就来玩一下蚂蚁开源的Tugraph图数据库,目前接入了A股和公募基金数据及相关信息数据库用的Tugraph,构建了一个图实例,我把它叫做放烟花,为什么叫放烟花原因很简单,因为有个小朋友说这像放烟花,后面有很多比较有意思成果。
一、图数据库是什么?
这里图是是指图论的图graph,然后如数据库就是从数据存储,应用接口层面设计一套专门为图数据服务的基础应用软件,具体不多说,进一步详细内容转图数据库图计算简介 ,用的图数据库为Tugraph
主要几个原因:
- 开源、
- C++编程(这是选用的首选原因,性能高,且插件功能无敌,可称为杀手锏,后面细说)
- 前端可视化效果还可以(但现在还是有满足不了我想法的实现)
- 底层存储三方库性能强(读过源码,很小众,但性能恐怖至极,看看有时间来分享一波lmdb源码解析)
- Tigergraph GSQL根本都不能叫查询语言(后端需转成c++,再编译成动态库)虽然技术层面有点东西,但不能作为查询语言、太死板不灵活,底层存储引擎一般lsmtree。
- neo4j 索引很好,但是 java开发,且属性的存储方式太ugly,性能堪忧。
- janusgraph , gremlin使用起来非常飘逸,不比cypher差,但是后端存储也一般。
再其它的和janusgraph大同小异
二、图数据库安装
详细安装tugrpah快速启动
个人用的本地deb包安装,很简单Tugraph下载地址
dpkg -i TuGraph-*****.deb (TuGraph-3.4.0-1.x86_64.deb)
没错,就这一个步骤。不过这里有可能会遇到环境变量配置的问题,主要看“iblgraph.so“所在目录是否在系统PATH变量里,我的目录在/usr/local/lib/liblgraph.so,如果找提示找不到,需配置/etc/profile,加上 liblgraph.so所在的目录。
启动
执行lgraph_server -d start
提示
ParseJson skipping enable_ha : false
ParseJson skipping license : /var/lib/lgraph/fma.lic
Starting lgraph...
The service process is started at pid 21125.
这就成功了
三、图数据使用
步骤太多转tugraph使用指南
三、前期准备
干货来了
建模
接入了 基金、股票、基金公司、板块、地域、主题等信息。
基金和股票的持有关系建模成边,持有季度和持有比例,及持有金额(非实时)为边上属性,这里有个小bug(属性的数据类型作查询的时候好像有问题,后面就全用了string类型)
数据导入后,数据量不大2.6w顶点,188w边
预热一下:查询诺安成长混合
B站实例
5月2日
总结
烟花准备工作就不多说了,主要看下一篇直接来个烟火盛宴开炸。