AISWare AIDB亚信科技数据库产品特性解读——平滑弹性扩展(一)
AISWare AIDB亚信科技数据库(以下简称:AIDB)作为一款高性能、高可用的分布式关系型数据库产品,各个现场的用户量很大,数据成倍增长,复杂的业务、巨量的数据对系统性能提出了更高的要求。
如何通过数据库节点的弹性伸缩,实现用户无感知的平滑扩展,并无需上层应用进行停机维护,成为业务侧的迫切需求。
本文将详细解读AIDB的平滑扩展能力,和几种常见业务架构的对比。
几种常用的业务架构设计
传统数据库,依赖单节点性能,单个服务器的处理能力、磁盘空间、网络I/O都是有限的,水平扩展比较困难。业务架构设计过程中,更倾向于分库设计,将其切分成更多更小的库,把性能压力分摊到各实例。
分布式数据库,是以集群算力挑战传统数据库,对单个服务器的要求不高。业务架构在设计过程中,更多地考虑业务逻辑本身,而非数据如何分层。数据模型在设计过程中,在内部执行分片策略,强调数据分片对上层应用无感知。
目前,也有使用中间件的分布式数据库存在。但接入代理层导致的慢SQL、性能不高等问题,使得『真正数据库级别』的分布式,成为在业务架构上实现弹性扩展的佳解决方案。
AIDB的平滑弹性扩展
AIDB基于自研的原生分布式架构,产品架构、底层存储和查询处理,均面向分布式数据管理需求。数据库集群作为一个整体对外提供服务,在集群内部实现了不停机扩容、负载均衡、强一致性等细节,且提供C/ API/ODBC/JDBC/Python等多种开发语言支持。
(图1 AISWare AIDB产品架构)
如上图,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数据库在通信行业提供平滑扩展服务的佳实践、和典型案例。
————————————————
版权声明:本文为CSDN博主「亚信AntDB数据库」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44518445/article/details/121019082
相关文章