# Graph-autotuning **Repository Path**: HITMassiveData/Graph-autotuning ## Basic Information - **Project Name**: Graph-autotuning - **Description**: 调优工具-图数据库 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-09-30 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 图数据库参数调优工具 ### 介绍 图形数据库是NoSQL数据库的一种类型,它应用图形理论存储实体之间的关系信息。图形数据库是一种非关系型数据库,它应用图形理论存储实体之间的关系信息。最常见例子就是社会网络中人与人之间的关系。关系型数据库用于存储“关系型”数据的效果并不好,其查询复杂、缓慢、超出预期,而图形数据库的独特设计恰恰弥补了这个缺陷。 在图数据库上进行一些列查询任务的时候,配置参数对其执行性能也有很大的影响。而挑选一组好的配置参数,对于指定任务的执行是会有很好的性能提升效果的。所以此图数据库参数调优工具主要面向指定查询任务,对图数据库Neo4j数据库进行参数调优,进而解决上述性能优化问题。 ### 环境准备 安装Neo4j并配置所需运行环境,注册neo4j服务,执行neo4j install-service 语言及版本python36,安装在python上运行neo4j所需的库:执行 pip install neo4j ### 工作原理及使用说明 creatPersonData_csv.py是用来生成图数据库graph.db中的每个点所需的数据,BlogCatalog-dataset中包含图数据库中的每条边的数据信息。 CURD.py包含在图数据库上进行的一些常规操作,通过cypher语句实现一些功能,比如创建点、边,还有常用的一些查询操作。并且这一系列查询操作作为后面的指定任务用来刻画数据库的执行性能。 run.py是在不同config配置下执行图数据库的查询任务测试用例集生成训练集,每次数据库的配置参数通过update_new.py进行更改并通过shell.py进行更新数据库的配置并重新启动。 DA.py是在训练集基础上模型训练,通过生成的预测模型进行参数选择并给出配置参数调节建议以及预期达到的调优结果。 所需数据准备阶段都已完成,工具使用时只需运行DA.py即可,tune_result.json文件即为最终运行结果。