客户案例

 

产品概述

优势 腾讯云 DCDB 基于中间件的分布式数据库
分片策略
自动分库分表

只需设置 ShardKey,后台根据物理节点规格自动水平拆分

半自动分库分表

需要根据物理节点规格初始化拆分策略,可能会导致单节点容量瓶颈

性能对比
超高读写性能

内核性能调优,标配 PCI-e SSD 存储,支持读写分离技术,性能10倍于自建方案

较低读写性能

基于物理机实际配置,公版引擎未进行性能调优

容灾方案
故障自动恢复

提供双机热备高可用方案,秒级自动切换,30分钟内自动重建故障节点并重新加入集群

手动恢复

仅提供高可用方案,但是节点故障后,需要手工重建节点并手工同步数据

易用性
功能完善的 Web 控制台

轻松管理数据库,控制台提供容灾、备份、恢复、监控、迁移等方面的全套解决方案

已支持MariaDB、Percona引擎内核,高度兼容MySQL原生语法,业务无需改造或极少改造即可迁移到DCDB

简单的 Web 控制台/命令行

不少操作需要运维手工配置

缺乏兼容性,例如不支持分布式事务等

扩容方案
自动扩容

平滑扩容,扩容后原有数据库将自动再均衡(Rebalance)数据,期间不停服

手动扩容

扩容后,需要手工迁移数据,多数情况下需要“停机”扩容

同步方式
三种同步方案

异步、半同步、强同步(MAR)三种同步方式,保障主机故障不会丢失数据或数据错乱

两种同步方案

异步/半同步复制主机会导致数据丢失或错乱

配置安全
全局统一管理配置

统一配置更安全,不会出错,好迁移

各个分片各自管理

更灵活就意味着无规则,容易出事故,而且不利于弹性伸缩

 

产品功能

特性功能

补齐传统分表的不足

支持广播表

广播表的所有操作都将广播到所有物理分片(set)中,每个分片都有该表的全量数据。对于一些数据更新少,数据量少的数据单表,广播表可以有效提高联合查询(join等)、事务的效率。

支持单表

单表是在分布式实例中存储一些无需分片的表,对于数据量较小的库表,单表提供了一种语法和使用防范完全与单机MySQL一致的开发方案。您也可以把单表理解为一个非分布式的表,这样您就仅需改造很少的业务模块以快速将业务迁移到分布式实例中。

全局唯一数字序列

全局唯一数字序列使用方法与MySQL的AUTO_INCREMENT类似。自增长序列为用户提供一个全局唯一数字ID服务,实现分布式环境下唯一键、主键等数据的全局唯一性。

透传命令

支持通过注释方式(hint)将SQL透传到指定目标分片,以提高性能和操作灵活性。

支持分布式事务

通过两段提交的方式支持分布式事务,支持更复杂的业务场景,例如如银行转账业务、电子商务支付业务等;分布式实例单个分片的事务性能约等于单机数据库的70%,多个分片理论性能高于单机数据库。

数据库引擎

MySQL系列引擎

Percona

Percona 完全兼容MySQL协议,且功能和性能上较 MySQL 有显著的提升。目前DCDB 已支持 Percona 5.7版本,腾讯云也对Percona参数和内核做了大量优化,以确保您的业务数据库稳定和高效的运行。

MariaDB

MariaDB 是MySQL最重要的分支之一,在扩展功能、存储引擎以及一些新的功能改进方面都强过MySQL;目前DCDB 已支持 MariaDB 10.1(兼容MySQL 5.6),而绝大多数的业务可以在MariaDB和MySQL之间无缝迁移,您可以放心使用。

更多引擎敬请期待……

易用性

无需大幅改造,快速接入 DCDB

全自动水平拆分

只需在建表时设定分片字段( shardkey ),系统将自动根据节点主机规格,智能配置分片规则,自动水平拆分库表;从业务视角来看,仍然是一张完整的逻辑表,后端物理分布方案对业务完全透明,在尽量少的业务改造下,助您业务快速接入分布式数据库,以应对超高并发超大容量的数据砍需求。

兼容MySQL语法

基于MariaDB、Percona内核,高度兼容 MySQL5.6/5.7语法。

Web 管理中心和命令行工具

可视化 Web 控制台轻松管理数据库,查看完整的数据库运维监控系统,支持第三方命令行工具如 SQLyog、Native。

可扩展性

不停服扩容,PB级数据轻松支持

分片数量

最大分片规格可支持内存480GB/磁盘6000GB,可支持2~64个分片;如果分片数量仍不足以支撑您的业务,您仍可以通过提交工单再次扩展。

