Ceph/HDFS等传统分布式存储属于中心化存储,整个存储网络都位于同一机房,能提供服务器级别的故障域隔离,但无法应对机房甚至城市级别的故障,包括但不限于停电、断网、地震、火灾、911式恐怖袭击、天津大爆炸式毁灭性灾难、切尔诺贝利式运维人员神操作等。

跨地域的分布式存储称为WAN存储,其存储网络是广域网,网络性能、网络节点故障率、丢包率等都与局域网相差极大,因此WAN存储从设计理念到技术架构都与传统局域网的分布式存储不相同,需要完全重新设计。

YTFS是一个商业化的WAN存储,作为YottaChain区块链存储的核心功能,自2019年12月24日上线以来一年半时间存储了数十PB的数据,每天新增存储100TB左右,得到了生产环境的验证。YTFS的商业化版本包含在YottaChain的开源代码中,可以在https://github.com/yottachain获取。

YTFS的设计目标是:

  1. 数据持久性、安全性、可用性等核心技术指标比传统分布式存储要有多个数量级的提高
  2. 成本上要有明显优势
  3. 兼容现有主要存储接口

YTFS的数据可靠性保障机制,能对数据持久性、服务可用性、数据一致性、容灾性都起到强有力的保障,而且数据冗余率低:

  1. 每个数据段采用YTLRC编码成N+36(N<=128)个数据分片,每个数据分片的长度固定为16KB大小
  2. 每个数据分片保存在不同地域的不同数据节点上,这样保存同一个数据块的最多164个数据节点最多允许36个数据节点同时故障也不会丢失数据
  3. 数据节点之间互相交叉做心跳监测,一旦任何节点出现故障则其数据在其它节点进行数据重建
  4. 仅计算硬件故障因素的话,可靠性至少达到20个9(99.999999999999999999%)以上,比传统局域网的分布式存储的11个9(99.999999999%)要提高10亿倍以上
  5. 由于这些数据节点都是分布在不同地域的,天然自带容灾性,无需另行支付成本和代价
  6. 同理,每一个数据块都可容忍多达36个地域同时出现断网宕机等故障或灾难都仍然能保证服务可用性,比传统局域网的分布式存储的服务可用性也是提高很多个数量级
  7. 摒弃了极容易出现脑裂的多副本模式,每一个数据块都是用YTLRC编码和Hash算法横向和纵向双维度强力检错、纠错、纠删的,从而杜绝了数据不一致的可能性
  8. YTLRC的数据冗余率只有不到130%,比经典三副本的300%数据冗余率降低了一半以上,成本也相应降低

传统的存储系统不包含数据安全机制,数据不加密,用网络安全和人员安全的传统方法保护存储设备。但YTFS作为WAN存储,其数据节点分布在全球各地,目前生产环境已经有了上万个节点,将来可能会多达上千万个节点,仍然沿用对每个节点采用网络安全和人员安全的保护手段是不现实的。因此,YTFS设计有内置的的数据安全体系,实现了全程加密、无缝加密、零知识加密,并有专业的密钥管理系统,和密文去重技术,保证除了数据所有者外其它人联合作恶也偷不走用户数据:

  1. 数据采用AES-256加密,不掌握密钥无法破解
  2. 每个数据块的密钥都不相同,都是实时随机生成,确保生成之前没人知道
  3. 以用户公钥用ECC-256加密存储密钥,无用户私玥时无法破解
  4. 以数据明文计算出密钥,用来加密存储密钥,用于密文去重
  5. 用不同Hash算法分别计算每个数据块明文Hash值和每个数据分片密文Hash值,通过双重Hash来彻底解决Hash碰撞问题,同时也能防止假冒数据攻击

在架构上,YTFS由SN(元数据节点)、DN(数据节点)和用户端组成。YTFS的设计能力支持多达1亿个DN;存储用户端对上层应用提供存储服务接口,目前提供S3对接存储接口。

