搜索账号 排行榜客户端 去IOE的另外一条路径:全内存数据库弯道超车

简介:

老祖宗留下了《易经》这本书,告诉我们世界的本质是“变化”的,“变化”之间有相关性。比如云计算的兴起是由于计算机的带宽快速增加引起的,大数据的兴起是由于数字化进程引发的。


当今的IT界最重要的“变化”就是摩尔定律。曾几何时,程序员们沉醉于用C语言精妙的语句节省了数KB 内存空间,现在大家都用上了逻辑更加清楚、更易于大规模协作的JAVA,而对语言效率看得不那么重要。计算和存储能力变得越来越廉价的“变化”引发了其上软件产品的“变化”。


软件产品构建在以CPU、内存、外存(磁盘)为边的三角形之上。摩尔定律对三条边的影响程度各有不同。内存的性价比每15个月倍增,CPU的性价比每18个月倍增,但磁盘存储(主要的外存)的性价比增长并不遵循摩尔定律(因为它是磁的不是晶体管的)。更加重要的是:内存带宽的增长是符合摩尔定律的,而磁盘的带宽(从IDE到SATA、SAS)提升速度甚至还落后于磁盘容量性价比的提升。


因此,代表内存的那条边伸长得太快以至于三角形无法维持其形状,构建在上面的软件产品面临惨烈的“颠覆”,以ORACLE为代表的数据库软件(DBMS)首当其冲,因为它们是数据密集型的。按照数据库使用内存和外存的特点,可以分为三个时期:


内存昂贵的时期:摩尔定律的效果还在累积,内存远比外存昂贵。大部分的数据、索引、日志和临时空间都只能放在外存磁盘之上,内存起到的作用只是缓存。ORACLE、DB2、SYBASE等皆是在这个时代的产物,遗憾的是它们似乎历史的包袱太沉重,现在大半个身子还停留于此时代,怪不得数据库大师Mike.Stonebraker称他们为30年前的技术。


SSD外存崛起的时期:后SSD逐渐成为可选择外存之一,而SSD的容量性价比是符合摩尔定律的,带宽提升也非常快(如PCIE接口)。于是业界有一些改进尝试。比如阿里巴巴当前的交易系统在去IOE后是采用的MYSQL数据库Sharding方案,并将数据“全部”存储在PCIE接口的SSD上。各传统数据库也发展出自己的Storage Group方式来支持支持SSD做“热”数据存储的选项。比如Oracle推出了一体机Exadata,可以选择将“部分”数据缓存到到SSD上,但其大规模的存储还是利用磁盘。另外有一些技术型公司,如沃趣科技,推出了将Oracle的“全部”数据放到SSD上的方案,取得了很好的效果。


内存颠覆外存的时期:全内存数据库其实早就出现了,例如被Oracle收购的TimeTen、被DB2收购的SolidDB、韩国的AltiBase等,但是由于之前内存还是一个比较昂贵的选择,因此内存数据库只是小规模使用。随着摩尔定律效应的累计,内存的价格持续下降、速度持续增加,量变成为质变,VoltDB、HANA、MemSQL等一系列练就了独门功夫的内存数据库如雨后春笋般出现。他们的共同特点就是所有数据都存储在内存中。这其中每个数据库又有自己的特点,比如VoltDB颠覆了原有数据库设计理论,通过全局时钟和预编译的方法来进行并发控制,避免了锁等开销,很好地适应了OLTP类应用;HANA通过内存列存储和极限压缩来支持更快的大数据分析任务;MemSQL重新设计了Mysql的存储引擎部分,使之更加适应内存。


我们现在已经可以清楚地看到内存替代外存的趋势,因此可以断言:今后内存将是存取数据、索引的主要发生地,而不仅仅是缓存某些数据。SSD可能会作为快速数据持久化的手段,保证断电以后当前数据的安全。而速度更慢的机械磁盘可能作为备份的手段,替代磁带保证历史数据的可用性。


