Clickhouse是一个支持多引擎数据库
引擎对性能影响非常大
1.MergeTree是一系列
支持主键存储的存储引擎,数据排列是根据主键顺序进行排列
2.Merge Tree所有的数据结构存贮在文件column.bin中(有点像mysql的Innodb)
3.主键索引不会存储具体的值,而是存储数据范围,它会存贮数据范围指针.主键只能有一个
4.它适合批量插入数据,不适合连续单条插入操作.这引擎插入速度非常慢.
5.不支持事务
6.对于严谨的业务,你应该用此类数据引擎
7.支持时间索引
8.它是clickhouse最常用的基础引擎
支持AggregateFunction 数据类型的MergTree数据库引擎.例如:
|
|
具有数据自动叠加覆盖功能的MergeTree.
应用场景:一些增量日志.
例如用户登录数据,你既想保存用户历史的登录信息,又想保存用户目前的信息,传统做法是一直累加日志,会导致大量冗余数据,例如用户帐号,而你可能只想累计记录用户登录的IP信息或者历史密码,那么这种场合适合使用它
这个引擎当主键冲突时候,会根据定义表时候的”verson”(一个时间类型的列)的大小对旧的进行删除.(有点像mysql的replace into)
PS:删除低版本数据过程不是实时的,它会在后台慢慢异步完成,因此你不要依赖它来保证数据唯一性
跟 Merge Tree 没有半毛钱关系
它不存放数据,只能读不能写
它只是用来自动合并之前拆了表的数据方便操作而已.(跟mysql的merge一个概念)
待续…