主流内存数据库对比

标签: 内存数据库
18319人阅读 评论(5) 收藏 举报
分类:

原文地址:http://blog.csdn.net/nanfeiyannan/article/details/9003009

 

名称

开源或商业

主要特点

OracleTimesTen

不开源,商业使用付费

1. 符合RDBMS标准的独立内存数据库服务。

2.支持SQL访问,支持ODBC&JDBC。

3.本身不支持与非Oracle数据库的互操作。

4.高可靠性,支持完整日志,支持镜像复制功能。

5.目前不支持存储过程和触发器。

6.内存结构简单,并没有数据库缓冲区、保存池或丢弃池的概念。

7.目前支持散列索引和T树索引,前者仅支持余键-值查找,速度非常快,执行过程与底层表的数量无关,具有较高的读取扩展性和很好的并发性;T树索引读取效率很高,但是,在繁重写操作时,并发性较差。

ASE-IMDB

不开源、商业使用付费

1.被整合到Sysbase ASE平台中(TimesTen则为一个独立的数据库)。

2. 基于经典ASE数据库模板创建。

3. 采用复制技术实现读取其他数据源的数据。

4. 完全支持ASE本身的SQL语法、安全性和加密。

IBM SolidDB

不开源、商业使用付费

1.可以提供超快的速度和超高的可用性,可以提供每秒数万至数十万事务的吞吐率,并且始终可以获得微秒级的响应时间。

2.抛弃大数据块结构,表行和索引节点独立地存储在内存中,可以直接添加索引,而不必重新组织大块结构。

3.放弃使用大块索引,以精简结构、增加索引层数、将索引节点最小化,从而避免节点内处理的成本。

4.使用一种称作trie(前缀树)的索引方式,更适合现代处理器缓存,通过有效促进缓存的使用来提高处理器的效率,从而实现性能的最大化。

5.使用一种获得专利的检查点方法来加快数据处理,查询事务的延时通常是10到20微秒,更新事务的延时通常小于100微秒。

VoltDB

开源版本免费

商业版本需付费

1.基于存储过程的事务提交方式:用户通过写存储过程完成应用程序的逻辑,作为一个先置条件将存储过程提交到VoltDB,运行时,用户程序调用存储过程完成事务操作,所有事务的运行逻辑是由VoltDB在服务器进程中完成。

2.基于Shared Nothing结构的数据分布,整个数据库的数据分散到集群的多台机器上。

3.基于哈希的数据分布策略,好处是数据分散的均匀,没有动态数据调整的烦恼;缺点是新增的机器需要停止服务后重新分布数据。哈希方法打乱了数据的连续性,使得VoltDB对于范围查询的处理能力显著下降。

4.其事务并发控制需要依赖于集群内所有机器的时间一致,其数据分片规模是按照集群核数来划分,当整个系统压力比较大时,可以使事务的时延有效降低。

eXtremeDB

不开源的商业数据库,

测试版本在功能上与正式版没有区别,但是,对连接次数做了限制

1.高性能和高效的存储效率,为了提高性能方便程序使用,eXtremeDB中的数据未做任何压缩。

2.不仅开源建立完全运行在主内存的内存数据库,更可以建立磁盘/内存混合介质的数据库。

3.嵌入式数据库:其内核以链接库的形式包含在应用程序之中,开销只有50KB-130KB;避免了进程间的通信,从而剔除了进程间通信的开销和不确定性;其独特的数据格式方便程序直接使用,剔除了数据复制及数据翻译的开销,缩短了应用程序的代码执行路径。

4.由应用定制的API,应用程序对eXtremeDB数据库的操作接口是根据应用数据库设计而自动产生,剔除了通用接口所必不可少的动态内存分配。

5.其独特的体系结构,保证了数据管理的可预测性。

SQLite

开源,免费使用

商业目的的分发版免费

1.需要专业支持则需要购买。

