LemonGraph安装与配置指南
1. 项目基础介绍
LemonGraph是一个基于日志的事务性图数据库引擎,它将数据存储在单个文件中。主要适用于支持流式种子集扩展的用例,例如在图中注入种子数据,然后根据日志位置查询图中所需的模式,处理返回的结果,更新客户端日志位置,并注入新数据。
该项目主要使用C语言编写,提供了Python层的友好绑定、查询语言和REST服务。LemonGraph基于Symas LMDB,这是一个由OpenLDAP项目开发的事务性键/值存储,用于替代BerkeleyDB。
2. 关键技术和框架
- Symas LMDB: 事务性键/值存储,提供多版本并发控制(MVCC)能力。
- Python绑定: 提供了易于使用的Python接口。
- REST服务: 允许通过HTTP请求与图数据库交互。
- 自定义查询语言: 支持针对图结构的复杂查询。
3. 安装和配置准备工作
在开始安装之前,请确保你的系统满足以下要求:
- Python 2.7+ 或 Python 3.x
- GCC、Make 和相应的开发库(对于CPython)
- cffi Python包
安装步骤
对于CPython用户(CentOS 6/7)
-
安装编译工具和依赖:
yum install -y gcc gcc-c++ make libffi-devel zlib-devel python-devel python-setuptools
-
安装cffi:
easy_install 'cffi>=1.0'
对于CPython用户(Ubuntu 15.04 - 16.04)
- 安装依赖:
apt-get install libffi-dev zlib1g-dev python-dev python-cffi
对于Pypy用户
-
启动setuptools(如果尚未安装):
pypy -mensurepip
-
LemonGraph在Pypy中捆绑了cffi,因此无需额外安装。
安装LemonGraph
-
克隆项目到本地:
git clone https://github.com/NationalSecurityAgency/lemongraph.git cd lemongraph
-
安装LemonGraph:
python setup.py install
或者,如果你想要在没有适当安装的情况下运行,你需要手动安装依赖:
-
对于CPython:
easy_install lazy msgpack pysigset python-dateutil six ujson
-
对于Pypy:
easy_install lazy msgpack pysigset python-dateutil six
安装完成后,你就可以开始使用LemonGraph进行图数据库的操作了。