内容简介:昨日,FoundationDB 数据库宣布开源 FoundationDB Record Layer。既然提到了“层(layer)”这个概念,我们不妨在这里简单说一下 FoundationDB 和层之间的渊源 。“层(layer)”源于 FoundationDB 创立之初的理念 —...
昨日,FoundationDB 数据库宣布开源 FoundationDB Record Layer。既然提到了“层(layer)”这个概念,我们不妨在这里简单说一下 FoundationDB 和层之间的渊源 。“层(layer)”源于 FoundationDB 创立之初的理念 —— FoundationDB 的愿景是从一个简单且强大的核内核开始,然后逐渐通过添加“层(layer)”以进行扩展。“层”通过为其模型的特定数据类型添加功能来扩展内核,并支持新的存储访问模式。
而最新开源的 FoundationDB Record Layer 在 FoundationDB 之上提供了关系数据库语义,具有模式管理、索引功能和丰富的查询功能。
开源公告中还提到,FoundationDB Record Layer 已应用在 Apple 的生产环境中,以支持具有数亿用户的应用程序和服务。
基于 FoundationDB 构建的面向记录的数据库
和关系数据库一样,Record Layer 可以存储结构化数据, 由 Record Layer 管理的数据库支持包含字段和类型、模式、复杂的主索引和辅助索引以及声明性查询执行的记录。 Record Layer 还包括传统关系数据库中不常见的功能,例如支持复杂的嵌套数据类型、记录提交时的索引以及跨不同类型记录的索引和查询。
基于 FoundationDB 而构建的 Record Layer,不仅在分布式环境中继承了 FoundationDB 的 ACID、可靠性和性能,而且还使用了 FoundationDB 的事务语义以提供类似于传统关系数据库的功能。例如, Record Layer 的二级索引是以事务方式维护的,因此它们始终与最新的数据更改保持同步,减少了应用程序代码中的错误数量,并大大简化了应用程序开发。
为大规模数据库实例而生
Record Layer 天生就适用于大规模数据库实例,支持在单个 FoundationDB 集群中管理数百万个离散数据库实例。它的设计和核心功能集可以扩展到数百万并发用户和各种客户端应用程序生态系统,每个客户端应用程序都具备自有的数据模型和查询访问模式。
而为了简化操作,Record Layer 是无状态的,所以扩展就像启动实例一样简单。面对各种各样的工作负载和活动,Record Layer 通过可预测的方式严格限制和平衡用户之间的资源消耗。
据官方透露,Record Layer 和 FoundationDB 共同构成了 Apple CloudKit 的核心支撑。
FoundationDB Record Layer 的一些特性:
将记录表示为协议缓冲区消息,提供行业标准序列化和模式演变,支持嵌套和重复字段等功能。
支持充分利用 Protocol Buffer 数据模型的事务性二级索引,此外,还有各种高级索引类型,包括聚合索引,如分组计数、全文索引、序数排名索引和可扩展功能索引。在可能的情况下,还可以利用 FoundationDB 的高级功能,如原子突变。
用于检索数据的声明性查询 API 和用于将这些查询转换为具体数据库操作的查询计划程序
更多关于FoundationDB Record Layer 的介绍请点此查看。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- MIPS芯片架构宣布开源
- Chef 宣布 100% 开源,要走红帽模式?
- 微软宣布开源 WPF、WinForms 和 WinUI
- 微软宣布开源Azure数据压缩技术Zipline
- 红帽宣布发布企业容器仓库开源项目 Quay
- 重磅!Java 性能监控调试工具 JMC 宣布开源
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。