adb就是先删除再插入?高频,这个词能不能量化出来。单核多少UPDATE QPS才算高频?我用flink执行的,确实会不断update 宽表的某些字段。
adb就是先删除再插入?高频,这个词能不能量化出来。单核多少UPDATE QPS才算高频?我用fli[阿里云云原生数据仓库]
「点点赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
adb就是先删除再插入?高频,这个词能不能量化出来。单核多少UPDATE QPS才算高频?我用flink执行的,确实会不断update 宽表的某些字段。
这个无法量化,高频率的update会导致集群负载过高,批量更新建议使用 REPLACE INTO,根据主键判断,如果数据存在,先删除后插入。参考文档:https://help.aliyun.com/document_detail/123585.htm?spm=a2c4g.128660.0.0.37a963b4TleOzN#concept-2138844,此回答整理自钉群“云数据仓库ADB-开发者群”
ADB 本质上是一个关系型数据库,它采用了行存储引擎。对于 UPDATE 操作,ADB 的实现方式是先在表中物理删除旧记录,再插入新记录(如果新记录与旧记录分布在同一个 block 中,则会覆盖旧记录)。
至于“高频”这个词,它并没有一个清晰的量化标准。不同的场景和系统有不同的定义。通常情况下,高频可以理解为每秒更新次数很大,比如每秒更新数百、数千次。
单核的 UPDATE QPS 取决于多个因素,比如硬件配置、SQL 语句复杂度、索引建立情况等等。通常情况下,如果单核 UPDATE QPS 能够达到数百或数千次,则可以认为是高频。ADB 的性能会受到多个因素的影响,比如网卡带宽、CPU 和内存负载、磁盘 IO 等。
对于你的情况,如果你的 UPDATE 操作确实很频繁且对性能有一定要求,建议对表的结构和索引设计合理,以及对 SQL 语句进行优化。