在每一次上传数据时,都要对数据先压缩再切块,每个数据块最大2MB,用自适应压缩算法保证压缩不超过分块的边界;然后对每个数据块进行AES加密和YTLRC编码分片,每个数据分片固定16KB大小,冗余分片数量固定为36,一个数据块最多128+36=164分片;最后多线程同时上传所有分片到不同DN,元数据保存在SN。在此过程中,还穿插进行本用户去重、全局文件去重和数据块去重三重去重,对重复数据免去上传操作,而且可以与相同数据的用户共同分担存储费用。

YTFS有智能DN分配引擎,根据故障域隔离和每个DN的权重决定每个DN获得数据分片的概率。

由于YTFS的存储引擎要运行在数量最多的设备上,按照业务逻辑简单、对DN配置要求低的原则设计,并尽可能降低资源损耗,提高可用于存储有效数据的空间比率。

YTFS采用数据分片大小固定但数据分片数不固定的冗余编码方式,使得存储引擎只需要保存16K固定大小数据分片,大大降低数据管理复杂度,也避免了空间浪费。

YTFS在保存数据分片时无需文件系统,直接读写裸硬盘,不仅缩短数据路径提升性能,而且还减少故障点,同时也减少文件系统对硬盘空间的占用,进一步提高硬盘空间利用率。

YTFS不仅数据冗余低,更有标志性的独家密文去重专利技术,可以在保证零知识加密的前提下实现跨用户数据去重,将存储成本降低5-10倍。另外,YTFS对边缘节点友好,可以充分利用边缘节点在制冷成本、带宽成本、制造成本和房租成本和运维成本上的巨大优势,进一步降低系统总成本。

YTFS有数据安全体系,实现了全程加密、无缝加密、零知识加密,并有专业的密钥管理系统,和密文去重技术,保证除了数据所有者外其它人联合作恶也偷不走用户数据:

  1. 数据采用AES-256加密,不掌握密钥无法破解
  2. 每个数据块的密钥都不相同,都是实时随机生成,确保生成之前没人知道
  3. 以用户公钥用ECC-256加密存储密钥,保存在SN,无用户私玥时无法破解
  4. 以数据明文计算出密钥,用来加密存储密钥,保存在SN,用于密文去重
  5. 用不同Hash算法分别计算每个数据块明文Hash值和每个数据分片密文Hash值,通过双重Hash来彻底解决Hash碰撞问题,同时也能防止假冒数据攻击

YTFS不仅数据冗余低,更有标志性的独家密文去重专利技术,可以在保证零知识加密的前提下实现跨用户数据去重,将存储成本降低5-10倍。另外,YTFS对边缘节点友好,可以充分利用边缘节点在制冷成本、带宽成本、制造成本和房租成本和运维成本上的巨大优势,进一步降低系统总成本。

