VoltDB介绍
简介
VoltDB数据库是一个分布式,可扩展,shared-nothing的内存数据库。使用JAVA 写的存储过程来定义事务。使用标准SQL访问数据,使用并行的单线程处理方式确保数据一致性,同时避免了传统数据库的锁,插销,资源管理开销。
VoltDB具有如下特点:
- 高吞吐量:百万次每秒
- 横向拓展:可以根据需求自由拓展,性能线性增长。
- 高可用性:数据支持副本、也可以持久化保存、除此之外,还支持双活机制。
- 实时数据分析:数据实时性高,因为都是内存计算。
- 完整ACID支持,保证事务性和可靠性。
VoltDB的设计动机来源于内存成本的大幅下降,系统对于数据的时效性要求越来越高,而传统数据库由于数据在本地文件保存,所以不论并发还是处理速度,都难以满足要求。而新型的NoSQL数据库,又缺乏SQL支持以及完整的ACID的支持,完全无法提单传统数据库。
VoltDB、NoSQL和传统关系型数据库的对比如下所示:
适用场景
VoltDB适合OLTP系统,单个事务较小,但是事务总量非常之多的应用。比如金融,零售,WEB2.0等传统OLTP应用。不适合进行范围查询或者频繁多表Join这样的场景。