共计 1589 个字符,预计需要花费 4 分钟才能阅读完成。
导读 | AISWare AIDB 亚信数据库(以下简称:AIDB)作为一款高性能、高可用的分布式关系型数据库产品,各个现场的用户量很大,数据成倍增长,复杂的业务、巨量的数据对系统性能提出了更高的要求。 |
如何通过数据库节点的弹性伸缩,实现用户无感知的平滑扩展,并无需上层应用进行停机维护,成为业务侧的迫切需求。
本文将详细解读 AIDB 的平滑扩展能力,和几种常见业务架构的对比。
传统数据库,依赖单节点性能,单个服务器的处理能力、磁盘空间、网络 I / O 都是有限的,水平扩展比较困难。业务架构设计过程中,更倾向于分库设计,将其切分成更多更小的库,把性能压力分摊到各实例。
分布式数据库,是以集群算力挑战传统数据库,对单个服务器的要求不高。业务架构在设计过程中,更多地考虑业务逻辑本身,而非数据如何分层。数据模型在设计过程中,在内部执行分片策略,强调数据分片对上层应用无感知。
目前,也有使用中间件的分布式数据库存在。但接入代理层导致的慢 SQL、性能不高等问题,使得『真正数据库级别』的分布式,成为在业务架构上实现弹性扩展的最佳解决方案。
AIDB 基于自研的原生分布式架构,产品架构、底层存储和查询处理,均面向分布式数据管理需求。数据库集群作为一个整体对外提供服务,在集群内部实现了不停机扩容、负载均衡、强一致性等细节,且提供 C / API/ODBC/JDBC/Python 等多种开发语言支持。
如上图,AIDB 是一个多节点的数据库集群,从管理节点提供的全局元数据中心、数据分片、负载均衡等功能,实现数据节点(Raft Group)的自动化扩缩容和分布式管理,即可在线增删节点组,节点数量按需灵活扩展。
AIDB 集群内部,数据采用 Hash 和 Range 分片算法散列在不同的节点,对业务的侵入性小。单张表数据量过大时,用户无需关注 Sharding 等实现细节,数据自动负载均衡。
节点间的数据访问,支持 RDMA(Remote Direct Memory Access)高速网络模式,可以简单理解为,网卡完全绕过 CPU 实现两个服务器之间的内存数据交换,大幅提升了传输效率,有利于整个数据库获得更低延迟、更高吞吐。
数据库的扩展,通常有垂直(Scale up)和水平(Scale out)两种方式,垂直扩展是指服务器硬件升级,水平扩展是指集群节点增加。AIDB 支持以上两种扩展方式:
垂直扩展:超强的 scale up 能力,对单个节点的 CPU、内存、连接数不做限制;
水平扩展:用户可在线进行扩容操作,动态伸缩节点,保障线上业务的连续性。
AIDB 的平滑扩展能力,在服务器利用率和管理复杂性上,均明显优于中间件方案。分库分表后,用户的数据散落在不同的库和表中,数据的 CURD 操作,是通过数据库本身的 SQL 层去执行分布式事务的管理,保障事务的 ACID 特性。
本次章节,主要介绍了 AIDB 的弹性扩展能力,在实际应用中,系统的并发量很高,即便是空闲时段也有相当的访问量;而海量数据的长时停机迁移,对用户的影响更加明显。
如何实现不停机地平滑扩展?在线扩容,又需要注意哪些关键点?我们将在后续章节,分享 AIDB 数据库在通信行业提供平滑扩展服务的最佳实践、和典型案例。
AISWare AIDB 亚信数据库是亚信科技(股票代码 01675.HK)自研的分布式关系型数据库,依托多年行业积累与实践经验精心打造。具备原生分布式、百万高并发、“电信级”高可用、平滑扩展、分层存储等特性,同时具备全面兼容 MySQL、可视化运维,支持高吞吐低时延 OLTP 类场景等优势。至今已成功应用于中国移动、中国电信、中国联通的核心业务系统,服务于国内外电信、广电、交通等行业客户。