零影响与极光3创建索引在2021年最后一个季度,AWS极光发布版本3。这个新版本将极光最新MySQL 8版本,移植的许多优点MySQL 8有超过以前的版本。

虽然这带来很多新的极光有趣的特性,我们这里要讲的是如何ddl的行为当使用在线的选择。快速与发生在MySQL 8与集团标准和复制。

测试

所有测试都是运行在一个极光r6g实例。大二次可用性区域。测试是由:

四个连接

    • # 1执行DDL
    • # 2执行插入数据表中我改变
    • # 3在一个不同的表执行插入数据
    • # 4检查其他节点操作

在极光实例,sysbench模式创建表和五百万行,只是为了得到一些流量。而测试表5毫升行是:

执行命令:

操作:
1)开始插入连接
2)启动命令连接4 - 5在其他节点上
3)执行:DC1-1 ((电子邮件保护))[windmills_large] > ALTER TABLE windmills_test添加索引idx_1 (uuid,活跃的),算法=原地,锁=没有;

,我想捕获操作影响的共同行动,创建索引。我期望的期望是在操作时没有影响宣布“在线”,比如创建一个索引,以及节点之间的数据的一致性。

让我们看看发生了什么…

结果

在运行同一个表的插入,执行改变:

不停止运行在同一个表或任何其他表在极光实例。

我们只能确定一个最低性能影响:

二级节点不受影响,这是因为极光在存储管理数据复制。没有所谓的应用从Relaylog,正如我们在标准MySQL异步或数据复制和复制。

结果是在极光3中,我们可以零影响指数(或任何其他在线/即时)操作,这个我包括数据复制其他实例的高可用性。

如果我们比较这组复制(见博客):

然而,请记住,MySQL和组复制仍然需要应用辅助上的数据。这意味着,如果你的改变在10小时建立索引,二级节点将偏差来源大约10个小时。

极光3或雷竞技下载官网Percona XtraDB集群(PXC)变化时将源已完成操作。

PXC呢?嗯,我们有不同的场景:

我们将有一个更高的影响而做Alter操作,但是数据将在所有节点同时集群中保持高度的一致性。

结论

极光并非对所有的使用,而不是为所有预算。然而,有一些非常好的方面就像我们刚刚见过。标准MySQL和极光的区别不在于控股/锁定的时间(即操作影响)但在HA方面。如果我有我的数据/结构在所有二级同时作为源,我会感觉更舒服不必等待额外的时间。

这就是为什么PXC在这种情况下是一个更好的选择,如果你能负担得起的锁定时间。如果不是,极光3是你的解决方案,只是做你的数学实例资源和保守。

订阅
通知的
客人

2评论
最古老的
最新的 大多数投票
内联反馈
查看所有评论
旧金山米格尔Biete巴农

你能解释PXC时报吗?这些120和25秒是什么?他们与时间完成创建索引在本地节点/集群?