@gzm1997
2018-11-08T15:46:57.000000Z
字数 1463
阅读 1645
离职
图数据库
关系图谱
郭柱明
因为我之前都要使用博客记录的习惯 所以下面很多链接都链接向我自己写的博客上的 所以导致下面看起来内容不多 其实下面内容还是有的
图数据库的考察是我进入公司开始做的第一部分工作 我们考察图数据库的历程大概是下面这样的
我们做了一个demo 就是基于我们的cayley图数据库来构建我们的关系图谱 从而找出用户中的最近联系的人以及可能认识的人 当时因为在设计理念以及对cayley的使用上 我跟扬哥跟莹姐之间存在分歧 所以当时每个人都按照自己的想法来写了一个自己的版本 我的版本如下
graphRelation
里面还算有不少注释
hugegraph说实话我们没接触多长时间 所以在这一阶段写的代码并不多 有一个需求就是找子图 代码在subgraph 里面我也写了部分注释
博客详情在我的subgraph博客
hugegraph时期我花了很多时间在看gremlin官方文档上 因为gremlin语法众多而且复杂 我并没有像以前翻译cayley的查询语言Gizmo那样用博客把常用查询语法记录下来 所以有点可惜 但是太多了记下来也没用 可以当官方文档是字典 使用的时候去查阅 平时只需要记住常用的查询语法即可
docker容器目前有三个用处
我有做基于容器docker的开发和测试上一些简单的尝试 详情请看下面基于容器开发
cayley在它的单元测试跟集成测试部分就是用了docker 但是这里docker的使用跟上面有所不一样 上面是所有的部分都包含在容器内部 但是cayley的思路很特别也很有借鉴意义
cayley因为支持很多种数据库作为底层存储 所以他在每一次的单元测试以及集成测试过程中 都使用docker生成一个数据库容器 并将程序在运行过程中产生的持久层数据都放进这个数据库容器中 这样当测试结束 清除这个容器 保证了测试都进行在一个一次性的环境中 不留下任何测试数据
我为cayley修好的这个bug就是上面这个问题里面一个bug 虽然这个bug没什么太大意义 但是cayley在这里的设计思路确实非常值得我们借鉴 借助docker为我们的单元测试集成测试提供一次性的数据库容器