目录
1 ClickHouse与Hbase的基础
hadoop 生态圈技术繁多,HDFS主要用于保存底层数据。
Hbase 是一款NoSQL也是Hadoop生态圈的核心组件,其具有海量的存储能力,优秀的随机读写能力。
ClickHouse 是一个用于在线分析处理查询(OLAP)的列式数据库管理系统(DBMS),能够使用SQL语句查询实时生成分析数据报告,它拥有优秀的数据存储能力。
2 ClickHouse与HBase的架构对比
2.1 Hbase架构
2.2 ClickHouse的架构
3 基本操作对比
3.1 HBase
写流程
读流程
3.2 ClickHouse
Clickhouse是个分析型数据库,这种场景下,数据一般是不变的,因此Clickhouse对update、delete的支持是比较弱的,实际上并不支持标准的update、delete操作。
Clickhouse通过alter方式实现更新、删除,它把update、delete操作叫做mutation(突变)。
标准SQL的更新、删除操作是同步的,即客户端要等服务端反回执行结果(通常是int值);而Clickhouse的update、delete是通过异步方式实现的,当执行update语句时,服务端立即反回,但是实际上此时数据还没变,而是排队等着。
4 数据查询操作
- Hbase:不支持标准sql,需要集成Phoenix插件。Hbase自身有Scan操作,但是不建议执行,一般会全量扫描导致集群崩溃。
- Clickhouse:自身有优良的查询性能
5 各维度对比
HBase | ClickHouse | |
数据存储 | Zookeeper保存元数据,将数据写入HDFS中(非结构化的数据) | Zookeeper保存元数据,数据存储在本地,且会压缩 |
查询 | 使用Phoenix协助处理器 | 高效的查询能力 |
数据读写 | 支持随机读写,删除。更新操作是插入一条新的timestamp的数据 | 支持读写,执行删除或者更新操作时比较麻烦,一般不会执行。 |
Hbase更适合非结构化的数据存储,ClickHouse拥有高效的查询能力