内存数据库和嵌入式数据库的区别

difference between in-memory and embedded databses

我想知道我的理解是否正确:

embedded :如果我的应用程序启动则数据库启动,如果我的应用程序关闭则数据库关闭。 我指的不是嵌入式 space.

中使用的数据库

in-memory : 数据库可以在任何服务器上;不管我的应用程序在哪里 运行。就是这样,这些使用主内存。

完全披露:我代表 eXtremeDB 的供应商。

嵌入式数据库至少从 80 年代初就出现了。 db_VISTA、c-tree、btrieve、Empress 是当时最常见的一些。

'Embedded database'与嵌入式系统无关。它只是指一个数据库管理系统,作为一组目标代码库提供给程序员,这些目标代码库将与应用程序目标代码链接到一个可执行程序映像中。换句话说,数据库功能成为应用程序本身的一部分,位于同一地址 space。嵌入式数据库主要用于 80 年代和 90 年代的 line-of-business 应用程序。直到 90 年代末和 2000 年代初,嵌入式系统开始大量迁移到 32 位架构,数据库系统才被认为具有商业可行性。 eXtremeDB 于 2001 年推出,是第一个 in-memory 明确为嵌入式系统编写的嵌入式数据库系统。 (8 位和 16 位系统没有足够的可寻址内存来支持 DBMS。)

嵌入式数据库系统可以是 in-memory 数据库或持久数据库(即 disk-based 数据库)。

一个in-memory数据库系统可以是嵌入式数据库系统,也可以是client/server数据库系统。

一个client/server数据库系统可以是一个in-memory数据库系统,也可以是一个持久化数据库系统。

如你所见,所有的线都交叉了。你可以拥有

  • client/server in-memory
  • client/server 执着
  • 嵌入式in-memory
  • 嵌入式持久化

而且,你有以上所有的混合体。