【巨杉数据库SequoiaDB】巨杉Tech | 分布式数据库千亿级超大表优化实践

01引言随着用户的增长、业务的发展,大型企业用户的业务系统的数据量越来越大,超大数据表的性能问题成为阻碍业务功能实现的一大障碍。其中,流水表作为最常见的一类超大表,是企业级用户经常碰到的性能瓶颈。本文就以流水类的超大表,探讨基于SequoiaDB巨杉数据库存储的超大表进行的性能调优。SequoiaDB 巨杉数据库,作为新一代 OLTP 的分布式数据库,被广泛使用于海量数据存储与高并发操...
摘要由CSDN通过智能技术生成

01

引言

随着用户的增长、业务的发展,大型企业用户的业务系统的数据量越来越大,超大数据表的性能问题成为阻碍业务功能实现的一大障碍。其中,流水表作为最常见的一类超大表,是企业级用户经常碰到的性能瓶颈。

本文就以流水类的超大表,探讨基于SequoiaDB巨杉数据库存储的超大表进行的性能调优。SequoiaDB 巨杉数据库,作为新一代 OLTP 的分布式数据库,被广泛使用于海量数据存储与高并发操作场景中。对于海量数据的存储和高并发操作,分布式数据库相较于传统数据库有着天然的优势,合理利用SequoiaDB巨杉数据库多种特性,轻松解决超大表的性能问题。

 

02

数据存储规划很重要

对于流水类超大表,前期的数据存储规划尤为重要,合理的数据存储规划能有效利用数据库集群硬件资源,提供更高性能、更高效率的数据服务。

1. 集群规模评估与硬件配置搭配

在数据库集群规划伊始,需要通过调研数据库集群支撑应用规模、系统定位和业务长期发展规划进行摸底,用以评估集群规模以及各服务器的CPU、内存、硬盘、网卡的合理搭配。

精准的评估一个数据库集群规模,是一个宏大且复杂的综合工程,需要有的业务需求评估数据加以支持。通常情况下,由于业务需求变化快、业务增长普遍高于预期,小集群规划可以按照业务调研信息的1.5~2倍进行评估,大集群规划可以按1~1.5倍进行评估。

集群规模需要通过业务规模、数据存储规模、最大流水表3年数据规模,三类信息进行评估。业务规模评估需要从业务访问量、数据库各类操作比例、操作时间分布等进行调研,最终得出各类操作的交易TPS和操作并发度数据。

数据存储规模主要对流水类数据进行评估,从存量数据、3年增量数据预估、数据吞吐规模等信息进行调研,最终得出集群数据存储大小、数据吞吐量,并结合交易TPS估算出磁盘IOPS。基础信息表的数据规模对集群规模评估影响小,作为一个参考信息只需要出整体规模上评估即可,例如,集群需存储1000张基础表,平均每张0.1GB,整体需要100GB,这个量级在上百TB的集群规模里可以忽略不计。

具体操作上,可以先敲定集群存储大小,在根据IOPS和数据吞吐情况平衡使用磁盘还是固态硬盘,每个硬盘的大小,一台服务器挂载几个硬盘等等,根据TPS、操作类型比例和并发度来配置CPU和内存。一般情况下,建议CPU内存比为1:8,单个硬盘在1.5~3T的容量为主,单个盘容量越大越容易出现IO性能瓶颈,网络带宽根据集群大小和集群吞吐量可选择使用千兆网或万兆网络。

2. 流水表怎么建会更好

流水类数据通常包含两个维度特征:业务时间维度和业务主键维度。对于流水表最普遍的就是创建多维分区表(如图1),先在主表集合通过把不同业务日期的数据切分到不同的子表集合中,以此确保单个集合数据量不至于过大;然后,在子表集合通过业务主键将数据打散到集群的各个数据节点中,单集合在单节点上的数据量最好在百万数据量级以内。另外,通过业务日期进行多维度分区,可以非常简单的实现集群横向扩容。

需要注意的是,在设计流水表集合空间时,最好按年或按月创建集合空间,这样当数据超过数据保存周期时可以快速备份、删除并释放存储空间。

3. 再合理的规划也无法一劳永逸

再合理的数据存储规划,在急剧增长的数据和千变万化的业务需求面前,都显得那么无能为力,数据的增长总会超出预期,性能瓶颈总有发生的那天。这个时候,就需要针对具体性能问题进行性能优化。

03

硬件资源性能瓶颈分析

集群硬件资源的使用情况

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值