内存数据库适合多大规模的数据集?

日期: 2014-05-06 作者:Mark Whitehorn翻译:孙瑞 来源:TechTarget中国 英文

请问什么样的应用更合适内存数据库?

通常来说,内存数据库并不适合用来作为交易系统的后台数据库,因为就像它的名称一样,数据是存储在内存当中的。如果我们在内存当中运行一个标准的交易型数据库,那么当系统出现故障或者机房突然断电了,那么就很有可能所有交易都丢失。也就是说它缺少交易系统中所必需的持久性,而持久性也是ACID标准中非常重要的一环。

然而这样的情况正在发生变化,越来越多新的内存技术开始支持ACID,比如微软就刚刚推出了SQL Server 2014内存OLTP功能,甲骨文于去年宣布将推出Oracle 12c内存数据库选件,而SAP的HANA内存数据库声称将支持OLTP以及OLAP。

然而,我们看到的大量内存数据库还是用来跑分析应用,因为交易数据都存储在传统磁盘当中,而内存数据库中运行都只是原始数据的副本。

更具体来说,内存数据库最佳的应用场景是相对小型数据集的分析负载,因为尽管硬件的价格在不断下降,但内存设备还是要比传统磁盘但价格贵上很多。

请记住,“相对小型的数据集”只是代表着你可以负担得起的数据规模,这些数据是要存放在内存设备当中的。事实上,相对小的概念有时会让你大吃一惊。举个例子,我最近为一家软件厂商做了一个算术题,让他们了解到相对小究竟有多大。

为了尽量直观一些,我们假定你想要分析一个单独存储20列数据的表。其中一半的列都是文本(平均长度7个字符),有5列是日期数据,3列是整型而剩下的是实际数字。

像这样拥有150万行数据的CSV表大概是236 MB大小,也就是说1/4的GB。如果我们把表的大小再翻一倍,也就是说有300万行数据,40列数据,那么它也不过只有4GB而已。而现在大部分的笔记本电脑就已经拥有8GB内存以上了,所以即使在没有压缩的情况下,像这种规模的数据集也属于小数据的范畴,完全可以使用内存数据库来进行分析。

服务器的内存肯定比个人笔记本电脑的内存要大得多,而32GB的内存就可以分析5000万行,80列的数据。不要忘了,内存数据库往往自带数据压缩功能,而数据压缩比也会根据数据自身的情况而有所不同。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

翻译

孙瑞
孙瑞

相关推荐