【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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

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

关注

评论

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

苹果iOS内购三步曲:App内退款、历史订单查询、绑定用户防掉单!--- WWDC21

37手游iOS技术运营团队

ios wwdc 苹果退款 appstore WWDC21

爆场预警!百度大脑开放日-AI赋能软硬件产品创新

百度大脑

百度大脑开放日

数字人民币是央行数字货币还是法定数字货币?

CECBC

校外培训行业迎来强监管,“教育+区块链”新模式试图解决行业痼疾

CECBC

运维大佬嘲笑我,这个你都不知道?

李阿柯

redis 面试 运维自动化

优雅编程 | 7 个你应该掌握的 JavaScript 编码技巧

devpoint

JavaScrip 6月日更

【21-10】PowerShell 日期和时间

耳东@Erdong

PowerShell 6月日更

为什么中间件协议对区块链生态系统至关重要?

CECBC

「SQL数据分析系列」6. 使用集合

数据与智能

sql 集合

如果把四个消息队列都拉到一个群里,他们会聊些什么?

悟空聊架构

故事 消息队列 群聊 6月日更 悟空聊架构

C++友元的概念和使用的一些介绍

良知犹存

c++

5分钟速读之Rust权威指南(二十四)Box

wzx

rust

SpringCloud Gateway 路由数量对性能的影响研究

中原银行

微服务 SpringCloud Gateway JMH性能基准测试 中原银行

SpringCloud Gateway 路由转发性能优化

中原银行

微服务 性能优化 SpringCloud Gateway 中原银行

成为一个面霸需要面试多少回?

escray

极客时间 6月日更

网络攻防学习笔记 Day47

穿过生命散发芬芳

网络攻防 6月日更

Java Selector模型

邱学喆

buffer selector SelectableChannel SelectionKey

前端 JavaScript 之『防抖』的简单代码实现

编程三昧

JavaScript 编程 大前端 防抖 函数节流

🌏【架构师指南】分布式ID生成算法技术总结

洛神灬殇

分布式ID 6月日更

很多小伙伴问我推荐什么书籍和网课,这次把私藏很久的资料都贡献了(上)

C语言与CPP编程

Java c++ C语言 数据结构与算法 #python

Flink State 和 Fault Tolerance(一)

Alex🐒

flink 翻译 flink1.13

MySQL基础之十五:索引

打工人!

MySQL 6月日更

“懂行”共识拓宽数字通道:川蜀大地与智能时代的“热辣”共振

脑极体

Kubernetes手记(14)- 用户权限系统

雪雷

k8s 6月日更

【Vue2.x 源码学习】第十七篇 - 生成 render 函数 - 函数生成

Brave

源码 vue2 6月日更

Low-Code能否威胁到专业的程序员?| 话题

三掌柜

试用期 签约计划 人气作者 TOP10

JavaScript 学习(四)

空城机

JavaScript 大前端 6月日更

SpringCloud Gateway 动态路由

中原银行

微服务 SpringCloud Gateway 中原银行

并发王者课-铂金2:豁然开朗-“晦涩难懂”的ReadWriteLock竟如此妙不可言

MetaThoughts

Java 多线程 并发

Taro3无埋点的探索与实践

GrowingIO技术专栏

taro AST sdk 无埋点 babel

数据库事务与锁详解

阿骆麦迪

MySQL 事务 6月日更

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