如果认可而摩尔定律推导的这个趋势,就必须审视它会对未来的系统架构和软件带来何种的影响。预写日志、日志检查点、回滚和前滚、B树索引等现有数据库特性都是基于使用机械磁盘的假设。机械磁盘寻道时间长故随机存取速度慢,这与SSD和内存等高速随机存取器有非常大的差别。为了适应机械磁盘的特点,数据库管理系统(DBMS)利用了大量的代码将随机存取变成顺序存取。比如日志,一个事务写一次日志很自然,但是为了要顺序存取,就要缓存一批日志再一次性写入磁盘。这就又带来了事务持久化的新问题,因此需要大量的代码为之服务。B树索引也是为磁盘顺序存取优化的,在SSD和内存等随机存取器中显得完全没有必要。


如果要使用高速且随机存取的内存作为主要存储器,那么最好对整个数据库的架构进行全新的设计。可以看到VoltDB和HANA正是这样做的,抛弃了很多传统的包袱,轻装上阵。Oracle和DB2的历史包袱太沉重,他们不可能抛弃自己的遗产,只能采取优化的方式,比如ORACLE 12c中也推出了内存列存储,DB2新的BLU特性也允许激进地使用内存,但其底层的数据存储,还是为机械磁盘来优化的。


凯文.凯利说颠覆总是从边缘开始,因为只有抛弃传统、独辟蹊径,才能发现新的技术范式,在数据库领域也是如此。可以预测要不了几年,内存数据库就会从事务处理系统开始全面取代磁盘数据库的领先地位。很高兴的是,我们看到联想、华为、南大通用等国内的软件公司已经认识到这一点,已经在内存数据库方面进行了颇多的探索,有的已经有了相应的产品。南大通用最近准备筹资5000万用于内存数据库产品的进一步研发。


看到未来的趋势,顺应潮流,拥抱变化的世界,这种方式的“去IOE”是弯道超车。这是《易经》告诉我们的道理。


