title: 内存数据库(in-memorydatabase)的发展现状和前景如何？
desc: <blockquote>内存数据库是指一种将全部内容存放在内存中，而非传统数据库那样存放在外部存储器中的数据库。内存数据库指的是所有的数据访问控制都在内存中进行，这是与磁盘数据库相对而言的。磁盘数据库虽然也有一定的缓存机制，但都不能避免从外设到内存的交换，而这种交换过程对性能的损耗是致命的。由于内存的读写速度极快（双通道DDR3-1333可以达到9300 MBs，一般磁盘约150 MBs），随机访问时间更是可以纳秒计（一般磁盘约10 ms，双通道DDR3-1333可以达到0.05 ms），所以这种数据库的读写性能很高，主要用在对性能要求极高的环境中，但是在服务器关闭后会立刻丢失全部储存的数据。常见的例子有MySQL的MEMORY存储引擎eXtremeDBFastDBSQLiteMicrosoft SQL Server Compact等。<br><blockquote><br>Source
topic: 数据库
content: 1. in-memory数据库的最大卖点其实不是把数据放在内存里. 2. 最大的变化是把传统关系型数据库RDBMS里表的存储方式从行存储变为列存储. 列存储的好处是 2a. 数据的压缩率可以很大， 因为往往很多应用表里一列的数据冗余度很大 2b. 对于OLAP系统来说， 求和， 平均等aggregation的查询在列上操作效率非常高 所以列存储已经成为所有所谓in-memory数据库的标准配置 3. SAP HANA的终极目标是消灭OLTP和OLAP的区别， 让快速的直接查询数
answerer_tags: 数据库和桌游