数据库文件存储DBFS企业版简介

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 主要讲解了数据库文件存储DBFS企业版的集群文件系统功能,可用于传统数据库集群,如Oracle RAC等,也可用于开源数据库,如MySQL等。另外,本文还说明了使用数据库文件存储DBFS企业版给数据库带来的收益。
  1. SAN共享架构

1.1 SAN介绍

目前常用三种存储架构:直连式存储(DAS)、存储区域网络(SAN)、网络接入存储(NAS)。其中SAN(Storage Area Network)存储局域网络,它是一种通过光纤集线器、光纤路由器、光纤交换机等连接设备将磁盘阵列、磁带等存储设备与相关服务器连接起来的高速专用子网。SAN 架构主要包含:高速网络 (LAN)、Servers 服务器群、高度整合的储域管理软件、高容量及高速存储设备、SAN Devices(包括Hub、Switch、将Servers与Storage device整合为存储资源环境)。整体架构主要分为计算节点和IO节点,如下图所示:
IO节点作为一个整体通过IP网络为所有计算节点(应用服务器)提供数据存储服务,且IO节点之间一般采用节点间共享的FC-SAN存储,另外需配置SAN共享(文件系统)软件。
SAN(存储区域网络)的优点是具备大容量存储设备的数据共享、低时延高吞吐、灵活的存储设备配置、数据的可靠性和安全性高等。当然缺点也非常明显:

• 不是整体统一的解决方案,一般至少需要配置SAN共享软件、IO节点服务器、光纤交换机、FC磁盘阵列,搭建系统和后期管理维护成本较高。
• 扩展容量时比较复杂,需要重新做LUN规划,绑定映射等动作,为了保证访问速度,需要同时增加IO节点服务器和FC磁盘阵列,扩容成本较高。另外不支持在线不停业务扩容以及扩容后数据负载均匀迁移到各磁盘阵列,导致各磁盘阵列负载不均衡。
• FC磁盘阵列采用传统RAID数据保护机制,数据重建速度慢,同时支持的硬盘损坏数有限,而且RAID信息有丢失风险。
• FC磁盘阵列设备本身如果有故障,会导致整个系统瘫痪甚至数据丢失。
• FC与IP协议转换效率低,IO节点服务器之间无并行性,即一个IO请求只能有一个IO节点服务器来处理,不能有多个IO节点同时处理。

近十年随着各行各业市场的快速增长,带来数据规模的空前发展,对存储的容量弹性,易用性,安全性等提出了非常高的要求,同时用户对存储成本的控制更加趋于敏感。传统SAN的架构复杂,成本高,部署周期长,运维成本高等问题就变得更加的突出。近年云计算的兴起,尤其是RDMA、NVMe等硬件技术的发展,时延大幅降低,基于大规模网络构建并且支持多点挂载的共享云盘,成为下一代的低时延共享存储,来取代传统的SAN存储成为可能。

1.2 基于SAN的构建

结合SAN技术特性及其在众多行业的成功应用,在具有以下业务数据特性的企业环境中适宜采用SAN技术,大体分布如下:

典型行业
典型业务
特点
电信、金融和证券
计费
对数据安全性要求很高的企业
电视台、交通部门和测绘部门
音频/视频、石油测绘和地理信息系统等
对数据存储性能要求高的企业
各中大型企业
ERP系统、CRM系统和决策支持系统
在系统级方面具有很强的容量(动态)可扩展性和灵活性的企业
图书馆、博物馆、税务和石油
资料中心和历史资料库
具有超大型海量存储特性的企业
银行、证券和电信
银行的业务集中和移动通信的运营支撑系统(BOSS)集中
具有本质上物理集中、逻辑上又彼此独立的数据管理特点的企业
各行各业
企业各分支机构数据的集中处理
实现对分散数据高速集中备份的企业
商业网站和金融
电子商务
数据在线性要求高的企业
大型企业
数据中心
实现与主机无关的容灾的企业
从以上各行业来看,互联网及电子商务的数据字化与云原生化程度最高,因其行业较新可直接采用云原生架构进行。其它行业,因构建于传统的SAN存储,而云端尚没有与之相匹配的共享块存储,云化率比较低,因此存在着巨大的市场机会。
从上层软件上划分,主要为集群数据库、中间件以及其它集群应用软件等。如下图所示:
无论是上层的数据库,还是中间件及SaaS应用软件,都需要基于SAN的共享文件系统来实现集群多节点间的读写高可用。
1.3 SAN共享文件系统
SAN共享文件系统,顾名思义就是基于SAN构建的共享文件系统,它有几个显著的特点:
• 文件语义,是一个文件系统,一般实现POSIX文件协议。
• 共享读写,多个节点可以同时读写一份存于SAN的数据。
• I/O Fence,能够快速处理共享节点的故障,确保数据的读写正确性。
一般这种文件系统业界统称为集群文件系统,因为构建于其上的数据库或者应用都是一个集群系统。数据库的叫数据库集群,如Oracle RAC集群。应用的叫应用集群,如Web Logic等。

  1. 集群文件系统

