分布式OLTP数据库发展趋势(五):内部自治实现数据透明
传统分布式对数据模型侵入性较高
增加了开发运维的成本和风险
分布式数据库大多需要人工指定数据切分的规则,管理数据分片的存储位置。例如,基于Mysql的分布式数据库,用户在建表时需要人工指定合适的列作为“分库键”;既要做到存储均匀分布,又需要做到热点分片均匀分散,而这对于复杂的业务系统而言,仅靠人工操作几乎是不可能完成的。
人工修改表分片的存储位置-消除分布式架构数据热点
原生分布式提升了系统可靠性
但也不能实现数据透明
原生分布式数据库是指采用不依赖MySQL这类传统单机DB实例,原生就是分布式架构、支持分布式事务的数据库系统。这类数据库一般采用LSM-tree结构的 “KV存储引擎”代替了传统的单机DB实例,通过Raft或Paxos算法实现数据分片多副本一致性存储。默认每个分片都有1个主副本和2个从副本,主副本承担计算业务,从副本用来保障高可用,系统可靠性变得更加健壮。
分布式一致性协议多副本应对节点故障策略
某些原生分布式数据库通过表分区(partition)进行数据切分,每个分区即为一个数据切片,不用单独指定分布健,但这样并不能解决热点分片聚集的问题。又因为一个分区的数据只能存储在一个节点上,所以单个表、单个分区的最大数据容量也受到限制。而且“分区”并不是一个好的数据切分方式,通常一个分区内的数据会具有一定的业务共性,更容易形成热点分片。
易鲸捷作为新一代国产分布式数据库代表厂商,站在数据库发展新纪元的开端,没有任何历史遗留的技术包袱,可以用更彻底的方案解决那些“虽然被发现但受历史架构限制不能解决的问题”,为用户提供一个数据完全透明、简易运维的原生分布式数据库QianBase xTP(简称QianBase)。
QianBase是面向企业核心业务的事务型数据库,这类业务中的表一般都具有主键(如果没有主键,QianBase会用随机值创建一个隐藏主键)。QianBase中数据会根据主键值进行排序,并按数据量大小(默认128MB)自动切分成多个细小分片,然后将这些分片分散到不同的服务器节点中存储。
QianBase xTP 以主键排序,按数据量自动切分、分散存储
QianBase按数据量进行自动切分,相比按“库”和“分区”而言,不需要人工干预,并且粒度更细、分布更均匀。在QianBase中,单张表的存储容量是没有限制的,因为无论数据量多么巨大的表,都会被切分成细小的分片均匀分散到集群中,所有的分片都会为业务访问提供并行计算服务。
如果QianBase只能按主键排序存储,那么最大的主键值总是会写入到最后一个分片中,这在写入递增主键值时会导致最后一个分片成为热点。针对这样的业务,QianBase还提供Hash表,在建表时指定表类型为Hash表,业务写入的数据会根据主键值随机分散到不同的Hash桶中,而每个Hash桶内的数据也会按数据量自动分裂成多个分片。
QianBase通过更精细的分片机制,可以为系统提供更准确的热点数据捕获与分析能力,以及更快速的分片移动效率。QianBase的数据自治会考虑以下几种常见热点情况,并自动优化:
1、当某个数据分片被高频访问成为热点时。QianBase会根据表的分片数量自动调整并行计算能力,将一个大的数据分片,或者一个高频操作的热点分片分裂成多个;这可以增加数据计算并行度,消除“热点等待”提升性能。QianBase会实时监控每个分片的操作频率(qps),当一个分片的操作频率超过规定值时,自动将热点分片进行分裂。
2、当某台服务器资源使用率较高,成为集群热点。QianBase会监控每个节点的资源状态,当某个节点出现资源使用偏高并影响性能时,会自动通过分片的“主从副本切换”和“副本迁移”减少热点服务器中的主副本数量,从而降低其资源负载。当QianBase认为不能通过副本的“主从切换”消除服务器热点时,它会对集群所有节点进行评估,在全局寻找资源相对空闲的节点,并将热点服务器上的部分数据分片直接迁出。无论是主从切换还是分片迁出都会在线完成,保障业务连续、且数据一致。
3、当应用连接数据库产生频繁的跨节点访问数据时。QianBase是一款完全去中心化的分布式数据库,应用可以连接任何服务器节点获得全局一致的数据服务。当应用建立长链接,或者将集群中的某部分服务器划分给特定业务时,这部分服务器很可能总是访问某些特定的数据分片,而这些数据分片又恰好在远程节点。QianBase能够通过内部监控识别这种情况,并自动的通过分片主从切换或分片迁移能力将这部分远程分片的主副本变更到本地,降低应用请求的网络成本、提升查询性能。
4、考虑自治能力并不总是完美的。数据库自治是针对已经发生的现象,自动识别且响应处理的一种机制,如果业务模型相对稳定,这种机制会使数据库的性能和安全性越来越稳定。我们也考虑到数据库自治并不一定适用全部的业务场景。所以,QianBase支持自定义控制手段,例如自定义调整任意表的分片大小、热点评估的标准,以及控制分片是否自动分裂、合并、迁移,甚至允许指定分片的副本数量和存储位置,并且这些操作全部可以在线完成,满足用户打造个性化业务需求。
QianBase是具备高度自治能力的原生分布式数据库,真正的对应用开发人员、运维人员实现了数据透明,减少人工成本与操作风险。
党的二十大报告指出,教育、科技、人才是全面建设社会主义现代化国家的基础性、战略性支撑。必须坚持科技是第一生产力、人才是第一资源、创新是第一动力。加快建设网络强国和数字中国。贵州易鲸捷信息技术有限公司连日来深入学习党的二十大精神,将其贯彻至具体生产工作中,凝心聚力攻克科技技术难关,为我党实现第二个百年奋斗目标奋勇前进。
END
▼
往期精彩回顾
▼
易鲸捷简介
易鲸捷公司成立于2015年,专注于新一代融合型分布式数据库核心技术研发。公司核心团队源自天腾公司,曾创造过NonStopSQL等全球领先的数据库产品,核心技术完全自主可控。经过多年技术沉淀,易鲸捷已形成自主可控、国产可信、安全高效的三条完整分布式数据库产品线:QianBase xTP/QianBase TP/QianBase MPP,可面向不同行业应用提供完整的一站式解决方案,在金融、运营商、智能制造、5G等重点行业获得广泛应用。
网址:www.esgyn.cn
贵州易鲸捷信息技术有限公司 地址:贵阳市高新区长岭南路160号高科1号C座24楼 | |
北京易鲸捷信息技术有限公司 地址:北京市朝阳区大屯街道北苑路万科时代中心奥林A座10层 | |
上海易鲸捷信息技术有限公司 地址:上海市浦东新区金科路2889弄1号长泰广场A座6层03单元 | |
北京:010-84983409 | 上海:021-50822117 |
邮箱:info@esgyn.cn | 网址:www.esgyn.cn |