何时称数据库为嵌入式数据库?

27

“嵌入式数据库”这个术语与“数据库”是否有不同的含义?


http://en.wikipedia.org/wiki/Embedded_database - Eng.Fouad
4个回答

29

我见过两个关于嵌入式数据库的定义:

  1. 嵌入式数据库是专门为"嵌入式"设备(例如移动设备等)设计的数据库系统。这意味着它们在有限的环境下(如内存/CPU)表现良好。
  2. 嵌入式数据库是指不需要服务器并嵌入应用程序中的数据库(例如SQLite)。这意味着一切由应用程序管理。

个人认为,我从未看到过与Wikipedia定义完全相符的术语,但这可能是我的错,尽管它与我上述的第二点相当相似。


谢谢回复。我有一个问题。关于第二点,您是否说服务器实际上驻留在应用服务器中,因此启动/停止应用服务器会处理数据库进程的启动/停止? - ihavprobs
根据数据库和应用程序使用的具体技术而定,但是是的,应用程序管理数据存储。在SQLite的情况下,它只是一个库,您可以链接到它,因此没有实际的服务器。 - Vinko Vrsalovic
再次感谢。具体来说,我正在尝试在Apache Geronimo服务器内使用Apache Derby数据库作为Apache Wicket Web应用程序的数据库。因此,Geronimo服务器的启动/停止负责整个数据库服务器管理,因此管理员用户无需担心单独的数据库服务器。我正确吗? - ihavprobs
好的回答 - 但要注意,“嵌入式SQL”意味着完全不同的东西。 - symcbean
谢谢。我会记下来的。 - ihavprobs
如果您使用“嵌入式JDBC驱动程序”,则一切都在与您的应用程序相同的VM中运行,因此关闭应用程序容器确实会关闭DB(因为它也会关闭您的应用程序),并且启动它会启动它(虽然更准确地说是通过JDBC调用您的应用程序来启动DB)。 http://db.apache.org/derby/papers/DerbyTut/embedded_intro.html - Vinko Vrsalovic

10

“嵌入式”这个词确实有它的含义,基本上表示数据库专门用于某个特定应用程序,而不是在多个应用程序之间共享,在某种程度上对应用程序的用户隐藏,并完全由应用程序控制。

概念上,嵌入式数据库只是应用程序的一部分,而不是独立的东西。


2

例如,看一下使用...的方式,比如一个嵌入式H2数据库。你不需要在你的机器上运行服务器,你的整个数据库存储在一个(原来是两个)本地文件中。当你连接到你的数据库时,它被打开并锁定,当你断开连接时,它被解锁。


1
当开发人员将数据库库嵌入应用程序中且无需管理员时,它被称为嵌入式数据库。数据库是隐藏的,但可以通过API访问SQL(例如ITTIA DB SQL)或非SQL(例如Berkeley DB)进行数据管理。嵌入式数据库在Web开发或设备应用程序中很常见。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接