clickhouse简明知识点记录

142 阅读1分钟
  • 数据保存分为库、表、分区三个层级
  • 数据存储在/var/lib/clickhouse/库/表/分区目录下,每列存储在一个文件里,不同的分区的数据一定不在一个文件中,相同分区的数据可能在不同文件中。分区文件夹下有很多文件,有索引文件、数据文件、列信息文件等等。
  • 建表时必须要指定排序键,而主键、分区等则不是必须要指定的,这一点与mysql有所不同。
  • 数据写入数据库后,一段时间后后台会自动把相同分区的数据合并在一起,也可以手动optimize table来合并数据。
  • 查询时使用了多线程,因此默认情况下数据返回的顺序是不固定的,如果加上order by则可以保证有序。
  • clickhouse有非常多的引擎,最核心的是MergeTree。在数据量较小时可以使用TinyLog、Log、StripeLog等引擎。
  • MergeTree与数据存储、查找的原理:www.cnblogs.com/traditional…