作家
登录

容器化RDS:计算存储分离还是本地存储?

作者: 来源: 2018-03-27 09:26:09 阅读 我要评论


跟着交换机会的增多(集中在金融行业,范围都在各自范畴数一数二),发来岁夜家对 Docker + Kubernetes 的接收程度超乎想象, 并极有兴趣将这套架构应用到 RDS 范畴。数据库办事的需求可以简化为:

实现数据零损掉的前提下,供给可接收的办事才能。

是以存储架构的选型至关重要。到底是选择计算存储分别照样本地存储?

本文就这个问题,大年夜以下几点展开:

  • 回想:计算存储分别, 本地存储优缺点
  • MySQL 基于本地存储实现数据零损掉
  • 机能比较
  • 基于 Docker + Kubernetes 的实现

来分享小我懂得。

回想:计算存储分别,本地存储优缺点

计算存储分别

先说长处:

  • 架构清楚
  • 计算资本 / 存储资本自力扩大
  • 晋升实例密度,优化硬件应用率
  • 简化实例切换流程:将有状况的数据下沉到存储层,Scheduler 调剂时,无需感知计算节点的存储介质,只需调剂到知足计算资本请求的 Node,数据库实例启动时,只需在分布式文件体系挂载 mapping volume 即可。可以明显的进步数据库实例的安排密度和计算资本应用率。

以 MySQL 为例

  • 通用性更好,同时实用于 Oracle、MySQL。

大年夜部分用户的高低文来看,存在如下客不雅缺点:

  • 惹人分布式存储,架构复杂度加大年夜。一旦涉及到分布式存储的问题,DBA 无法闭环解决。
  • 分布式存储选型:

选择商用,有 Storage Verdor Lock In 风险。

选择开源,大年夜多半用户(包含沃趣)都测试过 GlusterFS 和 Ceph,针对数据库(Sensitive Lantency)场景,机能完全无法接收。

本地存储

如不雅在意计算存储分别架构中提到的缺点,本地存储可以有效的清除类似挂念,无需惹人分布式存储,避免Storage Verdor Lock In 风险,所有问题都由DBA 闭环解决,然则,须要依附数据库自有筹划实现数据零损掉。

以 MySQL 为例

还会惹人类似问题:

  • 物理容量受限于单机容量;
  • 调剂更复杂,选定命据库实例的存储类型(比如 SSD)后,一旦该实例产生“failover”,只能调剂到拥有 SSD 的物理节点,这导致调剂器须要对物理节点“Physical Topology Aware”;

  • 密度难晋升,这是“Physical Topology Aware”的副感化;
  • 因数据库的不合筹划差别性较大年夜,通用性无法包管。

接下来,进入正题,看一下 MySQL 基于本地存储若何实现数据库零损掉。

MySQL 基于本地存储数据零损掉

最常用的是基于 Replication 模型将数据复制到 MySQL Cluster 中所有成员。

MySQL Master-Slave Replication(类似 Oracle DataGuard)供给了基于 binlog 的数据库层的复制模型,在高并发压力下节点间同步数据速度最快,单位时光内的交易量受其他节点的影响极小,该架构可经由过程 vip 漂移的方法实现 “failover”。

MySQL Master-Slave Replication

94530586304 为 64-bit 有符号整型,用来表示事务在序列中的地位

  • 将传统的 Synchronous Replication 改为 Deferred Update Replication,并将全部过程大年夜致分化成四个阶段,本地阶段、发送阶段、验证阶段和应用阶段,个中:

可见如不雅基于 Replication 模型,Synchronous Replication 是实现数据零损掉的前提。

传统的 Synchronous Replication 一般会采取两阶段提交或分布式锁,这会带来如下几个问题:

在 GitHub 上,同样可以看到基于 Docker + Kubernetes 的 demo[5],有兴趣的同窗可以玩一下。

单位时光内事务才能(TPS)会跟集群成员数量成反比

照样大年夜计算存储分别说起。

增长了集群成员数据复制的冲突和逝世锁的可能性

针对以上问题 Galera Cluster 提出 Certification-based Replication 来解决传统 Synchronous Replication 中碰到的问题,实现如下:


  推荐阅读

  我是如何在5个月内找到一份薪水翻番的工作的?

沙龙晃荡 | 3月31日 京东、微博、华为拭魅战专家与你合营商量容器技巧实践! 英文原文:How I Doubled my Salary in Five Months and Got an Amazing Job六个月前,我辞掉落了初级 JavaScr>>>详细阅读


本文标题:容器化RDS:计算存储分离还是本地存储?

地址:http://www.17bianji.com/lsqh/40917.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)