大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

专访 FoundationDB 联合创始人 Nick Lavezzo

  • 2013-01-20
  • 本文字数:1759 字

    阅读完需:约 6 分钟

FoundationDB 是一个数据库,它保证了 ACID,同时还具有通常只有 NoSQL 数据库才有的高性能和可用性。InfoQ 对该项目的创始人之一 Nick Lavezzo 做了独家专访,从他那里我们获得了更多与该项目相关的内容。

InfoQ: 我们了解到为了避开 CAP 定理宣称的限制,实现 ACID 和可扩展性,FoundationDB 使用了两种不同类型的节点进行读写操作,事实是这样吗?你可以详细地解释一下这个架构吗?

Nick: FoundationDB 并没有避开 CAP 定理;它只不过是采用了非传统的方式(对 NoSQL 而言)在网络分区间维护一致性。但是构建一个分布式的、完全一致的数据库很难;因此,为了让事情更简单,我们使用不同的服务器担当不同的角色。其中,最重要的两个角色是事务服务器和存储服务器。事务服务器负责检查发生的冲突,以保证 ACID。存储服务器负责存储大量的有序键 - 值对,同时为事务服务器批准的读写请求提供服务。当然,在一个单独的物理机器上或者一个较小的集群中,这些角色可能重叠,一台电脑可以同时做多个任务。想要获取更多的信息可以在我们的网站上查看更加详细的解释

InfoQ:你提到 FoundationDB 和一个“分层的”生态系统将会有开源和商业两个版本——对于爱好者而言,现在能够获取它们的源码吗?

Nick:我们一直在致力于构建核心数据库,但是我们对内部层的清理和文档化工作做的还不够,因此还不能公开对外发布(不过在我们的 alpha 测试者的要求下,现在这一层已经可以访问)。在往 beta 版进发的过程中,我们计划为层创建公共仓库。这些层一方面是揭示高层次数据模型的优秀工具,另一方面也展示了基于 FoundationDB 的有序键 - 值对 API 构建强大的应用是多么地容易。现在对层 / 应用程序代码示例有兴趣的人,可以在这里查看一些示例

InfoQ:你提到一个构建在 C++ 之上的新语言 Flow,同时还提供了工具——可以分享一些相关的细节么?

Nick:我们已经在网站上发布了一段新内容,解释了 Flow 以及构建它的目的。

InfoQ: 现在有人开始使用 FoundationDB 构建应用程序了么?

Nick:我们的测试员已经在构建基于 FoundationDB 的应用程序了,但我并不认为这是你期望的答案。你的意思应该是指生产环境中的应用程序,例如在它上面运行业务。FoundationDB 现在正在 Alpha 阶段。在我们推出快照备份功能之前,也就是几周之前,我们不推荐任何人在生产环境中使用它。无论一个系统如何容灾,如果有人意外地(或者故意地)删除数据库中的数据,你都需要一个外部备份来恢复生产环境的应用程序。现在我们有了这个功能,所以我们正在和一些 alpha 测试者们一起将它应用于一些生产环境中的项目上。

InfoQ:FoundationDB 现在或者将来能够支持全球分布式的数据库节点么,就像 Google Spanner 那样?如果是,它将如何实现?

Nick:是的。FoundationDB 就是为了在本地和跨数据中心的集群中使用而设计的。在多数据中心配置环境中运行时,FoundationDB 能够感知网络拓扑并做出智能的决定,例如在不同的数据中心存储数据副本。和 Google Spanner 一样,FoundationDB 并不会使用全球各地所有的数据中心创建一个单一的、全局的数据库;相反,它会创建一个能够在几个临近的数据中心上高效运行的数据库。(通过在全球各地自动移动数据可以加快数据读取速度,但是,数据写入则是一个更加困难且特定于应用程序的工作。Spanner 和 FoundationDB 都没有彻底解决这个问题。)

