苹果为啥要收购FoundationDB?

最近一个爆炸新闻是苹果收购了名不经传的FoundationDB,之前苹果是使用Cassandra作为来保存各种资源包括用户上传的资料影音媒体图片等等。这一举动引发了多方揣测,一些人认为苹果使用非开源的数据库来保存用户的资料,是不是别有用心?

下面从技术层面分析一下FoundationDB的独特特点:

FoundationDB是一个支持完整ACID事务的NoSQL数据库,其特点是将高性能、失败容错和ACID事务融合在一起。因为根据CAP理论,高一致性代表的ACID与代表高性能的可用性以及分区容错三者之中只能选择两者,而FoundationDB竟然表面上将三者都做到了,难道是打败了CAP定理吗?

在现有的NoSQL世界中,MongoDB并不是一个ACID兼容的数据库,包括Cassandra、Riak、 Redis等等。其实NoSQL数据库本身是在否定ACID基础上发展起来,因此不应该会兼容ACID。但是,随着人们要求提高,对NoSQL的事务要求也就越来越高,Google的Megastore是ACID兼容的,Spanner做得更好。

FoundationDB类似Google基于Spanner建立的F1数据库,Google使用该数据库作为其核心业务AdWord广告的基础存储。F1是一个提供高伸缩的数据存储、同步复制和强一致性以及顺序属性的数据库,F1继承了Spanner的特性并增加更多新功能,Spanner主要负责处理低层次的存储功能,比如持久、缓存、复制、失败容错、数据分片和地理位置寻找以及事务。

在The Return of ACID in the Design of NoSQL Databases一文中阐述了当前NoSQL数据库对ACID需求的回归,按照CAP定理,一般通过牺牲强一致性C,使用弱一致性比如最终一致性来换得可用性性能A与分区容错性P的提升,Google在最终一致性系统方面累计了很多经验,他们发现开发人员会耗费特别多的精力时间来构建非常复杂的易出错的机制来应付最终一致性与数据过期失效的矛盾(为什么计算科学中最难的两件事是命名和缓存失效),他们认为不是开发人员应该接受的负担,应该在数据库级别解决一致性问题,完整的事务一致性是F1最重要的特性之一。

基于Bigtable的Google的Megastore只能在一个复制节点内保证ACID,跨节点就不行了,而Spanner能够提供跨节点的ACID,FoundationDB和F1都支持强一致性和多对象事务的ACID,时间是分布式系统保证一致性的唯一法门, Spanner最重要的设计是依赖于一个唯一的timekeeping基准时间系统,作为全局时钟,结合GPS和原子钟时间戳可以强烈限制了时间上的不确定性,提高了时间精确度,Spanner使用这些时间戳确保事务满足外部一致性,也就是线性化linearizability和比串行化serializability更严格。

总之,苹果通过收购FoundationDB,拥有了与Google一样的强大云存储,从而能够在智能终端到云端之间端到端的竞争中增加获胜的砝码。

================================================

感谢 Coding 和 UPYUN 对本微信的支持。Coding.net 是一个面向开发者的云端开发平台,目前提供代码托管、运行空间、质量控制、项目管理等功能。

upyun.com是国内领先的云服务提供商,专注于提供静态文件的云存储、云处理和CDN加速服务。现在注册,即可免费体验!

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值