阿里推出 PolarFS 分布式文件系统:将存储与计算分开,提升云数据库性能(附论文)

摘要: 将存储与计算分开来大有意义,对于部署的云数据库而言更是如此。为此,阿里巴巴推出了一种新开发的名为PolarFS的分布式文件系统,旨在确保低延迟和高可用性。这个文件系统与阿里云上自己的PolarDB数据库服务搭配使用。

将存储与计算分开来大有意义,对于部署的云数据库而言更是如此。为此,阿里巴巴推出了一种新开发的名为PolarFS的分布式文件系统,旨在确保低延迟和高可用性。这个文件系统与阿里云上自己的PolarDB数据库服务搭配使用。

像PolarDB这样的云数据库服务(或者各大云提供商的平台上的同类云数据库服务)拥有一个更具可扩展性且安全的基础以便充分利用容器,并以快速I/O、检查点和数据共享来支持后端存储集群,从而充分发挥将存储资源和计算资源分开来的这种做法具有的好处。

然而,由于面向数据库服务的云I/O领域的种种创新,很难把大幅加快读写速度的硬件创新整合起来,比如包括RDMA和NVMe。从性能的角度来看,阿里巴巴的架构值得关注,原因在于它利用了RDMA、NVMe和SPDK等方面最新的创新技术,因而提供了与固态硬盘(SSD)上的本地文件系统不相上下的写入性能。

“PolarFS采用了新兴的硬件和最先进的优化技术,比如操作系统旁路(OS bypass)和零拷贝(zero-copy),因而得以拥有与SSD上的本地文件系统相当的延迟。为了满足数据库应用的高IOPS要求,我们开发了一种新的共识协议ParallelRaft。ParallelRaft放宽了Raft严格按顺序写入的要求,又不牺牲存储语义的一致性,从而提升了PolarFS并行写入的性能。在高负载情况下,我们的方法可以将平均延迟缩短一半,将系统带宽翻番。PolarFS在用户空间中实施类似POSIX的接口,这让POLARDB能够仅需少许改动即可提升性能。”

拥有数据库服务的云提供商提供最新的硬件调优从而提供高性能可能听起来合情合理,但实际操作起来不像听起来那么简单。正如阿里巴巴的研究人员解释的那样,云提供商使用实例存储作为服务的基础,使用本地SSD和高I/O虚拟机实例用于数据库。但是这种方法限制了容量,规模上去后更是如此。

此外,由于数据库需要自己处理复制,因此可靠性有所降低。最后,实例存储在其核心使用通用文件系统,试图采用RDMA或基于PCIe的SSD以提升性能时,内核与用户空间之间的消息传递成本带来了庞大的开销。

阿里巴巴自己的PolarDB服务过去存在着上述限制。现在,PolarFS已准备好充分利用I/O方面新的提升,包括RDMA和NVMe SSD,并结合用户空间中的轻量级网络堆栈和I/O堆栈,避免在内核中被锁定。PolarFS API类似POSIX,原因在于它可以编译到数据库进程中,并且可以取代操作系统提供的文件系统接口,而I/O路径继续留在用户空间中。

阿里巴巴团队还特别指出,PolarFS数据平面的I/O模型旨在消除锁定,并避免关键数据路径上的上下文切换(context switch)。“还消除了所有不必要的内存副本,而直接内存访问用于在主内存和RDMA网卡/ NVMe磁盘之间传输数据。”缩短延迟的效果在这环节来得尤为明显。

阿里巴巴在开发过程中也不得不考虑到可靠性。其硬件调优的核心是用于解决共识的Raft协议。“部署在云生产环境中的分布式文件系统通常有成千上万台计算机。在这样的庞大规模下,硬件或软件错误引起的故障很常见。因此,需要一种共识协议来确保所有已提交的修改都不会在极端情况下丢失,而副本总是可以达成协议,变成比特方面一模一样。”由于一开始就恪守这个理念,阿里巴巴开发出了ParallelRaft,确保这项功能在大规模环境下照样正常使用。

