精华内容
下载资源
问答
  • 云数据库
    千次阅读
    2020-07-06 11:48:16

    做为中小站长来说,一般购买了云服务器之后,可以自己在云服务器ECS上搭建数据库,并不需要另外购买云数据库。但是当网站的数据量规模已经大到一定程度之后,这种应用与数据库不分离的模式就会显露弊端了,会出现服务器反应迟缓卡顿现象。

     
    云数据库结合云服务器使用,布局站库分离的网站,这样的站库分离模式速度更快,也减少了数据安全风险,更降低了运营成本。云数据库RDS提供高可用、高可靠、高安全、可扩展的托管数据库服务,性能等同于商业数据库,但是价格相比ECS自建数据库,仅需约1/3,相比自购服务器搭建数据库,仅需约1/10。云数据库与自建数据库的成本比较,请看以下对比表:

    价格对比

     
    费用云数据库RDSECS自建数据库自购服务器搭建数据库
    硬件费用和备品配件费用RDS实例的费用。例如,2 CPU、4 GB内存、存储空间 100 GB(IOPS能力可达到6800)的实例费用是8000元/年。至少需要2台ECS实例作为主备实例。2台2 CPU、4 GB内存、存储空间 100 GB(IOPS能力可达到6800)的ECS实例费用是6800元/年。
    • 至少需要2台数据库服务器。每台IOPS能力达到6800的服务器费用大约是8000元。
    • 1台用于连接前端Web服务器的内网交换机(便宜的1U非网管交换机为1000元左右)。
    • 后期硬件损坏和更换至少还要消耗30%费用。
    • 硬件花费:(8000 × 2 + 1000)× 130% = 22100元。

      每年费用:22100元/3 = 7366元(硬件按照3年折旧计算)。

    机房托管费用服务商负责,无需付费。服务商负责,无需付费。1U机柜空间托管费用为3000元/年,共有2台1U服务器和1台1U内网交换机需要计费,机房托管费用:3000 × 3 = 9000元。
    带宽费用
    • 同一地域内,ECS和RDS可以通过内网互通,且不收取费用。
    • 若在不同地域,ECS和RDS可以通过外网互通,需收取外网流量费用,详细收费标准请参见云数据库RDS详细价格信息
    • 同一地域内,ECS实例之间可以通过内网互通,不收取费用。
    • 若在不同地域,ECS实例之间可以通过外网互通,需收取外网流量费用,详细收费标准请参见公网带宽计费方式
    只用于内网,不产生公网费用。
    数据库运维工程师费用数据库维护由服务商负责,无人员成本。1个初级DBA工程师月薪至少5000/月,假设当前项目占用该工程师30%的工作量,则人员成本为5000 × 12× 30% = 18000元。1个初级DBA工程师月薪至少5000/月,假设当前项目占用该工程师30%的工作量,则人员成本为5000 × 12× 30% = 18000元。
    每年总费用8000元/年24800元/年34366元/年

    RDS MySQL与自建数据库对比优势

     
    对比项RDS MySQLECS自建自购服务器搭建数据库
    性价比
    • 弹性资源。
    • ALISQL提供各种特性功能,提升用户使用感受。
    • 备份有一半实例空间免费
    • 公网流量免费。
    • 免费使用自带的域名。
    • 更新速度快,紧跟MySQL最新版本。
    • 弹性资源。
    • 开源版无性能优化。
    • 备份空间独立收费。
    • 公网流量收费。
    • 一次投入的沉没成本大。
    • 开源版无性能优化。
    • 需要独立准备备份资源,成本极高。
    • 公网流量收费,域名费用高。
    可用性
    • 基础版约15分钟即可完成故障转移。
    • 高可用版和集群版提供自研高可用系统,实现30秒内故障恢复。
    • 只读实例自动实现负载均衡。
    • 读写分离使用方便。
    • 未来会推出分析节点,满足分析型场景需求。
    • 基础版约30分钟完成故障转移。
    • 需要单独购买高可用系统。
    • 需要单独实现或者购买负载均衡服务。
    • 分析型场景需要与分析型数据库结合,搭建难度大、成本高。
    • 单机实例,少则两小时,多则等待配货数周。
    • 需要单独购买高可用系统。
    • 需要单独实现或者购买负载均衡设备。
    • 分析型场景需要与分析型数据库结合,搭建难度大、成本高。
    可靠性
    • 数据可靠性高,自动主备复制、数据备份、日志备份等。
    • MySQL 5.6三节点企业版,实现RPO(Recovery Point Object)=0。
    • MySQL 5.7三节点企业版(MGR),实现RPO=0、RTO(Recovery Time Objective) < 1分钟。
    • 在好的架构下才能实现高可靠性。
    • 实现RPO=0的成本极高,需要单独购买研发服务。
    • 数据可靠性一般,取决于单块磁盘的损害概率。
    • 实现RPO=0的成本极高,需要单独购买研发服务。
    易用性
    • 自动化备份恢复系统,支持按时间点恢复、单库备份恢复等,流式备份对实例性能影响小。
    • 自动化监控告警系统,支持秒级监控,覆盖实例和数据库所有性能指标,支持短信、邮箱、旺旺、钉钉等通道,且根据消费有大额度的免费短信数量。
    • 支持异地容灾
    • 支持一键版本升级
    • 无自动备份系统,流式备份能力需要单独实现,实现按时间点恢复功能成本高。
    • 需要单独购买监控系统,在云监控中配置告警系统。
    • 技术实现难度极大。
    • 版本升级成本高。
    • 无自动备份系统,流式备份能力需要单独实现,实现按时间点恢复功能成本高。
    • 需要单独购买或配置监控系统,通道较少,成本较高。
    • 异地数据中心成本极高,技术实现难度也大,很难实现异地容灾。
    • 版本升级成本高。
    性能
    • MySQL的本地SSD盘实例性能极佳。
    • MySQL的ESSD性能较SSD提升显著。
    • 增加只读实例之后性能强劲且负载均衡。
    • CloudDBA提供高级优化能力。
    • SQL洞察满足大部分监控及性能优化数据库场景。
    • ECS本地盘意味着降低数据可靠性,采用云盘需要规划架构,成本支出较大。
    • 基于ESSD的ECS自建MySQL性能低于基于ESSD的RDS MySQL性能。
    • 实现集群版的难度较高,咨询成本较高,维护成本极高。
    • 依赖资深DBA,支出大,受制于人。
    • 比云计算硬件更新速度慢,性能一般都会低于云数据库。
    • 难以实现计算和存储分离,若使用高端存储实现计算和存储分离,动辄需要数千万支出。
    • 实现集群版的难度较高,咨询成本较高,维护成本极高。
    • 依赖资深DBA,支出大,受制于人。
    安全
    • 事前防护:白名单安全组专有网络隔离
    • 事中保护:连接链路加密数据落盘加密(BYOK覆盖多种存储介质)。
    • 事后审计:SQL洞察历史事件
    • 事前防护:白名单、安全组、专有网络隔离。
    • 事中保护:需要单独实现连接链路加密和数据落盘加密,BYOK密钥轮转难度大,咨询成本较高。
    • 事后审计:审计困难,需要单独保存SQL日志。
    • 事前防护:白名单和专有网络隔离的咨询成本较高。
    • 事中保护:需要单独实现连接链路加密和数据落盘加密,BYOK密钥轮转难度大,咨询成本较高。
    • 事后审计:审计困难,需要单独保存SQL日志。

    RDS SQL Server与自建数据库对比优势

     
    对比项RDS SQL ServerECS自建自购服务器搭建数据库
    性价比
    • 弹性资源。
    • WEB版性价比极高。
    • 备份有一半实例空间免费
    • 公网流量免费。
    • 弹性资源。
    • 不可使用WEB版。
    • 备份空间独立收费。
    • 公网流量收费。
    • 一次投入的沉没成本大。
    • 不可使用WEB版。
    • 需要独立准备备份资源,成本极高。
    • 公网流量收费,域名费用高。
    可用性
    • 基础版约15分钟即可完成故障转移。
    • 高可用版和集群版提供自研高可用系统,实现30秒内故障恢复。
    • 集群版的只读实例自动实现负载均衡。
    • 集群版的读写分离使用方便。
    • 基础版约30分钟完成故障转移。
    • 需要单独购买高可用系统。
    • 需要单独实现或者购买负载均衡服务。
    • 单机实例,少则两小时,多则等待配货数周。
    • 需要单独购买高可用系统。
    • 需要单独实现或者购买负载均衡设备。
    可靠性
    • 数据可靠性高,自动主备复制、数据备份、日志备份等。
    • 集群版可实现RPO(Recovery Point Object)=0。
    • 在好的架构下才能实现高可靠性。
    • 实现RPO=0的成本极高,需要单独购买研发服务。
    • 数据可靠性一般,取决于单块磁盘的损害概率。
    • 实现RPO=0的成本极高,需要单独购买研发服务。
    易用性
    • 自动化备份恢复系统,支持按时间点恢复、单库备份恢复等,流式备份对实例性能影响小。
    • 自动化监控告警系统,支持秒级监控,覆盖实例和数据库所有性能指标,支持短信、邮箱、旺旺、钉钉等通道,且根据消费有大额度的免费短信数量。
    • 即将支持异地容灾。
    • 无自动备份系统,流式备份能力需要单独实现,实现按时间点恢复功能成本高。
    • 需要单独购买监控系统,在云监控中配置告警系统。
    • 技术实现难度极大。
    • 无自动备份系统,流式备份能力需要单独实现,实现按时间点恢复功能成本高。
    • 需要单独购买或配置监控系统,通道较少,成本较高。
    • 异地数据中心成本极高,技术实现难度也大,很难实现异地容灾。
    性能
    • SQL Server 2008 R2的本地SSD盘实例性能极佳,SQL Server 201x版本新计算存储分离架构可享受硬件红利 。
    • SQL Server的ESSD性能较SSD提升显著。
    • 增加只读实例之后性能强劲且负载均衡。
    • CloudDBA提供高级优化能力。
    • ECS本地盘意味着降低数据可靠性,采用云盘需要规划架构,成本支出较大。
    • 基于ESSD的ECS自建SQL Server性能低于基于ESSD的RDS SQL Server性能。
    • 实现集群版的难度较高,咨询成本较高,维护成本极高。
    • 依赖资深DBA,支出大,受制于人。
    • 比云计算硬件更新速度慢,性能一般都会低于云数据库。
    • 难以实现计算和存储分离,若使用高端存储实现计算和存储分离,动辄需要数千万支出。
    • 实现集群版的难度较高,咨询成本较高,维护成本极高。
    • 依赖资深DBA,支出大,受制于人。
    安全
    • 事前防护:白名单专有网络隔离
    • 事中保护:连接链路加密数据落盘加密
    • 事后审计:SQL审计(数据库审计)历史事件
    • 微软安全更新,阿里技术兜底。
    • 事前防护:白名单、安全组、专有网络隔离。
    • 事中保护:需要单独实现连接链路加密和数据落盘加密,咨询成本较高。
    • 事后审计:审计困难,需要单独保存SQL日志。
    • 事前防护:白名单和专有网络隔离的咨询成本较高。
    • 事中保护:需要单独实现连接链路加密和数据落盘加密,咨询成本较高。
    • 事后审计:审计困难,需要单独保存SQL日志。
    法律
    • 附带License,无法律风险。
    • 即将支持自带License,降低整体成本支出。
    只有单独购买License。只有单独购买License,否则法律风险极大。

    RDS PostgreSQL与自建数据库对比优势

     
    对比项RDS PostgreSQLECS自建自购服务器搭建数据库
    性价比
    • 弹性资源。
    • 内核优化,提供各种特性功能,提升用户使用感受。
    • 备份有一半实例空间免费
    • 公网流量免费。
    • 免费使用自带的域名。
    • 更新速度快,紧跟PostgreSQL最新版本。
    • 弹性资源。
    • 开源版无性能优化。
    • 备份空间独立收费。
    • 公网流量收费。
    • 一次投入的沉没成本大。
    • 开源版无性能优化。
    • 需要独立准备备份资源,成本极高。
    • 公网流量收费,域名费用高。
    可用性
    • 基础版约15分钟即可完成故障转移。
    • 高可用版提供自研高可用系统,实现30秒内故障恢复。
    • 只读实例自动实现负载均衡。
    • 基础版约30分钟完成故障转移。
    • 需要单独购买高可用系统。
    • 需要单独实现或者购买负载均衡服务。
    • 单机实例,少则两小时,多则等待配货数周。
    • 需要单独购买高可用系统。
    • 需要单独实现或者购买负载均衡设备。
    可靠性
    • 数据可靠性高,自动主备复制、数据备份、日志备份等。
    • 支持设置保护级别,最高RPO=0。
    • 在好的架构下才能实现高可靠性。
    • 实现RPO=0的成本极高,需要单独购买研发服务。
    • 数据可靠性一般,取决于单块磁盘的损害概率。
    • 实现RPO=0的成本极高,需要单独购买研发服务。
    易用性
    • 自动化备份恢复系统,支持按时间点恢复、单库备份恢复等,流式备份对实例性能影响小。
    • 自动化监控告警系统,覆盖实例和数据库所有性能指标,支持短信、邮箱、旺旺、钉钉等通道,且根据消费有大额度的免费短信数量。
    • 无自动备份系统,流式备份能力需要单独实现,实现按时间点恢复功能成本高。
    • 需要单独购买监控系统,在云监控中配置告警系统。
    • 无自动备份系统,流式备份能力需要单独实现,实现按时间点恢复功能成本高。
    • 需要单独购买或配置监控系统,通道较少,成本较高。
    性能
    • PostgreSQL的本地SSD盘实例性能极佳。
    • PostgreSQL的ESSD性能较SSD提升显著。
    • 增加只读实例之后性能强劲且负载均衡。
    • CloudDBA提供高级优化能力。
    • SQL审计(数据库审计)满足大部分监控及性能优化数据库场景。
    • ECS本地盘意味着降低数据可靠性,采用云盘需要规划架构,成本支出较大。
    • 基于ESSD的ECS自建PostgreSQL性能低于基于ESSD的RDS PostgreSQL性能。
    • 依赖资深DBA,支出大,受制于人。
    • 比云计算硬件更新速度慢,性能一般都会低于云数据库。
    • 难以实现计算和存储分离,若使用高端存储实现计算和存储分离,动辄需要数千万支出。
    • 依赖资深DBA,支出大,受制于人。
    安全
    • 事前防护:白名单安全组专有网络隔离
    • 事中保护:连接链路加密云盘加密
    • 事后审计:SQL审计(数据库审计)历史事件
    • 事前防护:白名单、安全组、专有网络隔离。
    • 事中保护:需要单独实现连接链路加密。
    • 事后审计:审计困难,需要单独保存SQL日志。
    • 事前防护:白名单和专有网络隔离的咨询成本较高。
    • 事中保护:需要单独实现连接链路加密。
    • 事后审计:审计困难,需要单独保存SQL日志。

    综合上面的对比表格,尊托云数给大家总结一下云数据库与传统自建数据库的对比如下:

    1.       服务可用性:    在服务可用性方面,云数据库RDS是99.95%可用的;而在自购服务器搭建的传统数据库服务中,需自行保障, 自行搭建主从复制,自建RAID等。 

    2.       数据可靠性:    对数据的可靠性来说,云数据库RDS是保证99.9999%可靠的;而在自购服务器搭建的传统数据库服务中,需自行保障, 自行搭建主从复制,自建RAID等。

    3.       系统安全性:    云数据库RDS可防DDoS攻击,流量清洗,能及时有效地修复各种数据库安全漏洞,而在自购服务器搭建的传统数据库,则需自行部署,价格高昂,同时也需自行修复数据库安全漏洞。

    4.       数据库备份:   云数据库RDS可自动为数据库进行备份,而自购服务器搭建的传统数据库需自行实现,同时需要寻找备份存放空间以及定期验证备份是否可恢复。

    5.       软硬件投入:   云数据库RDS无软硬件投入,并按需付费;而自购服务器搭建的传统数据库服务器成本相对较高,对于SQL Server需支付许可证费用。

    6.       系统托管:    云数据库RDS无需托管费用,而自购服务器搭建的传统数据库每台2U服务器每年超过5000元(如果需要主从,两台服务器需超过10000元/年)。

    7.       维护成本:    云数据库RDS无需运维,而自购服务器搭建的传统数据库需招聘专职DBA来维护,花费大量人力成本。

    8.       部署扩容:    云数据库RDS即时开通,快速部署,弹性扩容,按需开通,而自购服务器搭建的传统数据库需硬件采购、机房托管、部署机器等工作,周期较长。

    9.       资源利用率:    云数据库RDS按实际结算,100%利用率,而自购服务器搭建的传统数据库需考虑峰值,资源利用率很低。

    现在大的云计算服务商都有提供云数据库产品,比如:腾讯云云数据库、阿里云云数据库、华为云云数据库等等(正在进行的品牌云数据库1折抢购活动可进入尊托云数9i0i.com了解详情)。大型网站应用有必要购买云数据库,有利于网站的健康稳定运营及长期发展。一般需要云数据库的行业应用场景主要有:电商/金融类网站、游戏数据缓存、大数据计算,连接大数据存储、计算和可视化引擎等。

    更多相关内容
  • 在上一节我们介绍了下怎么使用云存储来存储我们需要的数据,接下来这节也是我们在实际开发比较重要的东西数据库,首先数据库当然是我们要显示在前端界面上的内容,如果要使用云存储+云数据库该如何操作呢,下面我来...
  • 云数据库

    2021-02-24 01:21:39
    文章首先对云数据库概述、云数据库产品、云数据库系统架构、AmazonAWS(AmazonWebServices)和云数据库、微软云数据库SQLAzure等相关内容。本文来自博客园,由火龙果软件Anna编辑、推荐。云计算的概念:通过整合、...
  • 云数据库 MySQL 产品认证题库及相关答案
  • 主要为大家详细介绍了微信小程序云开发实现云数据库读写权限,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 阿里云-云数据库Memcache-API手册.pdf
  • 云数据库十大经典案例 ,主要讲的阿里开发过程中,使用mysql遇到的问题.这个是高清的版本,花了很大功夫才找到的.供大家一起学习.
  • 腾讯云服务器上搭建mysql 如何使云数据库能外网访问-附件资源
  • 云数据库管理与数据迁移,云数据库管理与数据迁移,云数据库管理与数据迁移,云数据库管理与数据迁移,云数据库管理与数据迁移,云数据库管理与数据迁移
  •  首先重要的,是云数据库的读写性能。我在规划实例的配置时,主要考虑下面 2 点:  首先,云数据库要使用 SSD 硬盘,这样能够保证数据库服务器的 IO 尽量的快  其次,云数据库的内存要尽可能大,这样有尽可能...
  • 云数据库是把各种关系型数据库看成一系列简单的二维表,并基于简化版本的SQL或访问对象进行操作的数据库。云数据库能够为多个用户同时提供类似于单节点数据库的服务。在当前云计算技术不断发展中,数据库不断发展...
  • 关系型云数据库既能够兼容云上事务类场景对数据库的需求,又 其中关系型数据库基础能力已经被广泛认知,不再过多赘述。 :black_circle: 敏捷上线:当应用上线或变更时,无需从底层基础设施规划数 :black_circle: 可...
  • Kubernetes的云数据库建设实践
  • Google云数据库介绍 Hadoop介绍,HDFS,MapReduce
  • 华为云数据库RDS用户指南,供大家学习参考。
  • 华为云数据库RDS性能白皮书,供大家学习参考。
  • 本文主要详细描述了Oracle云数据库的技术,对熟悉数据库或者不数据库的同学很大的帮助,对销售经理也有启迪作用,并能给各位技术人员的工作提供帮助。
  • 从传统数据库到云数据库架构的演进技术创新变革未来12数据库概述与趋势目录CONTENTS阿里巴巴数据库发展历程3数据库系统数字化转型4最佳实践业界趋势云计算加速数据库系统演进Hadoop HBase SAP Hana MongoDB RedisAWS...
  • Bmob云数据库教程

    2019-02-06 17:58:49
    Bmob云数据库教程
  • Clouder认证课程:云数据库管理与数据迁移,阿里云Clouder认证课程:云数据库管理与数据迁移课程思维导图
  • 阿里云-云数据库OceanBase-SQL参考.pdf
  • 阿里云-云数据库OceanBase-SQL参考-D.docx
  • 云数据库概述

    千次阅读 2022-02-19 10:45:46
    云数据库云数据库概述云数据库产品云数据库系统架构UMP系统概述UMP系统架构MnesiaRabbitMQZookeeperLVSController服务器Proxy服务器Agent服务器日志分析服务器信息统计服务器愚公系统UMP系统功能 云数据库概述 ...

    云数据库概述

    云计算是云数据库兴起的基础
    在这里插入图片描述
    云数据库是部署和虚拟化在云计算环境中的数据库。云数据库是在云计算的大背景下发展起来的一种新兴的共享基础架构的方法,它极大地增强了数据库的存储能力,消除了人员、硬件、软件的重复配置,让软、硬件升级变得更加容易。云数据库具有高可扩展性、高可用性、采用多租形式和支持资源有效分发等特点。

    云数据库具有以下特性:
    (1)动态可扩展
    (2)高可用性
    (3)较低的使用代价
    (4)易用性
    (5)高性能
    (6)免维护
    (7)安全

    企业类型不同,对于存储的需求也千差万别,而云数据库可以很好地满足不同企业的个性化存储需求:
    •首先,云数据库可以满足大企业的海量数据存储需求
    •其次,云数据库可以满足中小企业的低成本数据存储需求
    •另外,云数据库可以满足企业动态变化的数据存储需求

    从数据模型的角度来说,云数据库并非一种全新的数据库技术,而只是以服务的方式提供数据库功能。
    云数据库并没有专属于自己的数据模型,云数据库所采用的数据模型可以是关系数据库所使用的关系模型(微软的SQL Azure云数据库、阿里云RDS都采用了关系模型),也可以是NoSQL数据库所使用的非关系模型(AmazonDynamo云数据库采用的是“键/值”存储)
    同一个公司也可能提供采用不同数据模型的多种云数据库服务
    许多公司在开发云数据库时,后端数据库都是直接使用现有的各种关系数据库或NoSQL数据库产品

    云数据库产品

    在这里插入图片描述

    云数据库系统架构

    UMP系统概述

    UMP系统是低成本和高性能的MySQL云数据库方案
    总的来说, UMP系统架构设计遵循了以下原则:

    • 保持单一的系统对外入口,并且为系统内部维护单一的资源池
    • 消除单点故障,保证服务的高可用性
    • 保证系统具有良好的可伸缩,能够动态地增加、删减计算与存储节点
    • 保证分配给用户的资源也是弹性可伸缩的,资源之间相互隔离,确保应用和数据安全

    UMP系统架构

    在这里插入图片描述

    Mnesia

    Mnesia是一个分布式数据库管理系统
    Mnesia支持事务,支持透明的数据分片,利用两阶段锁实现分布式事务,可以线性扩展到至少50个节点
    Mnesia的数据库模式(schema)可在运行时动态重配置,表能被迁移或复制到多个节点来改进容错性
    Mnesia的这些特性,使其在开发云数据库时被用来提供分布式数据库服务

    RabbitMQ

    RabbitMQ是一个工业级的消息队列产品(功能类似于IBM公司的消息队列产品IBM Websphere MQ),作为消息传输中间件来使用,可以实现可靠的消息传送
    UMP集群中各个节点之间的通信,不需要建立专门的连接,都是通过读写队列消息来实现的

    Zookeeper

    在UMP系统中, Zookeeper主要发挥三个作用:
    •作为全局的配置服务器
    •提供分布式锁(选出一个集群的“总管”)
    •监控所有MySQL实例
    Zookeeper是高效和可靠的协同工作系统,提供分布式锁之类的基本服务(比如统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等),用于构建分布式应用,减轻分布式应用程序所承担的协调任务

    LVS

    LVS(Linux Virtual Server)即Linux虚拟服务器,是一个虚拟的服务器集群系统
    UMP系统借助于LVS来实现集群内部的负载均衡
    LVS集群采用IP负载均衡技术和基于内容请求分发技术
    调度器是LVS集群系统的唯一入口点,调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器
    整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序

    Controller服务器

    Controller服务器向UMP集群提供各种管理服务,实现集群成员管理、元数据存储、 MySQL实例管理、故障恢复、备份、迁移、扩容等功能
    Controller服务器上运行了一组Mnesia分布式数据库服务,其中存储了各种系统元数据,主要包括集群成员、用户的配置和状态信息,以及用户名到后端MySQL实例地址的映射关系(或称为“路由表”)等
    当其它服务器组件需要获取用户数据时,可以向Controller服务器发送请求获取数据
    为了避免单点故障,保证系统的高可用性, UMP系统中部署了多台Controller服务器,然后,由Zookeeper的分布式锁功能来帮助选出一个“总管”,负责各种系统任务的调度和监控

    Proxy服务器

    Proxy服务器向用户提供访问MySQL数据库的服务,它完全实现了MySQL协议,用户可以使用已有的MySQL客户端连接到Proxy服务器,Proxy服务器通过用户名获取到用户的认证信息、资源配额的限制(例如QPS、 IOPS(I/O Per Second)、最大连接数等),以及后台MySQL实例的地址,然后,用户的SQL查询请求会被转发到相应的MySQL实例上。除了数据路由的基本功能外, Proxy服务器中还实现了很多重要的功能,主要包括屏蔽MySQL实例故障、读写分离、分库分表、资源隔离、记录用户访问日志等

    Agent服务器

    Agent服务器部署在运行MySQL进程的机器上,用来管理每台物理机上的MySQL实例,执行主从切换、创建、删除、备份、迁移等操作,同时,还负责收集和分析MySQL进程的统计信息、慢查询日志(Slow Query Log)和bin-log

    日志分析服务器

    日志分析服务器存储和分析Proxy服务器传入的用户访问日志,并支持实时查询一段时间内的慢日志和统计报表

    信息统计服务器

    信息统计服务器定期将采集到的用户的连接数、 QPS数值以及MySQL实例的进程状态用RRDtool进行统计,可以在 Web界面上可视化展示统计结果,也可以把统计结果作为今后实现弹性的资源分配和自动化的MySQL实例迁移的依据

    愚公系统

    愚公系统是一个全量复制结合bin-log分析进行增量复制的工具,可以实现在不停机的情况下动态扩容、缩容和迁移

    UMP系统功能

    UMP系统是构建在一个大的集群之上的,通过多个组件的协同作业,整个系统实现了对用户透明的各种功能

    1. 容灾:
      为了实现容灾, UMP系统会为每个用户创建两个MySQL实例,一个是主库,一个是从库。主库和从库的状态是由Zookeeper负责维护的。主从切换过程如下:
      Zookeeper探测到主库故障,通知Controller服务器
      Controller服务器启动主从切换时,会修改“路由表”,即用户名到后端MySQL实例地址的映射关系
      把主库标记为不可用
      借助于消息中间件RabbitMQ通知所有Proxy服务器修改用户名到后端MySQL实例地址的映射关系
      全部过程对用户透明

    2. 读写分离:
      充分利用主从库实现用户读写操作的分离,实现负载均衡
      UMP系统实现了对于用户透明的读写分离功能,当整个功能被开启时,负责向用户提供访问MySQL数据库服务的Proxy服务器,就会对用户发起的SQL语句进行解析,如果属于写操作,就直接发送到主库,如果是读操作,就会被均衡地发送到主库和从库上执行

    3. 分库分表:
      UMP支持对用户透明的分库分表(shard / horizontal partition)当采用分库分表时,系统处理用户查询的过程如下:
      •首先, Proxy服务器解析用户SQL语句,提取出重写和分发SQL语句所需要的信息
      •其次,对SQL语句进行重写,得到多个针对相应MySQL实例的子语句,然后把子语句分发到对应的MySQL实例上执行
      •最后,接收来自各个MySQL实例的SQL语句执行结果,合并得到最终结果

    4. 资源管理:
      •UMP系统采用资源池机制来管理数据库服务器上的CPU、内存、磁盘等计算资源,所有的计算资源都放在资源池内进行统一分配,资源池是为MySQL实例分配资源的基本单位
      •整个集群中的所有服务器会根据其机型、所在机房等因素被划分多个资源池,每台服务器会被加入到相应的资源池中
      •对于每个具体MySQL实例,管理员会根据应用部署在哪些机房、需要哪些计算资源等因素,为该MySQL实例具体指定主库和从库所在的资源池,然后,系统的实例管理服务会本着负载均衡的原则,从资源池中选择负载较轻的服务器来创建MySQL实例

    5. 资源调度:
      •UMP系统中有三种规格的用户,分别是数据量和流量比较小的用户、中等规模用户以及需要分库分表的用户
      •多个小规模用户可以共享同一个MySQL实例
      •对于中等规模的用户,每个用户独占一个MySQL实例
      •对于分库分表的用户,会占有多个独立的MySQL实例

    6. 资源隔离
      在这里插入图片描述

    7. 数据安全
      UMP系统设计了多种机制来保证数据安全:
      •SSL数据库连接: SSL(Secure Sockets Layer)是为网络通信提供安全及数据完整性的一种安全协议,它在传输层对网络连接进行加密。Proxy服务器实现了完整的MySQL客户端/服务器协议,可以与客户端
      之间建立SSL数据库连接
      •数据访问IP白名单:可以把允许访问云数据库的IP地址放入“白名单”,只有白名单内的IP地址才能访问,其他IP地址的访问都会被拒绝,从而进一步保证账户安全
      •记录用户操作日志:用户的所有操作记录都会被记录到日志分析服务器,通过检查用户操作记录,可以发现隐藏的安全漏洞
      •SQL拦截: Proxy服务器可以根据要求拦截多种类型的SQL语句,比如全表扫描语句“select *”

    展开全文
  • 云数据库综述.docx

    2022-06-16 20:32:14
    一、云数据库概念 云数据库是在 SaaS(software-as-a-service:软件即服务)成为应用趋势的大背景下发展起来的云计算技术,它极大地增强了数据库的存储能力,消除了人员、硬件、软件的重复配置,让软、硬件升级变得更加...
  • 细数选择云数据库SQL Azure的六大理由.pdf

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 396,371
精华内容 158,548
关键字:

云数据库