最近我听说了内存数据库的概念.

在任何类型的数据库中,我们最终将数据存储在计算机中,我们的程序将从那里获得数据.与其他数据库相比,内存中的数据库操作是如何快速的.

内存中的数据库是否会将数据库中的所有数据加载到内存(RAM)中.

提前谢谢....

推荐答案

内存数据库(IMDB;也称主存数据库系统或MMDB或内存驻留数据库)是一种数据库管理系统,主要依靠主存存储计算机数据.它与采用磁盘存储机制的数据库管理系统形成对比.内存数据库比磁盘优化数据库更快,因为内部优化算法更简单,执行的CPU指令更少.访问内存中的数据消除了查询数据时的寻道时间,从而提供了比磁盘更快、更可预测的性能.

响应时间非常关键的应用程序,例如那些运行电信网络设备和移动广告网络的应用程序,通常使用主存数据库.

回答您的问题,是的,它会将数据加载到计算机的RAM中.

On-Disk Databases

  • 所有存储在磁盘上的数据,磁盘I/O需要将数据移动到主磁盘

  • 数据总是保存到磁盘上.

  • 传统的数据 struct ,如B树,旨在存储表和 在磁盘上高效地建立索引.

  • 几乎无限的数据库大小.

  • 支持非常广泛的工作负载集,即OLTP、数据仓库、 混合工作负载等

In-Memory Databases

  • 所有数据都存储在主内存中,无需执行磁盘I/O即可查询 或更新数据.

  • 根据内存中的数据库,数据是持久的还是易失的

  • 专用数据 struct 和索引 struct 假定数据是 总是在主存储器中.

  • 针对专业工作负载进行优化;即通信 行业特定的HLR/HSS工作负载.

  • 数据库大小受主内存量限制.

Database相关问答推荐

使用存储过程从子表中删除数据

使用 noSQL 和 MongoDB 在数据库中存储任何类型文件的最佳方法是什么

Active Record - 获取数据库中的第二个、第三个.. 项(无 ID)

PostgreSQL WHERE IN LIKE 查询

免费的 SQL 比较工具

为什么 DynamoDB 查询中没有**not equal**比较?

在迁移中添加行

如何在 Oracle 中找到指向一条记录的外键依赖项?

ORM 性能成本

是否可以在ORDER BY子句之后放置任何可能造成安全风险的内容?

nvarchar (50) 与 nvarchar (max) 的含义

使用十进制数据类型(MySQL / Postgres)是否会影响性能

JPA:处理 OptimisticLockException 的模式

在哪里可以找到 neo4j 快速教程?

Oracle 的免费桌面客户端?

MongooseJS - 如何找到具有最大值的元素?

如何将sqlite表从磁盘数据库复制到python中的内存数据库?

sqlite 表中的最大行数

Phonegap 离线数据库

数据库索引及其 Big-O 表示法