苹果FoundationDB资料库再升级不只是键值NoSQL资料库也新增文件资料库功能
苹果今开源FoundationDB文件层(Document Layer),这是一个文件导向的资料库,由扩展FoundationDB键值储存的核心功能而来。
2009年成立的FoundationDB,在2015年的时候被苹果收购,并于4月时开源了其核心。FoundationDB是一个多重模型的NoSQL资料库,使用无共享架构(Shared-Nothing Architecture)。整体功能设计围绕着其核心,透过增加不同的扩充层(Layer)扩充功能,而核心仅包含不可能在扩充层中实作的功能,FoundationDB以扩充层模拟特定类型的资料并处理其存取模式,而最新开源的文件层便用来扩充FoundationDB键值储存。
FoundationDB文件层使用MongoDB API的形式,提供开发人员熟悉的操作,并且与MongoDB协定相容,因此使用MongoDB的简易应用程式,可以轻易的搬迁到FoundationDB文件层上。开发者可以使用任何现有的MongoDB客户端,进行将应用程式连接到文件层的操作。
透过扩充FoundationDB,文件层继承了核心专案的关键特性,包括可扩展性、ACID交易支援以及出色的效能,使其成为无状态伺服器,而这也让文件层具有多种创新功能。FoundationDB没有写入锁定,即便是在单一文件上的写入操作也不锁定。FoundationDB中的交易是无锁的(Lockless),并藉由将文件储存为多个键值对,让文件层支援多个平行写入器,在部分情况,非冲突操作可以平行进行。
FoundationDB文件层的另一个优势是无分片(Sharding),文件层不依赖固定的分片键值来分散资料,而是让所有资料分区和重新平衡都由键值储存自动管理。该设计直接继承自FoundationDB核心,可提供强大的水平可伸缩性,同时还能降低客户端设计複杂性。由于文件层每个执行个体都是无状态应用程式,只使用储存资料的FoundationDB丛集进行配置,这种无状态设计代表文件层的执行个体,可以放置在负载平衡器之后,并处理来自任何客户端对任何文件的查询。
在预设情况中,文件层的写入操作符合完全隔离和原子性,索引和文件资料始终保持一致,无论客户端的选择,写入始终保持完全一致,读取也会呈现强健的因果一致性,如此能让开发者更容易撰写,具同时处理多请求能力的应用程式。
FoundationDB键值储存功能强大,但是仅限于分散式交易和有状态储存,但是文件层聚焦于键值储存功能的API,以建模出更複杂的资料储存方法。由于FoundationDB键值储存缺少了完整的资料库系统功能,不仅没有索引、资料类型,也没有查询引擎,文件层为FoundationDB增加了这些功能类似的概念。FoundationDB文件层以Apache v2授权许可发布于GitHub,其二进位档可在macOS和Linux上执行。
免责声明:本文由用户上传,如有侵权请联系删除!
猜你喜欢
最新文章
- 个性标签写什么好8个字(个性标签8个字简介介绍)
- 贴吧和i吧有什么区别(贴吧和i吧有什么区别)
- 东北话得细小是什么意思(东北话小得得是啥意思)
- 太姥山旅游最新攻略一日游(太姥山旅游线路)
- 12月有什么好电影上映(12月上映好看的电影)
- 妒海主题曲百度云(泰剧妒海的主题曲和片尾mp3格式的谁有谢谢)
- 元奎在好莱坞拍过多少电影(指导过多少电影 都叫什么)
- 怎么关闭wps删除提示(wps屏幕提醒怎么关闭简介介绍)
- 4399弹弹堂vip折扣券(4399弹弹堂怎么刷点券啊)
- 企业天猫入驻条件及费用(天猫入驻条件及费用简介介绍)
- 尹相杰母亲是马玉涛吗(尹相杰母亲是马玉涛吗)
- 冬至应该吃什么食物(冬至应该吃什么食物)
- nokia6600复刻版本(NOKIA6630~~~)
- 新年快乐日语怎么说(新年快乐日语怎么说)
- 工作交接清单怎样写,格式是怎样的(工作交接清单怎样写格式是怎样的简介介绍)
- 为什么我的梦幻诛仙人物快捷键用不出来(求高手解答 我换了很多台机子了)
- 三星note3开不了机(三星note1手机为什么开不了机)
- 迅雷种子怎么提取(前缀是什么)
- poison(ivy 什么意思)
- 魔法卡片掉卡规则(魔法卡片中怎么没有变闪卡的卡友)
- 眼部结构简图(眼部结构简介介绍)
- 武汉外高国际部学费(武汉外高出国)
- 湖南台为什么叫马桶(湖南台为什么叫芒果台)
- 公元前10000年是什么年(公元前10000年)