PolarDB-X学习笔记3-实际配置问题解决

关于PolarDB-X的最佳实践

1.如何选择实例规格

  • 计算实例:与CPU有关,以QPS为主要衡量指标;

选择实例时,应参照不同规格支持的最大QPS,并结合估算的业务最大QPS来进行选择。例如,某用户估算其业务应用对PolarDB-X 1.0计算资源实例访问的最大QPS为50000,那么应选择规格为标准版16核64 GB实例

  • 存储实例:预计磁盘空间以及最大的IOPS来进行配置;

2.如何选择拆分键

背景:即选择分库分表字段。

2.1 拆分键选择首要原则
首要原则:核心业务逻辑实体字段,大部分(或者核心)SQL操作都是围绕这个实体字段进行。

举例

  • 面向用户的互联网应用,围绕用户维度做各种操作,那么业务逻辑实体就是用户,可使用用户ID作为拆分键。
  • 面向卖家的电商应用,围绕卖家维度做各种操作,那么业务逻辑实体就是卖家,可使用卖家ID作为拆分键。
  • 游戏类在线应用,围绕玩家维度做各种操作,那么业务逻辑实体就是玩家,可使用玩家ID作为拆分键;
  • 诸如此类,还有车联网在线应用和税务类在线应用。

2.2 如果确实找不到合适的业务逻辑实体作为拆分键,特别是传统企业级应用,那么可以考虑从以下方法来选择拆分键:

  • 根据数据分布和访问均衡来考虑拆分键,尽量将表中的数据相对均匀的分布在不同份表中,PolarDB支持全局强一致二级索引和Parallel Query能够提高在次场景在的SQL并发度并降低相应时间。
  • 按照数字类型/字符串类型与时间类型字段相结合作为拆分键,进行分库分表,适用于日志类检索的应用。例如:分库用userid 分表用week(date);

如何选择分片数(即水平拆分的物理分表数)

背景:每个RDS实例创建8个物理分库。分库下可以建立单个或多个物理表

  • 建议一个分表的总容量在500万~5000万行数据(单行超过4KB,则总容量不超过500万),同时控制B+树的深度为3-4c层。
  • 先估计几年内的数据增长量,得到每个物理分库分表数。

何时选择升配?

  • 数据库性能主要受RT和QPS影响。RT响应时间,QPS是容量。PolarDB-X性能同时受到计算层和存储层节点性能的影响,任一计算层或者存储层节点性能不足都会导致整体性能出现瓶颈
  • 判断是否出现实例性能瓶颈:PolarDB-X实例的QPS和CPU性能是正相关的。当PolarDB-X性能出现瓶颈时,主要表现为实例的CPU使用率居高不下。如果发现CPU使用率超过90%或者持续超过80%,且存储层不存在瓶颈的情况下,对计算层的RDS进行升配。
  • 也可以通过升配存储节点RDS来进行性能优化。

何时选择平滑扩容

什么是平滑扩容

PolarDB-X平滑扩容是通过增加RDS的数量来提升整体性能。当RDS的IOPS、CPU、磁盘容量等指标达到瓶颈,并且SQL优化、RDS升配已经无法解决瓶颈(例如磁盘已经升至顶配)时,可通过PolarDB-X水平扩容增加RDS数量,提升PolarDB-X数据库容量。
PolarDB-X平滑扩容通过迁移分库到新的RDS上来降低原RDS的压力,直到单个RDS只存在一个分库为止。(否则那就只能迁库)
在这里插入图片描述

判断是否需要平滑扩容

观察RDS的三个指标进行判断:IOPS、CPU、磁盘空间。

  • 对于CPU和IOPS:
    如果CPU利用率或者IOPS长期保持在80%以上或频繁收到报警信息,请考虑通过以下步骤来解决:
    1.尝试SQL优化。CPU利用率过高通常都可以通过这一步解决。
    2.SQL优化无法解决时,可以进行RDS升配
    3.当CPU和IOPS超标时,可以通过设置只读库来分担主库负荷。注意读写分离会影响读一致性。
    4.当以上步骤都无法很好地解决问题时,请考虑PolarDB-X扩容。
  • 对于磁盘空间:
    判断是否扩容主要关注数据空间即可。
    RDS的磁盘空间有以下几种:
    1.数据空间:数据所占用的空间。随着数据的插入,空间占用量会一直增长。磁盘存储容量的余量建议保持在30%以上。
    2.系统文件空间:包括共享表空间、错误日志文件。
    3.Binlog文件空间:这是数据库运行中产生的空间。更新的事务越多,空间占用量越大。

扩容风险及注意事项

PolarDB-X扩容流程分为:配置-迁移-切换-清理四个步骤。
主要要注意要在RDS低负载时操作,扩容期间不能执行DDL,源库表主要有主键,扩容切换过程大约持续3-5分钟,建议在停业务的情况下进行切换。执行切换钱,扩容动作不会对PolarDB-X产生任何影响。因此在切换前都开业i通过回滚来放弃本次扩容。

如何选择应用连接池

PolarDB-X1.0实例中的连接

如何处理DDL异常

如何高效扫描数据

在IN查询中如何选择Values个数

如何玩转HTAP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值