可以跑数据库的开源分布式存储系统FastCFS,为海量数据存储提供系统级解决方案。
内容概要:
数据库对存储的可靠性和性能要求非常高,从使用案例来看,目前还没有可以跑数据库的开源分布式文件系统。FastCFS作为可以跑数据库的轻量级开源分布式存储系统,解决了海量数据存储问题,同时保证了数据强一致性,并且做到了高性能和高扩展性,可以很好地为数据库和私有云提供后端存储。
FastCFS保证数据一致性和高性能的关键做法:
基于数据分组,采用同步复制方式,数据一致性方案相比RAFT更加简单高效;
采用顺序写盘方式,确保高效的写入性能,同时解决了写放大问题;
简洁高效的原生代码实现,不依赖第三方组件。采用的高性能编程方式包括无锁编程、简洁高效的线程模型、对象池、连接池、线程池、智能指针等等。
FastCFS相比同类软件具有明显的性能优势,尤其在中端和高端两种硬件配置的场景下。FastCFS如何在保证数据强一致性的前提下做到如此强劲的性能,这涉及到软件架构和代码实现,敬请期待作者的干货分享。
分布式文件系统 FastDFS 作者,曾任职于新浪、雅虎中国和阿里巴巴,对分布式架构和高性能编程有着深入的研究和丰富的实践经验。作为自由职业者,目前正在进行下一代分布式存储系统 FastCFS 的研发和推广工作。
XFS 是一款用户空间的面向小文件的、带目录的、高性能存储系统,目前为成熟态,开源。
XFS 起源于 CDN CACHE 存储,带目录的存储十分罕见。本次演讲主要回答如下几个问题:
1. 为什么要带目录存储?
2. 如何设计和考量?
3. 为什么要单盘单进程单线程管理?性能如何?
4. 应用场景如何?
曾任蓝汛和金山云 CDN 架构师,现任字节跳动架构师;完全自主开发并行与分布式计算平台 BGN,带目录的随机文件存储系统 RFS,XFS,NGX 与 BGN 融合的 CACHE 平台 XCACHE,以及分级缓存技术 DMA;在 CDN 领域提出存储与业务分离思想,流程隔离思想等。
持久内存同时具备传统磁盘的持久性和大容量特性,以及内存的字节寻址和低时延特性,将对现有软件架构体系产生革命性的变化和深远的影响。以 Ceph 为代表的分布式存储在云计算和数据中心得到了广泛的应用,但其整体架构是基于传统机械硬盘和 SSD 设计的,在读写性能优化,数据一致性,写放大等方面做了较多的权衡和取舍。持久内存引入分布式存储后,需要根据持久内存的特性,进行精心设计才能充分发挥持久内存的作用。本次分享将介绍包括3个方面的内容,介绍持久内存的特性,编程方法,应用注意事项;第二分析现有分布式存储系统在为了适配传统机械盘和 SSD 所做的一些权衡和写放大;第三部分介绍基于持久内存对分布式存储的架构改进和应用方面的实践。
分享提纲:
1. 持久内存的新特性、使用方法和注意事项;
2. 现有分布式存储系统在为了适配传统机械盘和SSD所做的一些权衡和取舍;
3. 介绍基于持久内存对分布式存储的架构改进和应用方面的实践。
分享要点:
首先,介绍持久内存的特性,并与现有存储介质进行比较,分析持久内存适合的应用场景;介绍持久内存的使用方式,编程方法,PMDK相关组件及应用等;
其次,分析目前分布式存储的架构,现有存储基于现有硬件条件下所做的权衡与取舍,现有架构在引入持久内存后存在的问题;
后,针对持久内存特性,介绍分布式存储如何更好的使用持久内存,以及在应该持久内存方面的一些实践经验。
就职于中兴通讯,任研发总工,多年的分布式存储研发经验,所研发的分布式存储系统在中兴通讯大视频,富媒体消息,云计算等产品得到了广泛的应用。
CURVE 是网易数帆研发的高性能、高可靠、高可用、高可扩的分布式存储系统,当前已开源,项目地址:https://github.com/opencurve/curve. 基于这个存储系统可以打造适用于不同应用场景的存储系统,如块存储、对象存储、云原生数据库等。当前基于 CURVE 已经实现了高性能的块存储系统,提供4KB随机读写能力,支持异步快照、增量快照、Lazy/非Lazy方式的从快照/镜像克隆、从快照回滚。此外,CURVE 的快照数据会转储到支持S3接口的对象存储中,系统本身不限制快照的数量。CURVE 对接了 Openstack 和 K8s,在公司内部线上无故障运行400+天,稳定性、性能、可靠性得到了一定的验证。
分享提纲:
a. 介绍 CURVE 产生的背景
b. 介绍 CURVE 的总体设计
c. 介绍基于 CURVE 如何构建一些上层应用
d. 介绍 CURVE 的系统特性
分享要点:
首先介绍下为什么要做 CURVE,为什么不基于当前已有的开源软件做二次开发;然后介绍 CURVE 的总体设计以及已经实现的块存储的相关设计点,包括基本架构、数据组织形式、拓扑以及常规IO流程和快照克隆;接着简单下介绍基于 CURVE 这个系统如何构建不同的上层应用;后介绍 CURVE 的系统特性,它在高性能、高可用、自治、质量、运维等方面所做的工作和保障。
网易数帆系统开发工程师,2017年入职网易,是网易数帆自研对象存储NEFS和自研分布式存储系统CURVE的核心开发。