数据库文件存储(DBFS)是一款针对数据库场景的云原生共享文件存储服务。它基于共享存储架构设计,通过文件协议提供数据库定制功能,具备企业级存储特性。 DBFS支持了历年阿里巴巴集团大促,提供数据库存储计算分离的最佳实践。 同时服务于云上自建数据库,基于传统SAN的应用等,为用户提供极致IO性能和高可用性。同时减少数据库直接基于块的架构复杂度和成本(例如数据库做主备容灾的场景等),提供IO加速、多点读写的多活、数据备份及保护等能力。为OLTP、OLAP及NoSQL等数据库业务提供低成本高性能的存储解决方案和最佳实践。
业界领先的优势
极致性能
使用全新一代软硬件结合技术,充分发挥硬件红利提供用户态IO极致性能,性能随容量线性扩展。
高可靠
采用多副本技术,提供99.9999999%的数据可靠性。
高可用
基于业界领先的共享存储架构,提供多点读写的线性扩展能力。多个数据库实例共享一份数据,赋能数据库业务实现数据零丢失的秒级高可用切换能力。
动态弹性
存储容量支持PB级规模并提供在线弹性扩展功能。用户可按需挂载,挂载即用,避免因传统停机扩容方式而导致的数据库业务中断。
低成本
为数据库业务提供冷热数据分离存储的功能,带来存储成本与性能的最佳收益。
数据安全
支持数据加密、快照,为数据库业务提供企业级的持续性数据保护。
数据库定制
为数据库存储计算分离定制,经过阿里巴巴历年大促锤炼,突破数据库基于单纯云盘构建的性能上限。
POSIX兼容
数据库无缝迁移云端,快速实现存储计算分离。
原子写
避免数据库写缺页而导致的数据损坏。避免数据库因防止写缺页而引入新功能的负面性能影响。例如,MySQL的DoubleWriteBuffer等。
性能优化
用户态下减少核内外数据拷贝。另外,对影响数据库性能的关键IO进行加速,提升数据库性能。
在线扩容
避免因存储容量不足而导致的停机扩容与数据搬迁。
共享读写
共享存储及多节点挂载,线性扩展的并发读写能力,确保数据库业务高可用。
主备高可用
基于共享存储的主备高可用。与主备复制相比,节省一份数据存储,并且无数据丢失。RPO=0,RTO分钟级。而主备同步模式下性能差,异步模式下丢数据。另外,基于共享存储可关闭数据库日志复制(例如,MySQL的binlog复制等),提升性能。
多点读写
基于共享存储的多活高可用,避免基于SAN构建的复杂度。支持MPP架构的线性扩展全并行分析计算。
读扩展
支持共享一份数据的多点读能力扩展,即一写多读。解决读密集型数据库业务的IO瓶颈。
存储计算分离实践
帮助企业享受到数据库存储计算分离的最佳收益
通过原子写,用户态IO、分离存储、共享读写等特性,以低成本方式实现高性能。
领先的优势
低成本
构建数据库于DBFS共享存储之上实现双机高可用,减少一份数据存储。
高性能
对数据库关键IO的加速提升TPS。通过用户态技术,避免ext4等传统kernel态文件系统因核内外数据拷贝而影响数据库性能。
按需扩容
按实际业务需要申请存储空间,数据增长后在线动态扩容,从使用周期上降低存储成本。
原子写
避免数据库因ext4等文件系统不支持原子写而引入写缺页保护措施导致的IO争用和性能影响。例如,MySQL的DoubleWriteBuffer等。

共享存储的高可用实践
数据零丢失的分钟级高可用切换
基于共享存储实现双机高可用,基于一份数据之上实现无数据丢失的主备库分钟级切换,实现数据库计算节点的serverless。RPO=0,RTO分钟级。对于MySQL数据库,可关闭binary log进一步提升性能。
能够解决的问题
高成本
数据库构建于一主一备两份数据的模式下,存储成本高。
数据不一致
异步或半同步模式下,主库crash后存在主备数据不一致风险。
性能差
日志强同步模式下,不但增加网络带宽资源使用,而且影响主库性能。
部署与切换复杂
主备同步配置与部署繁锁,切换复杂;另外,需保证其它额外组件的高可用。
