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

欢迎关注公众号:吴先生的伊甸园
典型的磁盘数据库就是最常用的 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

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


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 华灯初上,他疾步向家走去。今天虽然陪了无数个笑脸,到现在脸都是僵硬的,但此时此刻的笑是真心的,签了一个大单,宝贝姑...
    念念叨叨还有词阅读 559评论 0赞 0
  • 为什么会起这个题目呢,因为这是事实。 我的工作难度一般,有的时候会很忙,有时候却又很闲。很闲的时候,我就开始焦虑,...
    百里流疏阅读 733评论 0赞 0
  • 以前上学的时候,总觉得正儿八经的学校一定是正儿八经的考试上学,从来不会考虑什么艺术课,以前学钢琴的时候,钢琴老师总...
    繁星天空阅读 971评论 0赞 0
  • 震耳的鞭炮声慢慢消散 欢腾的锣鼓声渐行渐远 在外工作的你收拾行囊 春节的长假一晃就休完 妈妈身前身后围着你转 强忍...
    随缘青青阅读 317评论 1赞 4

友情链接更多精彩内容