写点什么

开源再添生力军 FoundationDB Record Layer

  • 2019-01-15
  • 本文字数:1104 字

    阅读完需:约 4 分钟

开源再添生力军 FoundationDB Record Layer

2019 年 1 月 14 日,FoundationDB Record Layer 开源版本正式发布!


诞生之初,FoundationDB 就被设计为具有简单 API 的高度可扩展的键值存储,而 Layer 则是通过添加功能和数据模型来扩展数据库的功能,并支持新的存储访问模式。刚刚开源的 FoundationDB Record Layer 在 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 也可根据用户需求的增长来弹性扩展。


Record Layer 新特性:


  • 将记录表示为协议缓冲区消息,提供行业标准序列化和模式演化,支持嵌套和重复字段等功能;

  • 支持利用协议缓冲区数据模型的事务性二级索引以及各种高级索引类型,包括聚合索引,如分组计数、全文索引、序数排名索引和可扩展功能索引。在可能的情况下,还可利用高级 FoundationDB 特性,例如原子突变。

  • 包含用于检索数据的声明性查询 API 和用于将这些查询转换为具体数据库操作的查询计划器。

  • 以完全无状态的方式操作。可在毫秒内实例化逻辑数据库并执行操作;资源约束,允许限制任何给定的操作或查询;允许将控制权交还给客户端,并与其它客户端共同迭代;

  • 提供大量深层扩展点。例如,用户可以构建自定义索引维护器和查询计划功能; Layer 的序列化 API 支持客户端定义的加密和压缩算法。


参考链接:https://www.foundationdb.org/blog/announcing-record-layer/


2019-01-15 19:076857
用户头像

发布了 34 篇内容, 共 28.5 次阅读, 收获喜欢 58 次。

关注

评论

发布
暂无评论
发现更多内容

OSPF路由协议基本知识点大全

Git 常用记录

Leo

git 大前端

区块链电子合同应用平台-助力企业数字化转型

13530558032

需要对未知保持敬畏「Day 14」

道伟

麻木得那么快应不应该——韦伯-费希纳定律

Justin

心理学 28天写作 游戏设计

写作对我来说是什么?

lenka

产品经理 写作 3月日更

《经济学人》2021年3月6日刊精彩文章导读及资源下载

wbliu85

进程调度算法

鲁米

算法

如何写 Go 代码

Rayjun

Go 语言

说完列表说字典,说完字典说集合,滚雪球学 Python

梦想橡皮擦

28天写作 3月日更

互联网信贷风险与大数据 风险管理&信贷准入

张老蔫

28天写作

架构大作业2

J

2021最新腾讯面经分享:Java面试刷题PDF(17个专题 5000字解析)

比伯

Java 编程 程序员 架构 面试

该死的端口占用!教你用 Shell 脚本一键干掉它!

星安果

Shell 脚本 shell脚本编写 端口 端口占用

【LeetCode】下一个更大元素 II Java题解

Albert

算法 LeetCode 28天写作

2021年阿里巴巴Java百亿级并发系统设计笔记(全彩版)

Java架构追梦

Java 阿里巴巴 面试 架构师 百亿级并发

LARAVEL SMTP 服务泄露,laravel env暴露

kaer

laravel 信息安全 漏洞 ENV SMTP

表达的时代

ES_her0

28天写作 3月日更

LeetCode题解:309. 最佳买卖股票时机含冷冻期,动态规划,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

在一个操蛋(执行力极差)的团队工作是一种怎样的体验?

冰河

团队管理 程序人生 执行力 问题总结 团队成长

聊聊交易中台系统设计与思考

架构精进之路

中台 七日更

5个身份和访问管理的最佳实践

龙归科技

数字身份 身份认证 身份安全 统一身份认证

该不该签竞业协议?

石云升

程序员 话题讨论 28天写作 职场经验 3月日更

架构大作业1

J

程序员之禅(四)

每天读本书

读书笔记 每天读本书

容器 & 服务:K8s 与 Docker 应用集群 (二)

程序员架构进阶

Docker 持续集成 kubernete 服务化 3月日更

方法论分享之:刻意练习,微小改进

boshi

方法论 经验分享 七日更

四、查询

Kylin

读书笔记 数据库开发 分布式数据库mongodb 读书总结 3月日更

(28DW-S8-Day14) 数据孤岛

mtfelix

28天写作 数据孤岛

Spark性能调优-RDD算子调优篇(深度好文,面试常问,建议收藏)

五分钟学大数据

大数据 spark 28天写作 3月日更

区块链药品溯源解决方案-区块链技术监管医药溯源

13530558032

开源再添生力军 FoundationDB Record Layer_数据库_甜梨_InfoQ精选文章