绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
青年节献礼:AliSQL青年节版本Release 增动态加字段和Thread Pool
2022-02-25 15:59:38

摘要: AliSQL 5.4版本Release: 动态加字段和Thread Pool; 加字段作为业务需求变更中常见的需求,InnoDB引擎表的加字段功能一直以来被运维人员所诟病, 虽然支持了online方式,但随着表空间越来越大,copy整张表的代价也越来越大。


动态加字段和Thread Pool

Abstract

加字段作为业务需求变更中常见的需求,InnoDB引擎表的加字段功能一直以来被运维人员所诟病,虽然支持了online方式,但随着表空间越来越大,copy整张表的代价也越来越大。

AliSQL版本在InnoDB的compact记录格式的基础上,设计了新的记录格式comfort,支持动态加字段。

MySQL默认的one-thread-per-connection的线程模型,在面对大并发的连接请求的时候,变成了性能杀手,随着线程的增多,吞吐能力会急剧下降。AliSQL 引入了MariaDB版本的Thread Pool线程模型,以应对大并发连接请求的时候,保证持续稳定的性能。


一、Add Column Dynamically

Description

AliSQL设计了一种新的记录格式,命名为comfort,其格式从compact演化而来,格式如下:

[lens | n_nulls | n_fields | extra_bytes | id...]

其中:

  1. extra_bytes中info_bits占用一个bit来标识comfort记录

  2. n_fields占用1或者2个bytes来标识当前记录的column数量

相对于compact格式增加了空间的使用,但对于当前磁盘来讲,基本可以忽略不计。

注意:动态加的字段需要添加在表结构的后,可为空,并且没有设置默认值的column。

Syntax

对比compact和comfort记录格式的加字段效果:

COMPACT:

COMFORT:

二、Thread Pool

Description

Thread Pool模型,使用限定的有限的CPU(x86)调度单元线程来服务client端的请求,在面对大量的client连接请求的时候,维持MySQL server的吞吐量持续稳定。AliSQL 从 MariaDB port此功能,这里做下高并发情况下性能稳定性测试供参考:

1、Sysbench UPDATE场景Thread Pool和one-thread-per-connection的对比测试:


2、Sysbench OLTP场景Thread Pool和one-thread-per-connection的对比测试:

-END-

分享好友

分享这个小栈给你的朋友们,一起进步吧。

AliSQL
创建时间:2022-02-25 15:29:22
AliSQL
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • gaokeke123
    专家
戳我,来吐槽~