PolarFS的延迟是4000个随机写入约48μs,这相当接近本地SSD上的Ext4的延迟(约10μs),而相比之下,CephFS的延迟却长达约760μs。PolarFS的平均随机写入延迟比本地Ext4慢1.6倍到4.7倍,而CephFS的平均随机写入延迟比本地Ext4慢6.5倍到75倍,这意味着分布式PolarFS几乎提供了与本地Ext4相同的性能。

关于性能结果和硬件调优的完整内容可以在这篇详细的论文:

 

原文链接

本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/521187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ios开发 热搜词demo_手机app如何开发

泛娱科技​www.cpdzapp.com手机app开发流程为:1.首先,制作一款APP,必须要有相关的idea,也就是说,第一步是APP的idea形成。2.通过那些idea来进行APP的主要功能设计以及大概界面构思和设计。3.大功能模块代码编写以及大概…

Linux Shell脚本专栏_批量创建100用户并设置密码脚本_03

文章目录一、简单需求实现流程1. 添加用户2. 给用户设置密码二、企业需求实现流程2.1. 脚本准备工作2.2. 企业级脚本2.2. 需求说明2.3. 企业级脚本说明三、实战3.1. 运行脚本3.2. 查看创建的用户3.3. 查看文件中的用户和密码信息一、简单需求实现流程 背景:新入职1…

【大数据】Spark面试100问 | CSDN博文精选

戳蓝字“CSDN云计算”关注我们哦!作者 | 游骑小兵责编 | 阿秃Q:什么是Spark?A:简单理解,Spark是在Hadoop基础上的改进,是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,…

为数据安全而生,阿里云容灾备份方案场景实践解析

摘要: 数字经济时代,数据正以超出想象的速度快速增长。短短几年,数据量已经从TB级别跃升到PB乃至ZB级别。 数字经济时代,数据正以超出想象的速度快速增长。短短几年,数据量已经从TB级别跃升到PB乃至ZB级别。 根据相关…

Dubbo项目入门

摘要: Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。 它的特性如下 面向接口代理的高性能RPC调用 智能负载均衡 服务自动注…

linux 编辑器_Linux的vi编辑器详细总结

《大数据和人工智能交流》头条号向广大初学者新增C 、Java 、Python 、Scala、javascript 等目前流行的计算机、大数据编程语言,希望大家以后关注本头条号更多的内容。vi是linux的文本编辑器,vim是vi编辑器的增强版本,习惯上也称为vi一、vi编…

聊聊困扰很多同学的一个问题:是否要转方向 ?

戳蓝字“CSDN云计算”关注我们哦!作者 | 大飞码字责编 | 阿秃这篇来聊聊困扰很多同学的一个问题:是否要转方向 ?这类问题没有标准的答案,每个人的理解也不一样,我写下的也只是我个人的想法,仅供大家参考。iOS 开发本…

傅里叶变换处理sar图像_SAR和ISAR雷达的基础知识

合成孔径雷达(SAR)和逆合成孔径雷达(ISAR)是使用雷达绘制静止物体(通常为地形)的方法。SAR/ISAR系统部署在飞机或卫星上,它们相对于地球表面或任何可能静止的物体或地形进行高速移动。SAR/ISAR得益于以下现象:相对于地形水平方向上的物体和/或天线&#…

带你玩转Logview: MaxCompute Logview参数详解和问题排查

Logview是MaxCompute Job提交后查看和Debug任务的工具。通过Logview可看到一个Job的运行状态、运行结果以及运行细节和每个步骤的进度。当Job提交到MaxCompute后,会生成Logview的链接,用户可以直接在浏览器上打开Logview链接,进入查看Job的信…

Linux Shell脚本专栏_找出占用CPU/内存过高的进程_05