2. 在并发(包括多进程和多线程)读写方面的性能一直不太理想。数据库可能会被写操作独占,从而导致其它读写操作阻塞或出错。

3.32\64位主流操作系统均支持。

4.不支持ODBC连接,需通过第三方驱动支持JDBC连接。

5.支持SQL

H2

开源,免费使用

商业目的的分发版免费

1.需要专业支持则需要购买。

2. 并发性较好(在模拟器中有使用,支持50个并发查询没问题),数据量少的情况,查询速度很好。

3.32\64位主流操作系统均支持,但需Java平台支持。

4.支持ODBC&JDBC

5.支持SQL



查看评论

常用内存数据库介绍

1.  内存数据库简介 1.1           概念 一、什么是内存数据库  传统的数据库管理系统把所有数据都放在磁盘上进行管理,所以称做磁盘数据库(DRDB:Disk-Reside...
  • DH2442897094
  • DH2442897094
  • 2017-03-21 12:11:46
  • 6822

Redis简介以及和其他缓存数据库的区别

相关文章:Centos7.0 安装Redis 3.2.1详细过程和使用常见问题Redis简介Redis 是一个开源的内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据...
  • u010870518
  • u010870518
  • 2017-03-07 14:27:54
  • 9147

使用redis作为缓存,数据还需要存入数据库中吗?

使用redis作为缓存,数据还需要存入数据库中吗?
  • Ideality_hunter
  • Ideality_hunter
  • 2017-08-27 17:24:49
  • 11948

内存数据库主流的有哪些,并给出各自特点!

内存数据库从范型上可以分为关系型内存数据库和键值型内存数据库。 在实际应用中内存数据库主要是配合oracle或mysql等大型关系数据库使用,关注性能。 作用类似于缓存,并不注重数据完整性和数据一...
  • caomiao2006
  • caomiao2006
  • 2016-07-30 23:38:57
  • 4183

主流内存数据库简要比较

由本人搜集资料整理而成,如需转载请注明出处:http://blog.csdn.net/nanfeiyannan/article/details/9003009(谢谢) 主要内存数据库对比   ...
  • nanfeiyannan
  • nanfeiyannan
  • 2013-05-31 23:15:56
  • 15546

sqlite内存数据库和文件数据库的同步

由于sqlite对多进程操作支持效果不太理想,在项目中,为了避免频繁读写 文件数据库带来的性能损耗,我们可以采用操作sqlite内存数据库,并将内存数据库定时同步到文件数据库中的方法。 实现思路如下:...
  • lijinqi1987
  • lijinqi1987
  • 2016-06-14 17:45:37
  • 8329

PHP中include和require的区别详解

1、概要    require()语句的性能与include()相类似,都是包括并运行指定文件。不同之处在于:对include()语句来说,在执行文件时每次都要进行读取和评估;而对于requir...
  • shenpengchao
  • shenpengchao
  • 2016-08-26 10:45:16
  • 13907

内存数据库性能评测之SQLite数据库

注册 我的搜狐邮件 欢迎入驻搜狐媒体平台 内存数据库性能评测之SQLite数据库 复制链接打印 2012年10月17日...
  • kasama1953
  • kasama1953
  • 2016-09-13 16:38:13
  • 3837

常用内存数据库介绍(一)

1.  内存数据库简介1.1           概念一、什么是内存数据库传统的数据库管理系统把所有数据都放在磁盘上进行管理,所以称做磁盘数据库(DRDB:Disk-Resident Database...
  • zhangxinrun
  • zhangxinrun
  • 2010-07-06 17:03:00
  • 12564

内存数据库

一个数据库表是一个结构体(Value结构体),如果这个表有主键,那么就将主键构造出来一个结构体(Key结构体),然后这个表在内存数据库中就是一个map,key和value构成了一个item, 如果数...
  • u013600225
  • u013600225
  • 2016-08-10 21:04:18
  • 267
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 163万+
    积分: 2万+
    排名: 466
    博客专栏