ESE:Windows附带的服务器级嵌入式DB

2021-01-31 00:22:41

可扩展存储引擎(ESE,以前称为JET Blue)是那些罕见的代码库之一,已被证明具有25年以上的使用寿命。首次在Windows NT 3.51中发布,此后不久在Exchange 4.0中发布,并在90年代重写了两次,并在随后的二十年中进行了大量更新,直到今天,它仍然是Microsoft的核心资产。

它在Office 365邮箱存储后端服务器的数十万台计算机和数百万个磁盘上运行

它还可以在具有TB内存的大型SMP系统上运行,以用于大型Active Directory部署

每台Windows客户端计算机都有几个以内存不足模式运行的数据库实例。自Windows XP以来,如今在超过10亿个Windows 10设备中,ESE已用于Windows客户端SKU中。

ESE使应用程序可以使用索引或顺序游标导航来从表中存储和检索数据。它支持非规范化模式,包括具有众多稀疏列,多值列以及稀疏和丰富索引的宽表。 ESE使应用程序可以使用事务处理的数据更新和检索来享受一致的数据状态。提供了故障恢复机制,即使在系统崩溃的情况下也可以保持数据一致性。 ESE通过预写日志和快照隔离模型在数据和架构上提供ACID(原子一致性隔离持久)。

有关功能和JET API文档的摘要,请访问Microsoft的官方文档网站。

我们在此处发布的源代码的版本可能会比编译到最新Windows更新中的版本提前一点。因此,JET API文档可能已过时。

您可能会注意到初始代码没有注释! 此代码库在Microsoft内部开发已有很长的历史,因此,为了在源代码的第一个发行版中保持安全,我们暂时删除了所有注释并排除了某些文件类型。 由于我们能够审查它们,因此我们将推送经过增强和清理的评论。 我们还将推动构建文件,代码生成脚本以及更多基础架构来获得构建ESE。 目前,该代码仅用于指导目的。 我们最初将保留测试代码,并且与注释和代码生成脚本一样,我们将逐步发布测试,并添加运行它们的Azure管道。 最初,我们的代码同步过程将是一种方式,因此我们将无法承担代码贡献。 我们将来会允许捐助。 如果您有兴趣贡献力量,我们希望收到您的来信!