苹果重新开源分布式数据库FoundationDB,已在内部使用三年!

2018 年 4 月 20 日 AI前线 业界轰动
策划编辑|Natalie
编译|核子可乐
AI 前线导读:2015 年苹果公司收购了数据提供商 FoundationDB,目的是为了提升旗下 App Store、iTunes Connect、 iTunes 服务在云端的服务器技术。FoundationDB 随之从开源变为闭源,开源社区怨声载道。而三年后的现在,北京时间 4 月 20 日凌晨,苹果公司宣布 FoundationDB 又重新开源了!如今的 FoundationDB 在苹果内部经过多年的开发和生产环境使用,已经非常成熟完善了,它会给竞争激烈的分布式数据库圈带来什么样的新变化呢?

更多干货内容请关注微信公众号“AI 前线”,(ID:ai-front)

FoundationDB 是“一个能在多集群服务器上存放大规模结构化数据的分布式数据库”。该数据库系统专注于高性能、高可扩展性和不错的容错能力。这意味着使用该数据库的项目运行起来更高效且维护成本低。

FoundationDB 由戴夫·罗森塔尔(Dave Rosenthal)、戴夫·谢勒(Dave Scherer)、和尼克拉维泽(Nick Lavezzo)于 2009 年开发,旨在建立一个符合 ACID 约束的 NoSQL 数据库(ACID 是一种即使在发生错误时也保证数据完整性的数据库机制)。

苹果公司在 2015 年收购了 FoundationDB,并可能早已将此数据库用于 iCloud 云存储服务。在一份 CloudKit 的使用说明中,苹果工程师提到了对于 NoSQL 数据库的使用,使得应用开发者们可以以一种通用的且易操作的方式在不同设备间同步用户数据。CloudKit 为许多 iCloud 服务提供数据存储服务,包括 iOS 备份、照片同步、iWork 办公、和 iCloud 网盘。

以系统封闭著称的苹果公司之所以会对 FoundationDB 这样一个小团队产品产生兴趣,是因为苹果在大数据时代继续填补技术基因,而 FoundationDB 作为一款增强型 NoSQL(类似键值数据库 Hbase,同时又能够运行 ACID 交易),对苹果来说,正好借此提升自己的云端服务能力。

但这在当时引发了开源社区的不满,开源生态的开发者和参与者纷纷对商业收购开源项目的行为表示担忧和不安,认为这样对于开源项目的贡献者和参与者来说加大了风险,甚至对开源项目本身也是一种伤害甚至扼杀。

就在今天凌晨,苹果宣布 FoundationDB 分布式数据库重新开源!

这个消息在 HackerNews 上引发了轰动,消息发出仅 1 小时就收获了 300 多支持和 78 个评论,截至发稿时间,这个报道已经得到了 1381 个支持和 278 个评论。网友wwilson 表示:

这个消息真是令人振奋!FoundationDB 是我使用过的最出色的软件!对于任何希望构建分布式系统的用户而言,这都是一套卓越的原型方案。

简而言之,FoundationDB 是一套大规模可扩展且速度极快的分布式数据库,拥有最出色的测试与容错能力。目前,苹果及多家其它大型厂商都在广泛使用 FoundationDB。

但真正有趣的部分在于,它能够为其它需要可扩展性以及存储一致性的系统提供极为高效的底层接口。在 FoundationDB 公司,我们的初衷在于利用 FoundationDB 编写出多种不同数据库前端,且其分别使用不同的数据模型与查询语言(包括 SQL 数据库、文档数据库等),且保证这些语言将数据存储在同一底层系统之内。在此基础上,客户可以随意选择自己需要的数据库前端,甚至同时选取多种,但仍只需面对同一种分布式数据库方案。

这样的思路无疑富有远见。在 FoundationDB 上能够轻松实现 Zookeeper API,这进一步帮助用户减轻了负担。另外,FoundationDB 也能够完美地解决在分布式文件系统上进行元数据存储的需求,分布式任务队列同样没有问题。用户甚至能够利用其它具备更强伸缩能力的方案替换原有 Lucene/ElasticSearch 索引!

正因为如此,苹果公司才睿智地选择了 FoundationDB。苹果是一家专注的企业,他们没有理由亲手动手为各类数据编写不同存储层。而在选择 FoundationDB 并投入开发资源之后,FoundationDB 社区所产出的每一种产品都将给苹果公司带来回报。这真的是一种理想的良性循环。

FoundationDB 官网声明
新的篇章

从今天起,FoundationDB 将以开源项目的姿态迎来新的发展篇章。

FoundationDB 是一款分布式数据存储方案,在设计当中充分考虑到商用硬件集群的部署需求。这些集群允许用户随意添加机器并实现良好扩展,自动实现硬件故障恢复,同时提供简单的 API。其键 - 值存储支持全面全局、跨行 ACID 事务,从而提供最高级别的数据一致性水平。更具体地讲,如此强大的一致性将使大家的应用程序代码更简单、数据模型效率更高,且故障模式更易于处理。

最重要的是,FoundationDB 已经非常成熟,它已在苹果内部经过多年的开发与生产使用。我们计划推动 FoundationDB 转型为社区项目,当然也热烈欢迎各位的积极参与。

强大的抽象能力

我们相信 FoundationDB 将成为下一代分布式数据库的实现基础。自 2010 年诞生以来,整个数据库世界就在逐步与 FoundationDB 保持一致,从而支持内部数据的一致性。

