Document Layer 是 FoundationDB 数据库中的文档数据模型,扩展了 FoundationDB 作为 Key-Value 数据库的核心功能,并实现了 MongoDB wire protocol。
至于所谓“层(layers)”这个概念源于 FoundationDB 创立之初的理念 —— FoundationDB 的愿景是从一个简单且强大的核内核开始,然后逐渐通过添加“层(layers)”以进行扩展。“层”通过为其模型的特定数据类型添加功能来扩展内核,并处理它们的访问模式。
Document Layer 实现了 MongoDB wire protocol,可通过现有的 MongoDB 客户端绑定使用 MongoDB API。而所有的持久性数据都会存储在 FoundationDB Key-Value 数据库中。
Document Layer 还实现了 MongoDB API (v 3.0.0) 的一个子集,但两者存在一些差异。该子集主要侧重于 CRUD 操作、索引和事务这些方面。Document Layer 能够和所有最新的官方 MongoDB 驱动搭配使用。
由于 Document Layer 构建在 FoundationDB 之上,因此它同样拥有和 FoundationDB 一样的稳定性 —— 因果一致性和强一致性是默认的操作模式。索引也始终会与插入保持一致。由于 FoundationDB 后端自动处理数据分发,因此它也不需要片键( Shard keys)。