文章目录找出占用CPU/内存过高的进程1. 脚本2. 运行脚本3. 效果图找出占用CPU/内存过高的进程 1. CPU 过高的进程2. 内存 过高的进程1. 脚本 #/bin/bash echo "----------------------- CPU TOP 10------------------------" ps -eo user,pid,pcpu,pmem,args --sort…

阿里云大数据计算服务MaxCompute命令行工具——odpscmd的操作使用

在MaxCompute生态中,命令行工具究竟处于什么样的位置?它又发挥着什么样的作用?能够帮助开发者如何更好使用MaxCompute?在本文中,阿里巴巴计算平台产品专家曲宁将通过一个完整简单的小例子为大家介绍MaxCompute命令行工…

数组的合并和升序排列_区间调度问题之区间合并

读完本文,你可以去力扣拿下如下题目:56.合并区间-----------上篇文章用贪心算法解决了区间调度问题:给你很多区间,让你求其中的最大不重叠子集。其实对于区间相关的问题,还有很多其他类型,本文就来讲讲区间…

哈工大、清华、CSDN、嵌入式视觉联盟合办的 AIoT 盛会,你怎么舍得错过?!

2019 嵌入式智能国际大会即将来袭!随着物联网和人工智能技术的飞速发展与相互渗透,万物智联的新赛道已经开始显现。据中商产业研究院《2016—2021年中国物联网产业市场研究报告》显示,预计到2020年,中国物联网的整体规模将达2.2万…

mysql提交事务_mysql事务的实现原理

此篇文章算是对mysql事务的一个总结,基本把mysql事务相关的知识点都涵盖到了,面试问来问去无非也就是这些,在了解这些之前我们先对mysql在执行的过程中有一个整体的认识,如下图如上图所示,MySQL服务器逻辑架构从上往下…

Linux Shell脚本专栏_查看网卡的实时流量_06

文章目录查看网卡的实时流量1. 脚本内容2. 运行脚本查看网卡的实时流量 一个服务器的流量基本可以评估出当前服务器的负载和业务的访问情况,这样更有利于对当前服务器一个大致的了解,这也是在日常的监控中这个流量是必不可少的! 本案例&…

MaxCompute 多租户数据安全体系

很多用户对MaxCompute多租户数据安全体系感兴趣,我们将对其进行系统介绍,主要包括如下内容: MaxCompute 用户认证MaxCompute 项目空间内的访问控制和权限管理MaxCompute 跨项目空间的访问控制和权限管理MaxCompute 常见错误解析 基本术语 p…

如果批评《说好不哭》不自由,则赞美周杰伦无意义

戳蓝字“CSDN云计算”关注我们哦!作者 | 朱小五and王小九责编 | 阿秃从前从前有个人爱你很久,但偏偏风渐渐把距离吹得好远。——《晴天》他来了,他来了,他带着新歌mv和跟他一样胖了一圈的阿信来了。周杰伦新歌《说好不哭》一上线…

面向云数据库,超低延迟文件系统PolarFS诞生了

随着国内首款Cloud Native自研数据库POLARDB精彩亮相ICDE 2018的同时,作为其核心支撑和使能平台的PolarFS文件系统的相关论文"PolarFS: An Ultra-low Latency and Failure Resilient Distributed File System for Shared Storage Cloud Database"也被数据…

Data Lake Analytics-数据分析时代迎来新变革

前言 近期阿里云重磅推出新的数据分析引擎Data Lake Analytics,Data Lake Analytics是Serverless化的交互式联邦查询服务。无需ETL,使用标准SQL即可分析与集成对象存储(OSS)、数据库(PostgreSQL/MySQL/SQL Server等)、NoSQL(TableStore等)数据源的数据。…

这款耳机堪比千元级的AirPods

你如果问我:生活中你觉得必不可少的一件电子产品是什么?那么我会毫不犹豫的回答你:是耳机!出门忘带耳机是绝对不能忍听不听没关系,但是有它比较安心我觉得生活中不仅是我很多人都对耳机有一种依赖因为很多人都喜欢音乐…