Java如何实现备份Clickhouse里的数据

一个功能,用户可以在平台上导出数据库的备份(可以选择时间范围,这个时间是分区),数据库是clickhouse,数据量可能在百G,看了官方文档里的俩方案
1:直接导出csv文件,但耗时久..
2:用freeze备份到服务器上,但异步备份不知道结束时间,而且还先占用了服务器的空间,然后把服务器的文件下载到本地..
请问还有别的方案吗,或者这两种有什么补救措施,谢谢~

数据量在百G程度,不管你怎么操作都有点技术难度。

但我可以提供另外一个思路。

1、你根据时间范围,再次划分更小细粒度;
2、根据细粒度,下载到用户本地;

我觉得如果条件允许的话新加台服务器专门做备份导出的功能,每次备份任务启动时先把要导出的数据逐步导入到备份服务器上,然后在导入过程中分段导出多个csv,这样大概能知道个确切完成时间,而且不占用现有服务器资源,甚至可以给用户选择下载某个或者某几个分段的备份数据,至于怎么分段看需求吧。(个人猜想,如有其他想法欢迎讨论)