弹性扩展,平滑扩容

支持服务节点实时扩展,一键扩容,扩容期间不停服

自动再均衡(Rebalance)

增加分片或升级分片规格时,数据自动迁移,保证每个节点数据实现均衡分布;迁移过程服务不会停止,只会几个分片约秒级的只读。以提高大型业务维护效率,减少运营风险事件发生。

高可用

十年服务经验保障,集群可用性超过99.999%

分布式高可用

分布式系统架构本身就具有极高的可用性,即单一节点故障,并不影响集群整体可用性。而DCDB不仅在分布式架构上,对每个分片至少配置了2个节点主从的冗余,确保业务持续高可用。

透明故障转移

每一个分片和底层物理设备提供7X24小时持续监控。发生故障时,网关集群(TProxy)将在200ms 内切换路由解析到从故障节点切换到正常节点(当然,我们会对疑似故障节点持续观测10~30秒,已确保不存在误切),高效的故障切换是确保您的业务高可用的重要手段。

节点故障自动恢复

承载分片的物理节点故障,调度系统自动重试恢复节点,如果原节点无法恢复,将在30分钟内自动申请新资源,并通过备份重建(Rebuild)节点,并将节点自动加入集群,已确保分片长期来看保持主从容易。

同步方式

灵活的同步方案,保障数据不丢不乱

三种主从复制方案

三种同步方案:提供异步、半同步、强同步三种同步方案

强同步(MAR)

Multi-thread Asynchronous Replication 异步多线程强同步复制,当备库完全同步后才由主库给予应用事务应答,保障数据不丢、不错,异步多线程方案极大提高同步性能,跨机房同步延迟低于30ms

高性能

架构与硬件的综合提升,读写性能是自建数据库10倍

读写分离(从机只读)

DCDB默认支持读写分离能力,架构中的每个从机都能支持只读能力,如果配置有多个从机,将由网关集群(TProxy)自动分配到低负载从机上,以支撑大型应用程序的读取流量;我们提供至少读写分离两种方案供您选择

  • 只读帐号:您仅需要在创建帐号时,标记为只读帐号,系统将根据策略向将读请求发往从机。
  • /*slave*/:您可以在编程过程中,通过注释/*slave*/,系统将自动把该条语句发往从机而不需要人工干预。

由此为您的应用提高总的读取吞吐量;通过多种只读方案的组合,您可以配置出复杂的只读方案,以满足您各种业务需求和开发的灵活性。

默认支持线程池

对线程池调度算法进行了优化,改进当系统处于重负载时,查询和更新请求在线程组间分布不均衡等极端情况,并且能够更好地利用计算资源,减少无谓的线程切换,减少请求在队列中的等待时间,及时处理请求。类似的内核优化还有很多,通过sysbench的压力测试,DCDB纯写入操作能超过10万+TPS,纯查询操作能超过40万QPS。

高端硬件配置

通过PCI-E SSD配置的硬盘,提供至少高于SATA三倍的QPS配置,帮助您更轻松满足业务高并发需求。

性能并发线性增长

随着 DCDB分片节点的增加,每个节点分别承担一部分分布式任务的处理,并发性能等同于线性增长

 

产品架构

架构说明

数据分片 水平拆分的MySQL数据库,若干个数据分片形成一组逻辑统一物理分散分布式的数据库实例。
节点 承载分片的物理节点,DCDB默认采用一主一备的架构部署。
调度集群 作为集群的管理调度中心,主要管理数据库节点组、接入网关集群的正常运行。
接入网关集群 提供应用SQL访问时的,账号鉴权、SQL解析、分配路由等功能。
Hadoop分布式文件系统(HDFS) 提供数据灾备服务,提供至少2份备份
 

应用场景

大型应用

解决百万用户以上的大型应用,如电商、金融、O2O、社交应用,超高并发,超高性能需求和“秒杀”等场景,能解决普通架构无法支撑业务快速增长的问题

物联网数据

在工业监控和远程控制、智慧城市的延展、智能家居、车联网等物联网场景下,传感监控设备多,采样率高,数据存储要求高,超大数据规模存储的问题

文件索引

平台的图片、小文件、视频的数据极大,文件索引为亿级,该类数据通常只有新增、修改、读取、删除操作,分布式数据库可以有效提高提高索引检索的效率

大数据存储

关系型数据是最有价值的数据之一,因大数据分析的需要,需要存储大量历史数据,并解决数据读、写、分析的需求