写点什么

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

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

关注

评论

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

打破区块链游戏经济的隔阂,或许该从跨游戏资产入手

CECBC

区块链 游戏

Netty源码解析 -- 服务端启动过程

binecy

Netty nio

实现一个简单的 MobX

局外人

大前端 js React

MySQL-技术专题-事务和并发一致性问题

码界西柚

Kubeless 架构设计 | 玩转 Kubeless

donghui

Serverless kubeless

有状态的服务其实可以做更多的事情

架构师修行之路

分布式 微服务

数字经济2.0—趋势、逻辑、选择

CECBC

区块链 数字经济

Week 2 学习总结

balsamspear

极客大学架构师训练营

【高并发】秒杀系统架构解密,不是所有的秒杀都是秒杀(升级版)!!

冰河

并发编程 高并发 架构设计 秒杀 异步

头条终面:写个消息中间件

yes

面试 消息队列

中国首个“芯片大学”即将落地;生成对抗网络(GAN)的数学原理全解

京东科技开发者

技术 网络 GAN 芯片

mybatis plus 自动更新数据库时间的小坑

废材姑娘

Java mybatis

读——沟通的艺术,看入人里,看出人外(第三章)

废材姑娘

反向保理系统设计

森林

学习笔记:架构师训练营-第四周

四夕晖

高并发 系统架构演化

图解超难理解的 Paxos 算法(含伪代码)

多颗糖

分布式 算法 分布式系统 架构师 一致性算法

JAVA中的内部类详解

倔强的攻城狮

Java

都别拦着我,我要删库了

MySQL从删库到跑路

Linux oracle重装 MySQL 运维 root

浅析:线程安全

朱华

Java 多线程与高并发

甲方日常 29

句子

工作 随笔杂谈 日常

MySQL-技术专题-mysql的联合索引

码界西柚

后疫情时期,看区块链如何赋能文创产业加快经济复苏?

CECBC

区块链技术 文创产业

当我在听播客时,我在听什么?

Nydia

Week 2命题作业

balsamspear

极客大学架构师训练营

为什么学Go(一)

soolaugust

Go 语言

第四周 作业二:系统架构学习总结【未陌】

a d e

系统架构 互联网架构

第四周 作业一:系统架构【未陌】

a d e

系统架构

kubernetes是微服务发展的必然产物

架构师修行之路

Kubernetes 分布式 微服务

IDEA常用设置、快捷键及代码模板

jiangling500

IDEA

深拷贝链表,python处理音频信号和数字信号、vim教程、swift单元测试和UI测试 John 易筋 ARTS 打卡 Week 21

John(易筋)

单元测试 ARTS 打卡计划 python 数字信号 vim教程 深拷贝链表

架构师训练营第 1 期 - 第四周课后练习

Anyou Liu

极客大学架构师训练营

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