1. 什么是 VoltDB?
是一个优化吞吐率的高性能集群开源 SQLRDBMS(Database Management System), 它是一个内存关系型数据库, 既获得了 nosql 的良好可扩展性, 高吞吐量的数据处理, 又没有放弃原传统关系型数据库的事务支持 --ACID
从硬件上来看, VoltDB 基于 PC + 以太网 + 本地存储, 从体系结构来看其内部是一个 ShareNothing(注 1 https://blog.csdn.net/seteor/article/details/10532085 )的内存数据库, 通过并行单线程来保证事务的一致性和高性能, 所有事务被实现为 java 存储过程, 所有存储过程 (事务) 都全局有序, 由于避免了锁的使用, 因此可以保证每个事务在所有分区上并行执行完成后才继续执行下一个事务, 事务不会乱序执行. 存储过程内部支持分组, 多路 join, 聚合, 函数等等,
VoltDB--- 自动数据分区, 数据表会自动分配到集群节点, 可以看成是传统 sharding 的升级整合版本.
--- 自动快照, 意味着一个事务内部无需进行 IO 操作, 可在微秒级别完成事务,
--- 异步事务提交, 从某种意义上看, VoltDB 是一个共享内存的集群(?), 支持多节点并行事务处理, 理论上不存在节点上限(?)
2.VoltDB 部署安装环境
voltdb 的代码以及系统构建都是在 64 位的 linux/OS X 之上的, 它的编译需要如下环境:
java 1.8
Apache Ant http://ant.apache.org/ 1.7 或者更高版本
一个支持 C++11 的编译器
Python http://python.org/ 2.6 或者更高版本
https://cmake.org/ 2.8 或者更高版本
以下讲述的是在 ubuntu16 下编译 voltdb 的过程
安装 jdk1.8:
1. 进入要存放文件的目录: cd;
2. 在线下载 JDK: sudo curl -o jdk-8u121-linux-x64.tar.gz -L --cookie "oraclelicense=accept-securebackup-cookie" http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133
注意 http 地址是 "下载页面的里对应 JDK 文件的链接地址"
3. 解压: sudo tar -zxvf jdk-8u121-linux-x64.tar.gz -C /usr/local/java;
4. 在 usr 目录下创建 jvm 目录 sudo mkdir /usr/jvm
5. 然后将解压缩后的 jdk1.8.0_181 剪切到 / usr/jvm 目录下 sudo mv jdk1.8.0_131 /usr/jvm
6. 配置系统环境变量, 使用 vim 来修改 / etc/profile sudo vim /etc/profile , 将下面的代码放在 profile 文件的最后面
- export JAVA_HOME=/usr/jvm/jdk1.8.0_181
- export JRE_HOME={JAVA_HOME}/jre
- export CLASSPATH=.:{JAVA_HOME}/lib:${JRE_HOME}/lib
- export PATH=$JAVA_HOME/bin:$PATH
7. 然后运行 "sudo source /etc/profile" 来更新配置文件
8. 运行 "java -version" 来查看版本信息, 如果安装成功, 则会显示出版本为 1.8.0_181
安装 ant:
1. 在 download 文件夹下继续下载 ant
sudo curl -o apache-ant-1.9.13-bin.tar.gz -L http://mirrors.hust.edu.cn/apache//ant/binaries/apache-ant-1.9.13-bin.tar.gz
2. 解压, 放在 usr/local/ant 目录下并重命名 tar -zxvf apache-ant-1.9.13-bin.tar.gz /usr/local/ant
mv apache-ant-1.9.13-bin.tar.gz ant1.9.13
3. 配置环境变量 vi /etc/profile 将下两行写到最末尾, 之后 source /etc/profile, 使更改的配置立即生效
- export ANT_HOME=/usr/ant1.9.7
- export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH
4. 查看 ant 版本, ant -version 若显示
Apache Ant(TM) version 1.9.13 compiled on July 10 2018 则安装成功
安装 GCC: sudo apt-get install build-essential
安装 Python: sudo apt install python-minimal
安装 cmake: sudo apt-get install cmake --- 安装完成后, 运行 cmake -h, 显示 cmake 的版本以及 Options 参数说明时即说明安装成功.
3.VoltDB 测试
1.git clone https://github.com/VoltDB/voltdb.git,
如果中途出现
error: RPC failed; curl 56 GnuTLS recv error (-9): A TLS packet with unexpected length was received.
fatal: The remote end hung up unexpectedly
- fatal: early EOF
- fatal: index-pack failed
修改: git config --global http.postBuffer 524288000
2. 安装 官方安装指南 https://github.com/VoltDB/voltdb/wiki/Building-VoltDB
- cd voltdb
- ant clean
- ant
这一步需要很长时间, 尤其是 ant 的过程
ant 的过程中忽然虚拟机变得特别卡, 估计是 CPU 是 1 核的, 未完待续
来源: https://www.cnblogs.com/kkyycom/p/9345897.html