为帮助开发者更好的了解和运用数据库,腾讯云数据库团队特出品《深入浅出理解云数据库》系列文章,从数据库的基本概念到云数据库特性及应用,从数据库基础原理知识到腾讯云经典实战案例解读,带你走进云数据库的世界。关注“腾讯云数据库”微信公众号,开启2020年的DB修炼之旅。
第一回请点击: 数据库的基本概念和云数据库特性
第二回请点击: 云数据库的市场应用及基础原理知识
PartⅠ 腾讯云数据库产品总览
接下来的章节中我们以腾讯云数据库为例,来详细解读云数据库的功能和特性等。
首先来让我们用一张表来看清楚腾讯云的数据库都包含哪些,每种数据库的特性又是什么。
上表是对腾讯云数据库的概括介绍,如果你是数据库领域的新人,看完之后肯定会对其中很多专业术语存疑,同时对数据库选型和以上数据库的区别有诸多疑问,接下来我们先来讲解云数据库的基本专业术语,然后再对主流数据库展开介绍,包括功能特性、部署方式和常见问题等。
Part Ⅱ TencentDB for MySQL
腾讯云数据库MySQL(TencentDB for MySQL)让用户可以轻松在云端部署、使用 MySQL 数据库。MySQL 是世界上最流行的开源关系数据库,通过云数据库 MySQL,用户在几分钟内即可部署可扩展的 MySQL 数据库实例。不仅经济实惠,而且可以弹性调整硬件容量的大小而无需停机。云数据库 MySQL 提供备份回档、监控、快速扩容、数据传输等数据库运维全套解决方案,简化 IT 运维工作,让用户能更加专注于业务发展。
腾讯云MySQL提供了在云中的可拓展的虚拟计算资源,随着业务量的变化,用户可以随时调整云数据库MySQL的各项指标。它是一款集高性能、高可用、高安全防护、可扩展、易用性为一体的数据库托管服务。下面让我们来针对各项性能做一个详细介绍。
1. 高性能
腾讯云Mysql的高性能特点主要是通过强大的硬件保障和内核优化来保证的。
1.1)硬件保障
传统的存储介质是SATA硬盘,在这种传统硬盘中,当我们进行数据操作时,数据会先从硬盘读取到内存,再将数据提取至CPU内部进行计算,计算后写入内存,存储至硬盘中。而PCI-E是一种高速通道,数据直接通过总线与cpu直连,省去了内存再去调用硬盘的过程。而腾讯云MySQL就是基于PCI-E的,其强大的IO性能保障提供至少高于SATA三倍的IOPS(Input/OutputOperations Per Second,每秒读写次数)。存储硬件采用的是NvMe协议(传输层协议)专门针对PCI-E设计,更能发挥出性能优势。高 IO 型单实例最大支持 245509 QPS(每秒访问次数)、488G 内存和 6TB 存储空间。
1.2)内核优化
主从同步多线程优化,解决 DB 间同步性能瓶颈,无需考虑主从同步不及时的问题;MySQL 事务线程和 Dump 线程的锁优化,进一步提高数据库性能。
2. 高可用性
腾讯云MySQL具有多可用区容灾、异地灾备实例、金融级两地三中心方案、完善的热备和冷备、自动容灾等特性来保证企业级的高可用性。
2.1)多可用区容灾
支持跨区部署,主备两机分别处于不同的可用区,通过腾讯的专有网络进行数据实时复制。本地为主机,远程为备机。当外部数据进行访问时,会先访问主机,如果主机发生故障或不可用,会直接切换到远程备机访问。这种跨区部署的方式为腾讯云MySQL提供了多可用区容灾能力,主备机切换对用户完全透明。
2.2)异地灾备实例
支持跨地域的异地灾备实例,帮助您建立通过内网专线同步的异地灾备数据同步。在云数据库 MySQL 数据库主实例所在地域的机房发生故障或由其他原因引起不可用的情况下,异地灾备实例为用户提供快速恢复数据访问的能力,可帮助用户在异地迅速搭建业务体系,将业务访问流量切换到异地恢复运营,减少业务因故障引起的损失,保证了数据库在灾难情况下的高可用性。灾备实例从主实例同步数据过程中,数据写入功能会受到限制。但用户可在 Web 控制台将灾备实例升级为主实例,断开与数据同步连接并恢复完整功能。切换过程仅数秒,最大限度的减少了灾难情况下业务不可用的影响时长。
2.3)金融级两地三中心方案
云数据库 MySQL 可提供同城双中心、两地三中心的部署架构。故障发生时,用户可以在几分钟内将数据库恢复正常运行。用户仅需页面简单配置几步即可实现两地三中心方案:
a. 选择云数据库 MySQL 跨可用区部署,强同步数据复制方式,提供保障了数据强一致的一地两中心能力;
b. 为该集群添加异地灾备节点,即可实现两地三中心架构。
2.4) 完善的热备和冷备
使用完全同构的物理机提供实时的双机热备,主机故障可秒级切换至备机,提高数据库的可用性,保障业务的无间断服务;基于冷备和 binlog 文件,提供 3 日内无损恢复,5 日冷备数据 dump,保障数据安全恢复。
云数据库 MySQL 支持强同步和半同步的数据复制方式。基于腾讯自研数据库 logbus 技术,云数据库 MySQL 对 MySQL 内核进行了多项数据复制优化,极大提高了数据强同步复制性能。同时优化了主备切换引起的幻读现象(一个事务查询2次,得到的记录条数不一致)以及主机宕机恢复时导致的临界事务,大幅提高了MySQL5.6 版本下的数据一致性。
3. 企业级安全方面
企业级安全方面,腾讯云数据库具备以下特性:
3.1)符合国家/国际/行业相关标准
云数据库 MySQL 现已代表腾讯云云数据库通过多项国家或国际认证,包括但不限于:ISO22301认证、ISO27001认证、ISO20000认证、ISO9001认证、可信云服务认证、信息安全等级保护(三级或以上)、CSA STAR认证。
云数据库 MySQL 部分功能设计标准也参考:
a. GBT 20273-2006 信息安全技术数据库管理系统安全技术要求;
b. JRT 0072-2012 金融行业信息系统信息安全等级保护测评指南;
即使您的业务对数据库安全较为敏感,也可以完全放心的使用云数据库 MySQL。
3.2)支持私有网络
云数据库 MySQL 允许客户在私有网络 VPC 中运行数据库实例,这使用户可以隔离数据库实例并通过行业标准加密的 IPsec VPN 或专线连接到客户现有的数据中心。
3.3)多重安全防护
云数据库默认为每个数据库提供多重安全防护,在提供了外网访问功能的数据库实例遭到 DDoS 攻击(指处于不同位置的多个攻击者同时向一个或数个目标发动攻击,或者一个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施攻击)时,帮助用户抵御各种攻击流量,保证业务正常运行。高效防御 SQL 注入、暴力破解等数据库攻击行为,极大减少用户因数据库攻击带来的业务中断和损失。
3.4)细粒度的权限控制
屏蔽超级管理员账号,避免安全隐患;
提供精确到表、函数、存储过程等对象级别的权限控制,让您分配的账号只能访问被授权的资源,并将风险控制在可预期范围内。
3.5)存储高可靠
提供在线的主从两份数据存储,确保线上数据安全。每日自动备份数据,云数据库可根据备份文件提供 3 天内的任意时间点回档。同时每天的冷备数据都会存储多份,以便于在灾难情况下进行数据恢复。您可以放心的将数据存储在云数据库 MySQL 上,无需考虑数据丢失的问题。
3.6)支持物理独享方案
在公有云、金融云、黑石数据库(专区)支持以独享物理集群(设备)全部资源部署数据库,这意味着用户专享独立的物理设备,不与其他租户共用。独享集群满足用户对资源独享、物理安全、行业监管等需求;购买独享集群后,通过腾讯云控制台,灵活创建多种自定义规格的数据库实例。
4. 企业级监控
企业级监控腾讯云数据库具备以下特性:
4.1)全面的日常监控
日常监控支持 60 秒粒度,覆盖连接访问、数据库负载、查询缓存、存储引擎等七十余项重要指标,可全方位监控数据库运行状况。十五项数据库核心性能指标支持秒级的实时监控,可帮助您及时掌握实例运行状况,快速定位实例性能问题。自定义资源阈值告警,可帮助用户知晓 DB 运行中的问题。它将问题及时反馈给运维人员,帮助您快速响应数据库问题。提供慢查询分析报告和 SQL 完整运行报告下载,帮助您了解影响数据库性能的因素。
4.2)细粒度的秒级监控
十五项数据库核心性能指标支持秒级的实时监控,可帮助您及时掌握实例运行状况,快速定位实例性能问题。
4.3)自定义告警
自定义资源阈值告警,可帮助用户知晓 DB 运行中的问题。它将问题及时反馈给运维人员,帮助您快速响应数据库问题。
4.4)数据库日志
提供慢查询分析报告和 SQL 完整运行报告下载,帮助您了解影响数据库性能的因素。
5. 可扩展性
腾讯云数据库也具备良好的可拓展性:
5.1)只读实例
只读实例可帮助用户轻松实现一主多从和读写分离架构,应对业务海量请求压力;云数据库 MySQL 最多支持挂载5个只读实例。只读实例支持负载均衡功能,大大简化从机之间压力分配的过程。
5.2)灵活的计费方式
云数据库 MySQL 提供包年包月和按量计费两种计费模式,满足您不同业务场景下的弹性需求,帮助您节省数据库的成本投入。包年包月的计费模式,您可以根据业务需求一次性支付一个月或几个月的数据库服务费用,避免一次性投入大量资金建设基础设备;按量计费的弹性计费模式,您可以随时开通/销毁数据库实例,按实例的实际使用量计费,适用于突发性业务高峰。
5.3)性能和容量扩展
云数据库 MySQL 除最大规格实例外均提供无缝升级功能。当您遇到性能瓶颈时,用户可在页面上通过鼠标点击操作,一键升级到更高性能和容量的实例规格,升级过程不影响用户业务正常访问和使用,实现快速、平滑扩容,满足业务快速发展需要。
6. 易用性
在易用性方面,腾讯云数据库也表现不逊色:
6.1)轻松管理海量数据库
提供命令行和 Web 两种方式管理云数据库,并支持批量数据库的管理、权限设置和 SQL 导入,将海量数据库实例的运维工作简化为在页面点击即可完成,极大地降低了运维工作量。
6.2)会话管理
支持实例会话管理,可快速终止异常会话,帮助您最大限度避免非正常访问导致的数据库宕机。
6.3)多种网络接入方式
支持 VPC 网络和基础网络,还可配置数据库外网访问。通过这些接入方式,用户可从腾讯云、IDC、私有云或其他云厂商处访问云数据库,从而满足多种环境下的数据库访问需求。
6.4)参数模版
提供参数配置模版,用户可以将常用的数据库配置保存为模版,应用到新建实例中,免去了初始化数据库的繁杂工作,极大地简化了参数调优工作。
6.5)支持 API
云数据库 MySQL 提供完善的 API 体系,用户可使用 API 轻松地将云数据库与内部监控、运营系统相结合,实现贴近业务需求、完全自动化的业务运维体系。
7. 应用场景
腾讯云数据库MySQL主要应用于游戏、互联网/移动app、金融和电商等场景,下面我们来一起看一下这几个场景下腾讯云MySQL的应用方式:
7.1)游戏应用场景
图示5-1
游戏行业游戏玩家数据量大,多个分区数据服务,每个分区都需要快速读取数据;开服合服等场景多,对数据库的需求较为灵活,不同业务场景数据需求不同,涉及到需要弹性扩容和快速回档的业务。
云数据库MySQL 对计算资源的弹性伸缩能力,可以赋予游戏行业更高的生产力,分钟级部署游戏分区数据库。借助云数据库MySQL 任意时间点回档功能及支持批量操作的特性,用户可以随时随地恢复到任意时间点,为游戏回档提供支持。
7.2)互联网/移动APP应用场景
图示5-2
云数据库MySQL 在互联网/移动APP 中作为服务端最终数据落地存储介质,针对行业读多写少的场景,可将热点库增加只读实例,大幅提升读取能力。
7.3)金融场景
图示5-3
金融行业的海量的金融数据库,与业务强绑定,业务可靠性和优质体验是金融行业的首要需求。金融行业属于强监管行业,数据泄露或破坏对个人、社会乃至国家影响极大,因此其对安全性的要求是重中之重。云数据库可以为客户提供安全审计、跨地域容灾、数据强一致的数据库服务,保证用户的金融数据安全高可靠。
7.4)电商场景
图示5-4
电商行业的数据量大,且周期性会有大促等活动,云数据库MySQL 高性能特性以及 Redis 快速读写能力帮助用户在活动大促时解决访问高峰带来的请求压力。
扫描下方二维码关注“腾讯云数据库”,第四回即将开启;回复“迪B课堂”获得腾讯云高级产品经理原创数据库实战视频教程。
年终回馈