SPO升级计划
Date: 2019/05/28 Categories: 工作 Tags: SPO janusgraph
需要的数据
- 统计一天spo log
需要做的统计
- 统计加入name_index后对sp_name查询的加速比
- 统计po查询的性能, 和对总体性能有多大影响
需要的功能
- SPO服务
- 人物关系查询, 如”刘德华和朱丽倩什么关系” (图数据库无法支持, 需要内存存储)
- name_index:
name/alias_name -> type/popular/properties/uuid
的映射, (移植C++代码) 用于 1) 加速SP/NAME查询 2) 支持按照实体是否有属性查询实体id
- SPO数据文件
- 人物关系
- name_index (移植C++代码)
- 更新流程
- 根据三元组diff更新janusgraph
- 根据janusgraph库更新数据文件(name_index/人物关系…)
- 数据的备份和回滚
其他SPO支持的查询
红高粱中九儿的扮演着是谁 (含condition查询)
{"Type":"LIST","is_intercept":"0","keys":[{"condition":[{"major_prop":"演员","minor_prop":"角色","value":"九儿"}],"name":"红高粱","prop_name":"表演.角色","type":"sp\tname","type_name":"视频类_电视剧"}]}
非查询
{"Type":"LIST","is_intercept":"0","keys":[{"name":"刘德华","prop_name":"歌曲","type":"sp\tname","type_name":"人物类_人物","nor_prop":"语言","nor_value":"粤语"}]}
交集查询
{"Type":"INTERSECTION","is_intercept":"0","keys":[{"name":"叶倩文","prop_name":"歌曲","type":"sp\tname","type_name":"人物类_人物","nor_prop":"语言","nor_value":"粤语"},{"name":"林子祥","prop_name":"歌曲","type":"sp\tname","type_name":"人物类_人物","nor_prop":"语言","nor_value":"粤语"}]}
部署janusgraph测试集群和上海集群
Timetable
每个点初步定1周时间
准备性能评估 (andyfei) (due by 2019/06/03):
- 统计spo log中的各类查询的分布
- 使用实际的log测试每一类查询在spo服务和graph_service中对应的性能
- 建立性能测试集和相应的代码, 用于评估性能和比较结果
名字索引 (andyfei) (due by 2019/06/10):
- 移植原SPO服务中的name_index模块到python
- graph_service中添加name_index模块加速sp/name的查询
其他未实现查询 (jasonjlv) (dye by 2019/06/15):
- 添加人物关系查询的索引
- graph_service中添加人物关系查询
- 支持condition查询/非查询/交集查询
服务部署 (andyfei & jasonjlv) (due by 2019/06/24):
- 部署上海集群/测试scylladb/janusgraph/spark/graph_service集群
- 编写使用janusgraph OLAP功能导出全量数据的脚本
- 串联导出数据和生成各种数据文件的流程
其他 (andyfei) (due by 2019/06/28):
- 编写备份和恢复流程
- 结果对比和性能测试