YTFS——跨地域的分布式存储(WAN存储)相关推荐

  1. DLA实现跨地域、跨实例的多AnalyticDB读写访问

    介绍 实时数据仓库ADB(AnalyticDB)云产品:https://www.aliyun.com/produc... 数据湖分析服务DLA(Data Lake Analytics)云产品:http ...

  2. 基于 DataLakeAnalytics 做跨地域的数据分析

    在阿里云上,很多客户的应用都是多地域部署的, 比如在北京(cn-beijing)的地域部署一个应用让北方的客户访问快一点,同时在杭州(cn-hangzhou)地域部署一份让南方的客户访问快一点.多地域 ...

  3. 基于 DataLakeAnalytics 做跨地域的数据分析 1

    2019独角兽企业重金招聘Python工程师标准>>> 在阿里云上,很多客户的应用都是多地域部署的, 比如在北京(cn-beijing)的地域部署一个应用让北方的客户访问快一点,同时 ...

  4. DLA实现跨地域、跨实例的多AnalyticDB读写访问 1

    1. 介绍 实时数据仓库ADB(AnalyticDB)云产品:https://www.aliyun.com/product/ads 数据湖分析服务DLA(Data Lake Analytics)云产品 ...

  5. MySQL高可用之基于Galera复制跨地域节点分布的滥用

    mysql使用教程 MySQL高可用之基于Galera复制跨地域节点分布的滥用 2018-11-22 02:15 8335 85 让我们再一次讨论MySQL高可用性(HA)和同步复制. 它是地理上分布 ...

  6. 网络加速原理与方法:静态CDN、动态CDN、全站加速、GAAP、AIA、CLB跨地域部署

    一.概念辨析:网络延迟与网络波动 (1) 网络延迟 网络延迟是指各式各样的数据在网络介质中通过网络协议(如TCP/IP)进行传输,如果信息量过大不加以限制,超额的网络流量就会导致设备反应缓慢,造成网络 ...

  7. UCloud与NTT达成合作,提供可靠跨地域混合云服务

    近日,UCloud宣布与NTT Communications东亚地区总部NTT Com Asia (以下简称"NTT Com Asia") 达成合作伙伴协议.双方将发挥各自优势,通 ...

  8. 企业网络带宽需求和跨地域网络连接的优化

    SD-WAN仍然是一项相对年轻的技术,虽然已取得重大进展,但还有很长的路要走,属于SD-WAN的市场远未稳定下来. 一项调查发现,36%的受访者表示,由于网络基础架构和性能任务的复杂性不断提高,他们正 ...

  9. 跨地域的VPC私网互通【高速通道案例】

    最近一家大型企业正在将业务迁移至阿里云平台,用户有深圳,北京,上海等分支,其中上海为总部,用户要求在阿里云上的华南1,华北2,华东2分别建立VPC网络,其中华南1,华北2要与华东2私网互通,为避免分支 ...

最新文章

  1. 对于2.3版的OpenCV的IplImage,最好不要直接操作其imageData成员~
  2. 数据结构—什么是基数排序?
  3. git查看分支记录_git原理
  4. ExtJs 入门 [窗体:Window组件]
  5. 来自1976,Hinton写的第一篇论文火了:胶囊网络,是40年前的胶囊?
  6. 解决Ajax请求时无法重定向的问题
  7. 一般如何调试php程序吗,如何调试PHP程序
  8. 运动会管理系统的需求调研会纪要
  9. linux拷贝文件和目录命令,Linux 命令 - cp: 拷贝文件和目录
  10. Deepin Linux下编译并运行Proxmark3
  11. python绘制等高线图
  12. 大连理工计算机博士,【看完窒息】大连理工大学博士遗书
  13. Java 实现扫雷与高胜率低耗时自动扫雷 AI (下)
  14. c语言数据文件是,C语言数据文件操作.ppt
  15. IP与MAC绑定的难题
  16. 达梦数据库联机与脱机备份还原
  17. live2d_碧蓝航线:老婆们在外服都长啥样?她惊艳四座,Live2D独此一家
  18. python中os模块用法
  19. RedisJson和RedisSearch探究(二)
  20. 井字棋游戏 c语言实现,井字棋小游戏(C语言)

热门文章

  1. 等保三级合规要求:HTTPS安全加密将势在必行
  2. __slots__的用法?
  3. 一个人的旅行——最短路
  4. 12月19日——培训第26天
  5. 江苏二本计算机科学与技术好的学校排名,江苏最好的二本学校,2021年江苏二本学校排名前十名单公布...
  6. [1205] [40001]: Lock wait timeout exceeded; try restarting transaction
  7. DBR、FAT、FDT定位及FAT结构分析
  8. iOS开发-iPhoneX的适配-iPhoneX屏幕适配分享
  9. 大数据分析案例-基于随机森林算法构建多发性硬化症预测模型
  10. 【数据分享】12.5米分辨率DEM地形数据(分省)