美文网首页
磁盘数据库与内存数据库的特点比较

磁盘数据库与内存数据库的特点比较

作者: 丨魅影 | 来源:发表于2018-03-06 09:55 被阅读376次

欢迎关注公众号:吴先生的伊甸园
典型的磁盘数据库就是最常用的 Oracle,Mysql等。典型的内存数据库如 Redis。
这俩种数据库的比较如下:
传统磁盘数据库的优点
– 传统数据库的ACID机制成熟、可靠;
– 提供强大的数据定义语言(DDL)及数据操作语言(DML),提供 SQL 支持;
– 提供一定的主动机制(如触发器,Trigger)和后台数据处理能力(如存 储过程,Stored Procedure)。
传统磁盘数据库的主要缺陷
– 占用、消耗的系统资源较多;
– 数据存取的速度慢;
– 数据存取时间不一致且难以预测
内存数据库的突出优势
– 存取速度快速、一致
– 存取时间易于预测
– 易于定制数据存取方式
内存数据库的主要特点
– 为了降低MMDB的内存开销,MMDB往往简化了对复杂事务处理的支持,如MMDB一般不提供事务的undo机制,代之以“补偿事务”的方式来实现事务处理的原子性和一致性。
– 由于MMDB中的数据库“主拷贝”在内存中,因此,MMDB对系统的故障恢复提出了更高的要求,实现起来难度更大。
– 通用性不强,由于不同的实时应用系统中的数据对象不同,对数据库的 访问要求及访问方式不同。为了提高数据库的实时性,在设计MMDB时,需要根据应用特点,采取一些针对性的措施。因此,设计上往往有一定的特殊性。

此外,我们需要理解的是:
磁盘数据库会花费更多的心思在于减少磁盘 I/O ,优化出更高效的缓存技术。因为磁盘的读写速度过慢,所以优化策略主要在于磁盘和内存数据交换上。包括各式各样的索引,数据缓存等手段都是为了上述目的。
对于内存数据库,更多的是减少硬盘和 cpu 之间的速度不平衡问题,更多的思考如何提高数据库的存储时间。

传统磁盘数据库系统的数据组织、访问方法、查询处理算法的设计都针对减少磁盘访问次数与有效利用盘存储空间,甚至牺牲CPU时间来减少I/O次数(如查询处理有大量中间数据),而内存数据库的设计则主要考虑如何有效地利用CPU的时间和内存空间。 refer:https://wenku.baidu.com/view/43018b41b307e87101f69621

最后再贴一张图,对比一下俩类数据库的不同


相关文章

  • 磁盘数据库与内存数据库的特点比较

    欢迎关注公众号:吴先生的伊甸园典型的磁盘数据库就是最常用的 Oracle,Mysql等。典型的内存数据库如 Red...

  • 干货:实时数据库,内存数据库,关系型数据库比较

    内存数据库 内存数据库就是将数据放在内存中直接操作的数据库,它利用内存的读写速度比磁盘快、内存是随机访问而磁盘是顺...

  • 数据库总结

    一.不同数据库的共性 数据库 磁盘特点1 随机I/O寻道时间过长 特点2 磁盘读取数据是以盘块(block)为基本...

  • 服务器性能优化的8种常用方法

    1.使用内存数据库 内存数据库,其实就是将数据放在内存中直接操作的数据库。相对于磁盘,内存的数据读写速度要高出几个...

  • Redis RDB持久化和AOF持久化

    RDB持久化 Redis是内存数据库,数据库状态都在内存里边,需要RDB持久化功能将内存中的数据库状态保存到磁盘里...

  • 论redis的rdb和aof持久化

    因为 Redis 是内存数据库,数据库状态存储在内存里面,如果不想办法将存储在内存中的数据库状态保存到磁盘,那么一...

  • Redis学习笔记(八) RDB持久化

    Redis是内存数据库,它将自己的数据库状态存储在内存里面,所以如果不想办法将存储在内存中的数据库状态保存到磁盘,...

  • 存储模型与数据分布

    内存数据库和面向磁盘的数据库的存储模型与数据分布差别不大(?) 字节对齐 注意元组的字节对齐以便Cache的读写而...

  • 数据库压缩技术

    为什么需要压缩 在面向磁盘的数据库,从磁盘中取数据是最大的性能瓶颈。而在内存数据库中,在速度与压缩率的取舍中总是会...

  • B树与B+树

    数据库索引磁盘IO: 考虑磁盘IO的影响,它相对于内存来说是很慢的。数据库索引是存储在磁盘上的,当数据量大时,就不...

网友评论

      本文标题:磁盘数据库与内存数据库的特点比较

      本文链接:https://www.haomeiwen.com/subject/dollfftx.html