速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

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

关注

评论

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

Flutter/Dart:生成最小值和最大值之间的随机数

坚果

5月月更

IntelliJ IDEA 如何增加运行时候的内存

HoneyMoose

2021 年最新版 68道Redis面试题,20000字,赶紧收藏起来备用

爱好编程进阶

Java 程序员 后端开发

apk瘦身;如何缩小体积呢?这篇文章来教你

爱好编程进阶

Java 程序员 后端开发

从零构建物联网平台-给个理由先

老任物联网杂谈

物联网平台

MongoDB 入门教程系列之二:使用 Spring Boot 操作 MongoDB

汪子熙

node.js 数据库 mongodb 分布式数据库 5月月更

MongoDB 入门教程系列之三:使用 Restful API 操作 MongoDB

汪子熙

数据库 mongodb 分布式数据库 分布式数据库mongodb 5月月更

15-拦截器

爱好编程进阶

Java 程序员 后端开发

2021-6-1【利用指针方法求数组的最大值和最小值】

爱好编程进阶

Java 程序员 后端开发

用户行为分析模型实践(二)—— 漏斗分析模型

vivo互联网技术

大数据 数据分析 Clickhouse

企评家,打造专业的企业大数据SaaS平台

企评家

企业大数据 企评家 企业成长性评价

10-2 5-2 查询至少生产两种不同的计算机(PC或便携式电脑)且机器速度至少为133的厂商 (20 分)(思路加详解+测试用例

爱好编程进阶

程序员 后端开发

2个不同的对象集合如何取交集和差集

爱好编程进阶

Java 程序员 后端开发

CleanMyMac2022免费版Mac电脑清理软件功能

茶色酒

CleanMyMac2022 CleanMyMac

聊聊 Kafka:Kafka 消息丢失的场景以及最佳实践

老周聊架构

kafka 4月月更 5月月更

Docker下的Spring Cloud三部曲之一:极速体验

程序员欣宸

Java Spring Cloud 5月月更

聊聊 C 语言和 ABAP 这两门编程语言的关系

汪子熙

编程语言 C语言 SAP abap 5月月更

《对线面试官》Java注解

Java3y

Java 程序员 面试 编程语言 5月月更

SpringSecurity认证流程分析

急需上岸的小谢

5月月更

AQS中那些不得不说的理论知识

爱好编程进阶

Java 程序员 后端开发

Django Model 如何返回空的 QuerySet

AlwaysBeta

django

MySQL存储过程批量生成假用户电话号码

芝士味的椒盐

MySQL MySQL 数据库 5月月更

【Go实现】实践GoF的23种设计模式:建造者模式

元闰子

Go 设计模式 建造者模式

Nginx 如何将所有 HTTP 的流量转移到 HTTPS

HoneyMoose

网站开发进阶(二十六)JavaScript 实现页面刷新方法汇总

No Silver Bullet

JavaScript 页面刷新 5月月更

320000字2021春招高频面试真题汇总

爱好编程进阶

Java 程序员 后端开发

Nacos源码系列—关于服务注册的那些事

牧小农

源码 nacos

虎符交易所上线量化网格交易 同步开启活动三重奏

区块链前沿News

活动 虎符交易所

C语言_Linux基本命令与C语言基础

DS小龙哥

5月月更

50道大厂经典Spring面试题,你能答出来几题?

爱好编程进阶

Java 程序员 后端开发

BATJ内部Java求职面试宝典,尤其应届生如果还没有学过那后悔去吧,也许你已经错过N多家大厂offer

爱好编程进阶

Java 程序员 后端开发

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