Clickhouse是一个用于联机分析的列式数据库管理系统,主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。
Clickhouse是一个完全的列式数据库管理系统,允许在运行时创建表和数据库,加载数据和运行查询,而无需重新配置和重新启动服务器,支持线性扩展,简单方便,高可靠性。
优点:
灵活的MPP架构,支持线性扩展,简单方便,高可用性。
多服务器分布式处理数据,完备的DBMS系统。
底层数据列式存储,支持压缩,优化数据存储,优化索引数据。
性能好;比Hive快倍,比MySQL快倍,其可处理的数据级别已达到10亿级别。
功能多,支持数据统计分析各种场景,支持类SQL查询,异地赋值部署。
缺点不支持事务,不支持真正的删除/更新。
不支持高并发,官方建议qps为,可以通过修改配置文件增加连接数。
不支持二级索引。
不擅长多表json。
元数据管理需要人为干预。
尽量做0以上批量的写入,避免逐行insert或小批量的insert,update,delete操作。
应用场景绝大多数请求都是用于读访问的,要求实时返回结果。
数据需要以大批次(大于0行)进行更新,而不是单行更新;或者根本没有更新操作。
数据只是添加到数据库,没有必要修改。
读取数据时,会从数据库中提取出大量的行,但只用到一小部分列。
表很“宽”,即表中包含大量的列。
查询频率相对较低。
对于简单查询,允许大约50毫秒的延迟。
在处理单个查询时需要高吞吐量。
列的值是比较小的数值和短字符串。
不需要事务。
数据一致性要求较低。
每次查询中只会查询一个大表。除了一个大表,其余都是小表。
查询结果显著小于数据源。即数据有过滤或聚合。返回结果不超过单个服务器内存大小。