3

我正在研究 HSQLDB,除非您另有说明,否则它似乎将表存储在内存中。这对我来说听起来像是一个可怕的想法,但显然人们并不经常使用这个数据库。

如果您将数据库数据存储在内存中,如果您的应用程序进程死亡会发生什么?当您再次启动应用程序时,您究竟如何希望拥有相同的数据库?

数据库是用于持久数据的,那么为什么要将整个数据库存储在易失性内存中而不是持久存储在文件系统上呢?我在这里缺少这种数据库的用例吗?

4

1 回答 1

3

我相信它的工作方式是有一个完全独立的进程,一个守护进程或一个服务,取决于您的操作系统,即数据库。

这个过程负责数据库,它很可能会以特定的时间间隔“备份”到您的硬盘上。该进程还处理来自其他进程(即您的应用程序)的数据请求。

将数据库缓存在内存中比在发出每个请求时从文件中读取数据库要快得多。(如果您怀疑,请查看硬盘驱动器和内存的读/写时间)

于 2013-08-20T18:13:21.963 回答