2.1 现状分析

集群文件系统,目前商业化较成功产品,如Veritas Cluster File System、阿里云的数据库文件存储DBFS企业版等。开源的产品,如OCFS2、GFS2等。当传统的SAN被共享云盘(如阿里云共享ESSD等)取代后,而其共享存储文件系统也逐渐被云原生的集群文件系统所取代,如阿里云的数据库文件存储DBFS文件系统。

2.2 竞品分析
对下对各个集群文件系统进行分析:
比较项
OCFS2/GFS2
ACFS
Veritas FS
DBFS
文件语义
兼容POSIX
部分兼容
兼容POSIX
兼容POSIX
容量弹性
一般小于1TB。
不支持在线扩容。
一般小于10TB。
不支持在线扩容。
一般小于10TB。
不支持在线扩容。
百TB级。
在线扩容。
易用性
部署复杂
部署复杂
部署复杂
挂载即用
生态
开源生态。
一般仅用于Oracle数据库。商用。
商用。
商用。
高可用
分钟级
分钟级
分钟级
20秒
性能
较差。
较好。
较好。
优秀。针对数据库场景优化。
成本
免费
license授权
license授权
收费

  1. 数据库最佳实践

3.1 Oracle RAC on DBFS
在传统数据库领域,以Oracle RAC在DBFS上的部署为例。
DBFS相比于ASM,有以下优势:
比较项
Oracle ASM
DBFS(数据库文件存储)
容量
10TB级。扩容需要加盘,rebalance的过程中将影响业务I/O,通常需要额外安排系统维护的时间窗口。
支持百TB级。在线扩容,对用户透明。
文件类型
支持Voting Disk。不支持存放Oracle Home及Oracle Grid的二进制文件。
支持所有文件。支持存放Oracle Home及Oracle Grid的二进制文件,数据文件,控制文件,redo文件,OCR及Voting Disk等。
易用性
感知底层磁盘,需要配置Disk Group及冗余度。
持载即用。
性能
性能好,接近RAW I/O。
性能好,接近RAW I/O。针对数据库优化。
通用性
一般仅使用于Oracle数据库场景。
支持POSIX协议的通用数据库文件系统。不仅适用于数据库,也可适用于传统其它基于SAN构建的应用集群。
数据库场景:传统数据库如Oracle,SAP HANA等;开源数据库如MySQL,PostgreSQL,MongoDB等。
应用场景:中间件高可用集群及Oracle EBS套件。
具体部署细节,请查看“https://help.aliyun.com/document_detail/402340.html”。
3.2 MySQL on DBFS
基于共享存储实现双机高可用,基于一份数据之上实现无数据丢失的主备库分钟级切换,实现数据库计算节点的serverless。RPO=0,RTO分钟级。对于MySQL数据库,可关闭binary log进一步提升性能。这种部署形态,会还有以下几个收益:
• 高成本
数据库构建于一主一备两份数据的模式下,存储成本高。
• 数据不一致
异步或半同步模式下,主库crash后存在主备数据不一致风险。
• 性能差
日志强同步模式下,不但增加网络带宽资源使用,而且影响主库性能。
• 部署与切换复杂
主备同步配置与部署繁锁,切换复杂;另外,需保证其它额外组件的高可用。
具体部署细节,请查看“https://help.aliyun.com/document_detail/149749.html”。
除此之外,通过数据库文件存储DBFS实现的原子写,用户态IO、共享读写等特性,以低成本方式实现高性能。存储计算分离后,彻底免除了数据丢失风险,还会有以下几个收益:
• 高性能
对数据库关键IO的加速提升TPS。通过用户态技术,避免ext4等传统kernel态文件系统因核内外数据拷贝而影响数据库性能。
• 按需扩容
按实际业务需要申请存储空间,数据增长后在线动态扩容,从使用周期上降低存储成本。
• 原子写
避免数据库因ext4等文件系统不支持原子写而引入写缺页保护措施导致的IO争用和性能影响。例如,MySQL的DoubleWriteBuffer等。
了解更多关于数据库文件存储DBFS企业版的产品信息,欢迎访问https://www.aliyun.com/product/dbfs
如果您对数据库文件存储DBFS企业版有任何问题,欢迎钉钉扫描以下二维码加入数据库文件存储DBFS技术交流群。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
18天前
|
SQL 关系型数据库 MySQL
数据库开发之SQL简介以及DDL的详细解析
数据库开发之SQL简介以及DDL的详细解析
26 0
|
5月前
|
存储 机器学习/深度学习 人工智能
向量数据库简介和5个常用数据库介绍
随着数字时代将我们推进到一个以人工智能和机器学习为主导的时代,向量数据库已经成为存储、搜索和分析高维数据矢量的不可或缺的工具。本文将旨在全面介绍向量数据库,并介绍2023年可用的最佳向量数据库。
|
8月前
|
SQL 存储 关系型数据库
MSSQL之一 数据库系统简介 与SQL Server 2008概述
MSSQL之一 数据库系统简介 与SQL Server 2008概述
86 0
|
22天前
|
SQL 监控 druid
Druid数据库连接池简介及应用推广(老项目翻出来做下记录)
Druid数据库连接池简介及应用推广(老项目翻出来做下记录)
|
25天前
|
关系型数据库 MySQL 数据库
阿里云rds数据库简介和如何使用
该内容是一个关于如何在阿里云上准备和使用MySQL数据库的教程。首先,你需要注册阿里云账号并购买阿里云数据库MySQL服务,选择合适的配置如地域、版本和存储类型。然后,通过DMS(Data Management Service)管理数据库,包括查看数据库实例、登录、切换数据库、创建数据库和数据库导出。此外,还介绍了如何使用MySQL Workbench或命令行工具连接到RDS MySQL实例。教程详细提供了每一步的链接和操作指南。
|
6月前
|
SQL 关系型数据库 MySQL
07 Django模型 - ORM简介及MySQL数据库的使用
07 Django模型 - ORM简介及MySQL数据库的使用
38 0
|
2月前
|
SQL Oracle 关系型数据库
通用SQL数据库查询语句精华使用简介
通用SQL数据库查询语句精华使用简介
|
7月前
|
SQL 关系型数据库 数据库
关系数据库SQL语言简介
一、关系数据库SQL语言简介 SQL(Structured Query Language)是关系型数据库管理系统(RDBMS)中最常用的语言。它是一种标准化的语言,用于存储、操作和查询数据。SQL语言具有以下特点: 1. 数据操作语言(DML):用于对数据库中的数据进行增、删、改等操作,包括INSERT、UPDATE、DELETE等命令。 2. 数据定义语言(DDL):用于定义数据库的结构,包括表、字段、索引、视图等,包括CREATE、ALTER、DROP等命令。 3. 数据查询语言(DQL):用于查询数据库中的数据,包括SELECT、FROM、WHERE等命令。 4. 数据控制语言(DCL)
194 0
|
7月前
|
SQL 数据管理 数据库
关系数据库SQL语言简介
关系数据库SQL语言简介 一、SQL语言概述 SQL(Structured Query Language)是一种用于管理和操作关系数据库的语言。它是数据库管理系统(DBMS)的核心组成部分,用于定义、操作和查询数据库中的数据。SQL语言是一种标准化的语言,由美国国家标准局(ANSI)和国际标准化组织(ISO)制定和维护。 SQL语言具有简洁、易学、易用的特点,被广泛应用于各个领域的数据管理和应用开发中。通过SQL语言,用户可以使用简单的语句来完成复杂的数据查询、更新、删除等操作,实现对数据库的全面管理和控制。 SQL语言主要包括以下几个方面的内容: 1. 数据定义语言(DDL):用于
61 0
|
7月前
|
Oracle 关系型数据库 MySQL
OceanBase 数据库的企业版提供了 Oracle 到 MySQL 的迁移工具
OceanBase 数据库的企业版提供了 Oracle 到 MySQL 的迁移工具
86 2

热门文章

最新文章