hbase、hive、clickhouse对比

概念

架构

  • hbase

    • master存储元数据、regionServer实际控制表数据,存储单位是Region,底层数据存储使用HDFS
  • hive

    • 通过driver将sql分解成mapreduce任务
    • 元数据需要单独存储到一个关系型数据库,一般是mysql
    • 实际数据存储可以是外表,也可以是内表
  • clickhouse

    • 单体架构分层类似mysql,集群状态下是多主,通过zookeeper通信
    • 数据存储看引擎,最重要的引擎是mergeTree家族
    • 部分引擎是不会存储数据的,比如kafka引擎。还有部分引擎其实是计算引擎,只会存储计算结果,不会保留原始数据,是适合作为物化表的引擎,比如aggregateMergeTree

数据库类型

  • hbase

    • 本质是一款列数据库,oltp类型
    • 依赖hadoop生态
  • hive

    • 本质是将sql转化成mapreduce作业,依赖于hadoop的计算能力。存储可以是hdfs,也可以是hbase等其他构建在hdfs上的数据库
    • 依赖hadoop生态
  • clickhouse

    • 不依赖hadoop生态
    • 理念是一切都是表
    • 本质是一个olap系统的列式数据库,主要做即时查询

特性

join

  • hbase

    • 没有join、group等复杂能力
  • hive

    • 尽量不要做join操作,因为没有唯一键
    • join时适合左小右大,因为hive是缓存前面的所有表,然后扫描最右边一张表。
  • clickhouse

    • join时适合左大右小,因为ch会把右边的表加载到内存中。
  • mysql

    • 原则上不需要我们自己考虑左右表的摆放,mysql自己会计算。
    • 命中索引时适合左小右大,因为无论左右怎么放,此时的查询次数都是一样的。左小右大可以减少右边表的连接次数。
    • 未命中索引时,适合左大右小,因为此时mysql会把右边的表加载到内存中

事务和锁

  • hbase

    • 只支持单行事务
  • hive

    • 不支持事务
    • 只能锁表,不支持行级锁
  • clickhouse

    • 不支持事务
    • </
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值