我们如何实现它呢?我认为解释它最简单的方式就是,所有像 FoundationDB 或者 Spanner 这样的系统都会有一个复杂的保障层,该层和其他层一起保持系统正确。Spanner 的实现方式是构建一个独立的“全局变量”:时间。集群中的任何一个节点都能够对它进行强引用。例如,如果计算机 A 更新数据,计算机 B 读取数据,Spanner 的 TrueTime 能够保证:如果 B 的读取操作发生在 A 的写入操作之后,那么 B 看到的一定是修改后的值。FoundationDB 使用一种不同的策略:它使用一个名为 Paxos 的算法(我们的“全局变量”)存储少量的信息,并从中构建其它的保证和引用,而不是依靠时钟。

英文原文地址 Interview With Nick Lavezzo, Co-Founder of FoundationDB


感谢杨赛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-01-20 07:471966
用户头像

发布了 321 篇内容, 共 132.8 次阅读, 收获喜欢 19 次。

关注

评论

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

督办产品新特性来袭,助力企业高效工作

inBuilder低代码平台

《SQLAlchemy 2 In Practice》读后感

codists

Python

为什么跨国企业需要对社交媒体进行监控?

沃观Wovision

社交媒体 海外舆情监控

把握TikTok浪潮,这几个策略提升海外营销推广效果

Wolink

海外营销推广 达人营销

WRC2025 | 澳鹏亮相2025世界机器人大会,以数据之力赋能具身智能新纪元

澳鹏Appen

具身智能 世界机器人大会

收藏!史上最全 Apache SeaTunnel Source 连接器盘点 (2025版),一篇通晓数据集成生态

白鲸开源

大数据 数据同步 数据集成 Apache SeaTunnel Connector

荣耀游戏中心新增礼包配置项丨开发加油站

荣耀开发者服务平台

荣耀开发者服务平台 荣耀HONOR 荣耀手机 荣耀游戏中心

数字化转型的关键:MES系统成功部署的六大阶段与避坑指南

万界星空科技

数字化转型 制造业 mes 生产管理MES系统 软件实施

谙流 ASK × 中国联通:2.25 小时→秒级,存算分离革新数据传输

AscentStream

大数据

2025行云管家成功通过等保三级认证

行云管家

等保 行云管家

CAD如何快速测量及结果求和?用好这个功能让你事半功倍

在路上

cad cad看图 CAD看图王

小程序容器与SuperApp构建的新晋前端框架技术

xuyinyin

区块链Web3开发上线

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

今年国内智能眼镜出货量预计达 290.7 万台;ElevenLabs 推出商用 Eleven Music API丨日报

声网

社交媒体监测如何塑造品牌的国际化传播路径?

沃观Wovision

摇人有奖 | 一键赢 KWDB 社区限量好礼!

KaiwuDB

数据库 开源数据库 KaiwuDB 分布式多模数据库 KWDB开源数据库

每年省200万?VMware隐性成本拆解与超融合替代实战

智驱前线

vmware 超融合

把数套数据传输通道一键“折叠”成 SeaTunnel:同程工程师周晓晨的实战笔记

白鲸开源

大数据 开源 Apache SeaTunnel

Wispr Flow 创始人:我曾亲手扼杀硬件梦想,仅剩 5 人团队在裁员阴影下找到 PMF

声网

邀请函|2025 Altair 教育赋能行动:《有限元基础》课程共建

Altair RapidMiner

人工智能 AI 仿真 CAE 工业设计

CAD批量测线功能真好用,从1段1段加,到1键全搞定!

在路上

cad cad看图 CAD看图王

新能源行业用到堡垒机的场景简单分析

行云管家

网络安全 信息安全 堡垒机

启信宝宠物行业报告:6年增10倍!超400万家企业抢滩千亿“毛孩子经济”

合合技术团队

人工智能 算法 #大数据

海外舆情监测中的“沉默大多数”:非活跃用户态度的挖掘方法

沃观Wovision

舆情监测系统 海外舆情监测

中烟创新连续两年被认定为国家级科技型中小企业

中烟创新

鸿蒙NEXT即时通讯/IM系统RinbowTalk v2.4版发布,基于MobileIMSDK框架、ArkTS编写

JackJiang

鸿蒙 网络编程 即时通讯 IM

ChatGPT治好了我的拖延症,自由职业如何用AI实现无痛时间管理(附完整提示词)

田威AI

自由职业 时间管理 自律 ChatGPT flowping

专访FoundationDB联合创始人Nick Lavezzo_大数据_Roopesh Shenoy_InfoQ精选文章