FoundationDB 的发展愿景从一套简单而强大的内核开始,而后逐步添加“层”对其进行扩展。这套开源键 - 值存储数据库的核心,专注于整合那些无法被写入至各层中的功能。而各层将通过添加功能以模拟特定类型的数据,同时处理其访问模式以实现核心扩展。

FoundationDB 的基础架构,包括其对层概念的使用,显著补充了系统可伸缩性与可管理性方面的最佳实践。通过在单一集群上运行多个层(例如文档存储层与图形层),用户可以将特定应用程序与最佳数据模型进行匹配,从而降低基础设施的运行成本,最终帮助企业节约运营与技术类开销。

通过对 FoundationDB 核心进行开源,我们预计层的具体数量与种类将迅速增加。而着眼于 FoundationDB 社区,我们会根据核心本身及其支持的层生态系统推动相关发展。

构建开放社区

通过对 FoundationDB 项目进行开源,我们的目标是建立起一个开放的技术社区。一切主要发展成果都将在开放背景下完成。我们已经发布了一份概述性文件,旨在确保工作透明度并充分考虑社区成员的意见。此外,我们还采取一系列步骤以制定项目治理方式,希望借此提供一套基础架构,帮助社区成员们积极参与其中并在决策中发挥更大的话语权。

我们希望为 FoundationDB 建立起健康且活跃的社区。为此,我们还通过了以贡献者约定为基础的行为准则,其中阐述了我们鼓励及禁止的各类行为。

我们期待着您的参与。您可以通过以下几种方式加入我们的社区:

  • 在 FoundationDB 社区论坛上提问:forums.foundationdb.org。我们在这里讨论各类与用户相关的问题(例如如何使用某功能)以及开发问题(如何深入挖掘 FoundationDB 核心并调整某功能)。来跟大家打个招呼吧!

  • 通过 GitHub 上报 bug 以改善这款软件。

  • 为核心软件与文档提供贡献(请参阅项目的贡献指南)。

现在就开始吧!

FoundationDB 当前最新版本为 5.1.5,目前 FoundationDB 源代码已经公布于:

github.com/apple/foundationdb

请参阅指南:https://apple.github.io/foundationdb/getting-started-mac.html,以了解与如何安装、使用以及开发 FoundationDB 相关的基础知识。也可以访问 www.foundationdb.org/download/ 获取适用于 macOS、Windows 以及 Linux 的二进制安装程序。

如果你对 FoundationDB 感兴趣,快打开该项目的 GitHub 地址体验一下吧!欢迎与 AI 前线分享你的使用感受!

原文链接:

https://www.foundationdb.org/blog/foundationdb-is-open-source/

今日荐文

点击下方图片即可阅读

机器学习宗师迈克尔·乔丹:AI 革命尚未发生


新书推荐

每个技术人成长到一个阶段,都会思考:下一步到底要怎么走?

坚持走技术专业路线,还是转向技术管理?

转型路上可能会遇到哪些坑?如何管理技术团队?

职业生涯如何突破瓶颈,建立个人影响力?

计算机博士,Airbnb 技术经理朱赟通过新书《跃迁:从技术到管理的硅谷路径》告诉你,从技术到管理如何达到最优解。4.20 首发特惠,原价 59 元,首发价 49 元

AI前线
紧跟前沿的AI技术社群


如果你喜欢这篇文章,或希望看到更多类似优质报道,记得给我留言和点赞哦!

登录查看更多
0

相关内容

数据库( Database )或数据库管理系统( Database management systems )是按照数据结构来组织、存储和管理数据的仓库。目前数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。
大数据安全技术研究进展
专知会员服务
92+阅读 · 2020年5月2日
【论文扩展】欧洲语言网格:概述
专知会员服务
6+阅读 · 2020年3月31日
最新《分布式机器学习》论文综述最新DML进展,33页pdf
专知会员服务
118+阅读 · 2019年12月26日
【大规模数据系统,552页ppt】Large-scale Data Systems
专知会员服务
60+阅读 · 2019年12月21日
谷歌之困:谷歌为什么做不好硬件?
ZEALER订阅号
3+阅读 · 2019年11月21日
21个必须知道的机器学习开源工具!
AI100
13+阅读 · 2019年9月13日
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
解读2018:13家开源框架谁能统一流计算?
AI前线
3+阅读 · 2018年12月17日
6月5日凌晨开幕!扒一扒苹果WWDC的秘密战略
全球人工智能
3+阅读 · 2018年6月4日
苹果首次披露Siri声纹识别技术
AI前线
6+阅读 · 2018年4月17日
Google 开源机器学习算法;2018 年 SO 数据库调查
技术最前线
4+阅读 · 2018年3月14日
Arxiv
4+阅读 · 2019年1月14日
Large-Scale Study of Curiosity-Driven Learning
Arxiv
8+阅读 · 2018年8月13日
Arxiv
14+阅读 · 2018年4月18日
Arxiv
3+阅读 · 2017年11月20日
VIP会员
相关资讯
谷歌之困:谷歌为什么做不好硬件?
ZEALER订阅号
3+阅读 · 2019年11月21日
21个必须知道的机器学习开源工具!
AI100
13+阅读 · 2019年9月13日
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
解读2018:13家开源框架谁能统一流计算?
AI前线
3+阅读 · 2018年12月17日
6月5日凌晨开幕!扒一扒苹果WWDC的秘密战略
全球人工智能
3+阅读 · 2018年6月4日
苹果首次披露Siri声纹识别技术
AI前线
6+阅读 · 2018年4月17日
Google 开源机器学习算法;2018 年 SO 数据库调查
技术最前线
4+阅读 · 2018年3月14日
Top
微信扫码咨询专知VIP会员