简体   繁体   English

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

[英]difference between in-memory and embedded databases

I want to know if my understanding is correct:我想知道我的理解是否正确:

embedded : databases which are up if my application is up and are down if my application is down.嵌入式:如果我的应用程序启动,数据库就会启动,如果我的应用程序关闭,数据库就会关闭。 I am not referring the databases used in embedded space.我不是指嵌入式空间中使用的数据库。

in-memory : databases could be on any server;内存中:数据库可以在任何服务器上; irrespective of where my application is running.无论我的应用程序在哪里运行。 Just that, these uses main memory.只是,这些使用主要的 memory。

Full disclosure: I represent the vendor of eXtremeDB. 完全披露:我代表eXtremeDB的供应商。

Embedded databases have been around since at least the early 80's. 嵌入式数据库至少从80年代初开始就存在。 db_VISTA, c-tree, btrieve, Empress are some of the most common from back in the day. db_VISTA,c-tree,btrieve,Empress是当天最常见的一些。

'Embedded database' has nothing to do with embedded systems. “嵌入式数据库”与嵌入式系统无关。 It simply means a database management system that is delivered to the programmer as a set of object code libraries that are to be linked with the application object code into an executable program image. 它只是指一个数据库管理系统,它作为一组目标代码库提供给程序员,这些目标代码库将与应用程序目标代码链接成可执行程序映像。 In other words, the database functionality becomes part of the application itself, in the same address space. 换句话说,数据库功能在同一地址空间中成为应用程序本身的一部分。 Embedded databases were used primarily for line-of-business applications in the 80s and 90s. 嵌入式数据库主要用于80年代和90年代的业务线应用程序。 It wasn't until the late 90s and early 2000s that embedded systems began to migrate to 32-bit architectures in sufficient numbers that database systems could be considered to be commercially viable. 直到90年代末和21世纪初,嵌入式系统开始向足够数量的32位架构迁移,数据库系统才被认为具有商业可行性。 eXtremeDB was launched in 2001 as the first in-memory, embedded database system written explicitly for embedded systems. eXtremeDB于2001年推出,是第一个专为嵌入式系统编写的内存嵌入式数据库系统。 (8-bit and 16-bit systems do not have enough addressable memory to support a DBMS.) (8位和16位系统没有足够的可寻址内存来支持DBMS。)

An embedded database system can be either an in-memory database or persistent database (ie disk-based database). 嵌入式数据库系统可以是内存数据库或永久数据库(即基于磁盘的数据库)。

An in-memory database system can be an embedded database system, or it can be a client/server database system. 内存数据库系统可以是嵌入式数据库系统,也可以是客户端/服务器数据库系统。

A client/server database system can be an in-memory database system, or it can be a persistent database system. 客户端/服务器数据库系统可以是内存数据库系统,也可以是持久数据库系统。

As you can see, all the lines cross. 如您所见,所有线条交叉。 You can have 你可以有

  • client/server in-memory 客户端/服务器在内存中
  • client/server persistent 客户端/服务器持久化
  • embedded in-memory 嵌入式内存
  • embedded persistent 嵌入式持久化

And, you have have hybrids of all the above. 而且,你有上述所有的混合动力车。

DBMS Architecture :数据库管理系统架构

  • Client-Server model: distributed structure where the DBMS resides on a server and client applications access the database; Client-Server model:分布式结构,DBMS 驻留在服务器上,客户端应用程序访问数据库; the database is said in server mode.数据库以服务器模式表示。
  • In-Process model: a monolithic structure where the DBMS and the application run in the same process; In-Process model:DBMS和应用程序在同一个进程中运行的单体结构; the database is said in embedded mode.数据库以嵌入式模式表示。

DBMS Storage :数据库管理系统存储

  • in-memory: a database management system that employs memory as data storage (and disk as backup), the database is said in-memory mode. in-memory:采用memory作为数据存储(磁盘作为备份)的数据库管理系统,数据库称为in-memory模式。
  • on-disk or persistent: a database management system that employs disk as data storage (and memory as cache).磁盘上或持久性:使用磁盘作为数据存储(和 memory 作为缓存)的数据库管理系统。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM