首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

FoundationDB Record Layer 宣布开源,提供关系数据库功能

昨日,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 和用于将这些查询转换为具体数据库操作的查询计划程序
  • 发表于:
  • 原文链接http://news.51cto.com/art/201901/590646.htm
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券