MAPREDUCE服务 MRS-ClickHouse数据查询:数据修改
数据修改
- 建议慎用delete、update的mutation操作
标准SQL的更新、删除操作是同步的,即客户端要等服务端反回执行结果(通常是int值);而ClickHouse的update、delete是通过异步方式实现的,当执行update语句时,服务端立即返回执行成功还是失败结果,但是实际上此时数据还没有修改完成,而是在后台排队等着进行真正的修改,可能会出现操作覆盖的情况,也无法保证操作的原子性。
- 业务场景要求有update、delete等操作,建议使用ReplacingMergeTree、CollapsingMergeTree、VersionedCollapsingMergeTree引擎,使用方式参见:https://clickhouse.tech/docs/zh/engines/table-engines/mergetree-family/collapsingmergetree/。
- 建议少或不增删数据列
业务提前规划列个数,如果将来有更多列要使用,可以规划预留多列,避免在生产系统跑业务过程中进行大量的alter table modify列操作,导致不可以预知的性能、数据一致性问题。
- 对于批量数据清理,建议根据分区来操作:
- 禁止修改索引列
对索引列的修改会导致现有索引失效,触发重建索引,期间查询数据不准确。
如果业务场景必须修改索引列,推荐用ReplacingMergeTree引擎建表,使用数据写入+去重引擎代替数据更新场景:https://clickhouse.tech/docs/zh/engines/table-engines/mergetree-family/collapsingmergetree/。
- GaussDB查询数据表_GaussDB查看数据库连接数_高斯数据库查询数据表-华为云
- GaussDB查询库表_GaussDB查询数据库表_高斯数据库查询库表-华为云
- mysql数据库怎么下载_mysql查询全部数据_免费数据库mysql
- GaussDB查询表结构_通配符字段查询表_高斯数据库查询表结构-华为云
- 免费的MySQL云数据库_数据库管理系统有哪些_MySQL查询表
- 数据安全-数据加密-数据库加密
- GaussDB版本查询_华为云GaussDB的作用_高斯数据库版本查询_华为云
- MapReduce服务_什么是MapReduce服务_什么是HBase
- MapReduce服务_什么是Hue_如何使用Hue
- 数据缓存_数据高并发_数据高可用-华为云