内容提要
PlanetScale Metal现已普遍可用,Query Insights数据库成功迁移至Metal。通过批量读取Kafka消息并优化写入,数据库实现了每秒约10,000次更新/插入,显著降低了延迟,提升了性能,Kafka消费者的平均积压减少,未来可处理更多消息。
关键要点
-
PlanetScale Metal现已普遍可用,Query Insights数据库成功迁移至Metal。
-
Query Insights的数据收集流程包括从Vitess层收集查询模式遥测、发布数据到Kafka、从Kafka消费数据并写入多个MySQL表。
-
Query Insights管道的主要可扩展性问题是确保能够快速处理和写入数据,以跟上输入量。
-
通过批量读取Kafka消息、在内存中合并数据以避免不必要的写入,并将写入任务交给每个Kafka消费者的线程池,数据库实现了每秒约10,000次更新/插入。
-
Query Insights数据库有8个分片,升级前需要为MySQL的EBS卷提供更多的IOPS以应对遥测量。
-
选择最繁忙的一个MySQL分片进行首次升级,升级后延迟显著降低,查询速度提高。
-
在升级后,所有分片的性能几乎一致改善,未对应用程序、架构或分片配置进行任何更改。
-
升级到PlanetScale Metal后,Kafka消费者的平均积压减少,未来可处理更多消息。
延伸问答
Query Insights数据库迁移到Metal后有什么性能提升?
迁移后,Query Insights数据库的延迟显著降低,查询速度提高,所有分片的性能几乎一致改善。
如何收集Query Insights的数据?
数据通过从Vitess层收集查询模式遥测,发布到Kafka,然后从Kafka消费并写入多个MySQL表来收集。
Query Insights数据库的主要可扩展性问题是什么?
主要可扩展性问题是确保能够快速处理和写入数据,以跟上输入量。
升级到PlanetScale Metal后Kafka消费者的表现如何?
升级后,Kafka消费者的平均积压减少,未来可处理更多消息。
在升级过程中选择了哪个MySQL分片进行首次升级?
选择了最繁忙的一个MySQL分片进行首次升级。
Query Insights数据库的写入性能如何?
数据库实现了每秒约10,000次更新/插入,显示出非常写重的特性。