原文发布时间为:2014-07-25

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
存储 NoSQL 安全
OAuth2在内存、Redis方式下的多客户端配置
`Spring`所提供的`OAuth2`集成策略,支持多种方式存储`认证信息`以及`客户端信息`,由于在之前的文章中讲解使用时把知识点进行了拆分,有很多同学不太会组合使用,很多单独问我`ApiBoot`所提供的`OAuth2`的整合后,多个客户端该怎么配置?
|
29天前
|
Linux
|
3月前
|
Oracle 关系型数据库 Linux
解决在linux服务器上部署定时自动查找cpu,内存,磁盘使用量,并将查询结果写入数据库的脚本,只能手动运行实现插库操作
问题描述:将脚本名命名为mortior.sh(以下简称mo),手动执行脚本后查询数据库,表中有相应的信息,放入自动执行队列中,脚本被执行,但是查询数据库,并没有新增数据。
34 0
|
1月前
|
监控 关系型数据库 MySQL
innodb_buffer_pool_instances 如何根据cpu和内存进行配置
`innodb_buffer_pool_instances` 是用于配置 InnoDB 缓冲池实例数的参数。每个实例都管理缓冲池的一部分,这有助于提高并发性能。通常,你可以根据系统的 CPU 和内存来调整这个参数,以获得更好的性能。 以下是一些建议和步骤,帮助你根据 CPU 和内存进行 `innodb_buffer_pool_instances` 的配置: 1. **了解系统资源:** 首先,了解系统的硬件资源,特别是内存和CPU。检查系统上可用的物理内存和 CPU 核心数量。 2. **考虑每个实例的大小:** 在配置 `innodb_buffer_pool_instances` 时,
|
2天前
|
弹性计算 大数据 测试技术
阿里服务器租用多少钱一年?阿里云服务器租用价格表(最新CPU/内存/带宽/磁盘收费标准)
阿里服务器租用多少钱一年?阿里云服务器租用价格表(最新CPU/内存/带宽/磁盘收费标准)。阿里云服务器的租用费用因实例类型、地域、配置等因素而有所不同,价格范围可以从几百元到几千元不等。2024年阿里云服务器租用费用价格表更新,云服务器ECS经济型e实例2核2G、3M固定带宽99元一年、ECS u1实例2核4G、5M固定带宽、80G ESSD Entry盘优惠价格199元一年,轻量应用服务器2核2G3M带宽轻量服务器一年61元、2核4G4M带宽轻量服务器一年165元12个月、2核4G服务器30元3个月,幻兽帕鲁4核16G和8核32G服务器配置,云服务器ECS可以选择经济型e实例、通用算力u1实
|
2天前
|
弹性计算
2024阿里云幻兽帕鲁/Palworld服务器价格表(CPU/内存/带宽/磁盘收费标准)
2024年阿里云幻兽帕鲁专用服务器的价格根据不同的配置有所不同。 • 4核16G配置的价格为32元/月,如果选择购买3个月,则价格为96元。 • 8核32G配置的价格为90元/月,如果选择购买3个月,则价格为271元。 另外,还有配置为4核16G10M带宽的服务器,其价格为26元/月起。而8核32G10M带宽的价格也是90元/月。
15 1
|
3天前
|
弹性计算 大数据 测试技术
2024阿里云服务器租用价格表(CPU/内存/带宽/磁盘收费标准)
阿里云服务器分为轻量应用服务器和云服务器ECS,轻量适合个人开发者使用,搭建轻量级的网站、测试环境使用;专业级如大数据、科学计算、高并发网站等需要使用云服务器ECS。2024年阿里云服务器租用价格表出炉!云服务器ECS经济型e实例2核2G、3M固定带宽99元一年、ECS u1实例2核4G、5M固定带宽、80G ESSD Entry盘优惠价格199元一年,轻量应用服务器2核2G3M带宽轻量服务器一年61元、2核4G4M带宽轻量服务器一年165元12个月、2核4G服务器30元3个月,幻兽帕鲁4核16G和8核32G服务器配置,云服务器ECS可以选择经济型e实例、通用算力u1实例、ECS计算型c7、通
|
9天前
|
弹性计算 大数据 测试技术
2024年阿里云服务器租用价格表(CPU/内存/带宽/磁盘收费标准)
2024年阿里云服务器租用价格表更新,云服务器ECS经济型e实例2核2G、3M固定带宽99元一年、ECS u1实例2核4G、5M固定带宽、80G ESSD Entry盘优惠价格199元一年,轻量应用服务器2核2G3M带宽轻量服务器一年61元、2核4G4M带宽轻量服务器一年165元12个月、2核4G服务器30元3个月,幻兽帕鲁4核16G和8核32G服务器配置,云服务器ECS可以选择经济型e实例、通用算力u1实例、ECS计算型c7、通用型g7、c8i、g8i等企业级实例规格。阿里云百科分享阿里云服务器租用费用最新报价
|
14天前
|
弹性计算 大数据 应用服务中间件
阿里云租用收费标准_2024年云服务器CPU内存_公网带宽_系统盘价格明细表
阿里云租用收费标准_2024年云服务器CPU内存_公网带宽_系统盘价格明细表,云服务器ECS经济型e实例2核2G、3M固定带宽99元一年、ECS u1实例2核4G、5M固定带宽、80G ESSD Entry盘优惠价格199元一年,轻量应用服务器2核2G3M带宽轻量服务器一年61元、2核4G4M带宽轻量服务器一年165元12个月、2核4G服务器30元3个月
65 0
|
14天前
|
弹性计算 大数据 测试技术
2024阿里云服务器租用价格表(CPU/内存/带宽/磁盘收费标准)
2024阿里云服务器租用价格表(CPU/内存/带宽/磁盘收费标准),云服务器ECS经济型e实例2核2G、3M固定带宽99元一年、ECS u1实例2核4G、5M固定带宽、80G ESSD Entry盘优惠价格199元一年,轻量应用服务器2核2G3M带宽轻量服务器一年61元、2核4G4M带宽轻量服务器一年165元12个月、2核4G服务器30元3个月
64 0

热门文章

最新文章