clickhouse不支持自增ID,primary key可以重复。这对于习惯了mysql的人来说,肯定很不爽。如果写入到mysql,mysql同步数据到clickhouse,然后从clickhouse来读,这样就很完美了。
2021年,8月存档
网上找了找备份还原的方法,实践如下
结合官方文档,做了一些实例php,java,go,python
推荐三款工具都是跨平台的,mysql命令行,dbeaver,tabix。
clickhouse的官方文档上面是有create user 和grant授权的,但是命令行下运行都提示无权限。
上一篇文章主要讲了本地表类型MergeTree,本篇主要讲的是ReplicatedMergeTree和Distributed类型。
ReplicatedMergeTree相对于MergeTree存储引擎,多了复制功能,同一shard类的服务器,数据是会同步的。
Distributed并不是真正意义上的表,有点类似于mysql merge存储引擎,也有点类似于视图。
分布表的创建有好多种,本篇以ReplicatedMergeTree+Distributed+zookeeper的方式来实现
clickhouse的存储引擎很多,主要用到的有以下三种
MergeTree,是CK里最Advanced的引擎,性能超高,本地表
ReplicatedMergeTree,基于MergeTree,同时引入ZK,做了复制,分布式表
Distributed,分布式引擎,本身不存储数据,相当于mysql的merge引擎,如果写入,会把请求丢到集群里的节点,如果查询,会帮你做查询转发再聚合返回
随着数据量的不断增加,又不想增加开发成本,我们选择了tidb数据库,在olap和oltp方面表现都非常的抢眼。为了数据分层,更加方便的提供数据,还需要一个在olap方面有优秀表现的数据存储工具,es我们也在用,不过不能跨索引查询,这会导致单索引会越来越大,不好维护。而clickhouse在olap方面表现优异,并且支持联合查询。