写点什么

开源再添生力军 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:076973
用户头像

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

关注

评论

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

架构实战-毕业设计

咖啡

秒杀架构

关于人脸识别的一个应用案例

为自己带盐

人脸识别 28天写作 百度智能云 12月日更

如何优雅地在Vue页面中引入图片

编程江湖

前端开发

对话中移上研院,分享DevOps及运维观点

龙智—DevSecOps解决方案

DevOps 运维 中移上研院

lancet: 一个全面、高效、可复用的go语言工具函数库

柳叶刀

Go web go modules

4个优化方法,让你能了解join计算过程更透彻

华为云开发者联盟

数据 高性能 哈希表 join 标识对齐

Flutter 将整个App变为灰色(勿忘国殇 警钟长鸣)【Flutter专题21】

坚果

flutter 28天写作 12月日更

为什么一半的人员能够完成超过去年的事情?(13/28)

赵新龙

28天写作

模块六课后作业-拆分电商系统为微服务

断水风春

架构实战营

vivo浏览器的快速开发平台实践-总览篇

vivo互联网技术

敏捷开发 浏览器 开发平台

MySQL设置数据库为只读

Simon

MySQL

文件写入的6种方法,你知道几种

编程江湖

JAVA开发

架构实战 - 毕业总结

咖啡

元宇宙100讲-0x003

hackstoic

元宇宙

给弟弟的信第11封|Java学习路线

大菠萝

28天写作

面试官:说说你对react生命周期的理解

全栈潇晨

React

react源码解析7.Fiber架构

buchila11

React

react源码解析8.render阶段

buchila11

React

云图说|DRS数据对比——带您随时观测数据一致性

华为云开发者联盟

数据库 华为云 DRS 数据迁移

详细解读MySQL中的B+Tree 落地形式

秋水

MySQL优化 内容合集 签约计划第二季 B+tree

现代配置指南——YAML 比 JSON 高级在哪?

杨成功

json 大前端 架构师 yaml 签约计划第二季

大数据基石之Hadoop的读写流程与2.X架构

编程江湖

大数据 hadoop

初识 AspectJ ~

阿策小和尚

28天写作 Android 小菜鸟 12月日更

【LeetCode】统计「优美子数组」Java题解

Albert

算法 LeetCode 12月日更

java开发之Java ORM 框架推荐

@零度

Java Java ORM ​ObjectiveSQL

Vue3进阶(贰):Vue3 新特性

No Silver Bullet

Vue3 12月日更

电商系统微服务拆分及架构设计

stars

架构训练营 电商微服务分析

冰河整理 深入理解高并发编程 | 内容精选合集

冰河

并发编程 多线程 高并发 内容合集 签约计划第二季

CSDN热榜、华为云博客都可用来练习Python scrapy 爬虫

梦想橡皮擦

12月日更

专题:基于云的技术架构设计实践

hackstoic

DevOps 云原生 技术架构 内容合集 签约计划第二季

Linux系统学习攻略《Linux一学就会》:Linux系统启动原理及故障排除

侠盗安全

Linux linux运维 运维工程师 云计算架构师 linux电子书

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