内存数据库优劣势有那些?

0
已邀请:
1

BIWORK - 热衷于微软BI技术,技术架构和解决方案! 2015-09-25 回答

个人观点:
内存数据库的概念或者为什么要用内存数据库? 因为内存数据库对于传统的存储方式来说数据直接存在内存中,内存的数据读写速度明显比从磁盘不断的拷贝要高出很多很多,性能得到极大的提升,所以它是以内存资源来换取数据处理的实时性的。
 
谈不上优劣势,因为要放在不同的场景下去考虑。在处理实时并发和处理场景下,内存数据库肯定有优势;但是作为大容量存储包括数据安全方面还是需要传统的磁盘式 OLTP 数据库。
 
比如说在断电或者宕机的情况下,内存数据库的风险就比传统的 OLTP 数据库要大很多。几乎像日常的事务系统,比如银行交易、医院信息、其它等大型事务系统它们的数据库肯定是采用的传统磁盘式数据库,即使用到内存数据库技术也一定需要有一套解决方案定期的将数据副本最终复制到磁盘系统。所以内存数据库更多的用在数据分析、报表系统,以大查询高聚集为主的分析应用的产品上。
 
 
2

seng - 从事BI、大数据、数据分析工作 2015-09-25 回答

内存数据库针对业务应用和分析应用有不同的解决方案,业务应用如Oracle TimeTen只要处理交易高并发问题,分析应用就更多了如SAP Hana,Oracle 12c的in mem功能等。
业务应用我了解不多,我主要从分析应用来说一下,
1.io速度上的提升:从内存的物理特性来说访问速度就是比磁盘快,这就是天然的优势,要说有什么劣势的话主要是版本比较新,很多问题都在逐步解决中。
2.新技术对系统性能改善: 如列式和压缩和在这上面的预先计算和智能过滤的功能,如果不采用这些技术的话,我不觉得比现有的能好很多,现在的机器内存也主够大,一般的应用场景下数据可以都缓存到内存里。列式压缩就给了一些另外优势,查询的瓶颈一般在CPU IO,IO问题提升后,CPU的能力也面临很大考验,内存数据库很多会提供按压缩的区块预先计算和智能过滤的功能,这部分就减少的很大的cpu耗用。

要回复问题请先登录注册