RavenDB 只是 Access 的前端吗?
Posted
技术标签:
【中文标题】RavenDB 只是 Access 的前端吗?【英文标题】:Is RavenDB just a frontend for Access? 【发布时间】:2011-11-20 17:24:35 【问题描述】:我已经开始在我的上一个项目中使用 Raven。当我的老板得知它时,他提到它是基于 Access 的,他对多个用户和 Access 的体验非常糟糕。现在我必须要么换人,要么向他证明他错了。
【问题讨论】:
我不确定,但我严重怀疑它是基于 Access 还是基于 Access 的一个层。 RavenDB 是一个文档数据库,它与 Access 这样的 SQL 数据库有着根本的不同。 它是开源的,你可以自己检查。 github.com/ravendb/ravendb @Nacereddine 是的,如果我不喜欢就换引擎.... @Eric J. 问题是它使用 Jet 引擎将这些文档写入磁盘 但与 Access 使用的喷气发动机不同。 【参考方案1】:不,不是。混淆是因为 RavenDB 可以使用 ESENT 进行数据存储,而 ESENT 曾经被称为 Jet Blue。它之所以被称为 Jet Blue,是因为它最初是为了替代 Access 中使用的 Jet Red 引擎而开发的。 Wikipedia 条目对历史和差异的描述非常准确。
【讨论】:
值得一提的是,ESENT 是 ISAM 数据库,Exchange 以及 Windows Active Directory 和各种 Windows 组件也使用它。【参考方案2】:Laurion 的回答是正确的,但我还想指出,在 Raven 中,您可以将 ESENT 存储引擎换成 Oren 开发的另一个名为 Munin 的存储引擎。
来自Ayende's blog post about Munin。
Raven.Munin 是 RavenDB 低级托管存储的实际实现。我将它从 RavenDB 项目中分离出来,因为我打算在其他项目中使用它。
Munin 的核心是提供完全用托管代码编写的高性能事务性、非关系性数据存储。编写它的主要目的是支持 RavenDB 中的托管存储,但它也将用于 Raven MQ,并且可能还会用于其他一些东西。以后我会发布有关 Raven MQ 的信息,所以请不要再问了。
Munin 是一个低级 api,不是你可能直接使用的东西。它被显式建模为我提供了一个与 Esent 提供的功能相似的接口,但在纯托管代码中。
【讨论】:
以上是关于RavenDB 只是 Access 的前端吗?的主要内容,如果未能解决你的问题,请参考以下文章
作为 SQL Server 的前端访问 - ADO 与 DAO?
用户可以在 MS Access 2013 中将记录添加到拆分数据库的前端吗?