ClickHouse全量和增量更新解决方案
ClickHouse不支持事务,这里记录一下ClickHouse数据全量和增量无宕机更新的解决方案。比如说MySQL导入ClickHouse,Hive导入ClickHouse等等。
备注:重点参考ElasticSearch别名索引热更新滚动升级。
ClickHouse表全量更新
例如:xxxx_cppla数据表作全量更新
-
- 创建ClickHouse表,且以NEW作为后缀,例如:xxxx_cppla_NEW
- 完成MySQL全量数据到ClickHouse表xxxx_cppla_NEW的导入
- 将ClickHouse库中xxxx_cppla改名为(OLD作为后缀): xxxx_cppla_OLD
- 将新数据表xxxx_cppla_NEW改名为:xxxx_cppla
- 删除过期的数据表:xxxx_cppla_OLD
ClickHouse表增量更新
例如:xxxx_cppla数据表作增量更新
- 创建增量表且以INCREMENT加NEW作为后缀,例如:xxxx_cppla_INCREMENT_NEW
- 完成MySQL增量数据到ClickHouse表xxxx_cppla_INCREMENT_NEW增量数据的导入。
- 将Clickhouse表xxxx_cppla中的增量之外的已有数据导入到增量表xxxx_cppla_INCREMENT_NEW
- 将ClickHouse库中xxxx_cppla表改名为(OLD作为后缀):xxxx_cppla_OLD
- 将增量表xxxx_cppla_INCREMENT_NEW改名为:xxxx_cppla
- 删除过期的数据表:xxxx_cppla_OLD
ClickHouse全量和增量更新解决方案,by:cpp.la
One Reply to “ClickHouse全量和增量更新解决方案”