围绕Hadoop的大数据生态圈,组件繁多,各自负责解决相应的大数据处理需求,Hadoop底层以HDFS来完成数据存储任务,而数据的读写管理,还需要匹配到相应的组件去支持。今天的大数据开发学习分享,我们来对Hbase、Kudu和ClickHouse做个简单的对比。
Hbase作为一款Nosql也是Hadoop生态圈的核心组件,它海量的存储能力,优秀的随机读写能力,能够处理一些HDFS不足的地方。
Clickhouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS),能够使用SQL查询实时生成分析数据报告,它同样拥有优秀的数据存储能力。
Apache Kudu是Cloudera Manager公司16年发布的新型分布式存储系统,结合CDH和Impala使用可以同时解决随机读写和sql化数据分析的问题,分别弥补HDFS静态存储和Hbase Nosql的不足。
1、安装部署方式对比
具体的安装步骤不过多赘述,这里只简要比较安装过程中需要依赖的外部组件。
Habse安装
依赖HDFS作为底层存储插件依赖Zookeeper作为元数据存储插件
Kudu安装
依赖Impala作为辅助分析插件依赖CDH集群作为管理插件,但是不是必选的,也可以单独安装
Clickhouse安装
依赖Zookeeper作为元数据存储插件和Log Service以及表的catalog service
2、组成架构对比
Hbase架构
Kudu架构
Clickhouse架构
综上所示,Hbase和Kudu都是类似于Master-slave的架构而Clickhouse不存在Master结构,Clickhouse的每台Server的地位都是等价的,是multi-master模式。不过Hbase和Clickhouse额外增加了一个Zookeeper作为辅助的元数据存储或者是log server等,而Kudu的元数据是Master管理的,为了避免server频繁从Master读取元数据,server会从Master获取一份元数据到本地,但是会有元数据丢失的风险。
3、基本操作对比
数据读写操作
Clickhouse是个分析型数据库。这种场景下,数据一般是不变的,因此Clickhouse对update、delete的支持是比较弱的,实际上并不支持标准的update、delete操作。
Clickhouse通过alter方式实现更新、删除,它把update、delete操作叫做mutation(突变)。
标准SQL的更新、删除操作是同步的,即客户端要等服务端反回执行结果(通常是int值);而Clickhouse的update、delete是通过异步方式实现的,当执行update语句时,服务端立即反回,但是实际上此时数据还没变,而是排队等着。
Mutation具体过程
首先,使用where条件找到需要修改的分区;然后,重建每个分区,用新的分区替换旧的,分区一旦被替换,就不可回退;对于每个分区,可以认为是原子性的;但对于整个mutation,如果涉及多个分区,则不是原子性的。
-
更新功能不支持更新有关主键或分区键的列
-
更新操作没有原子性,即在更新过程中select结果很可能是一部分变了,一部分没变,从上边的具体过程就可以知道
-
更新是按提交的顺序执行的
-
更新一旦提交,不能撤销,即使重启Clickhouse服务,也会继续按照system.mutations的顺序继续执行
-
已完成更新的条目不会立即删除,保留条目的数量由finished_mutations_to_keep存储引擎参数确定。超过数据量时旧的条目会被删除
-
更新可能会卡住,比如update intvalue='abc’这种类型错误的更新语句执行不过去,那么会一直卡在这里,此时,可以使用KILL MUTATION来取消
综上所示,Hbase随机读写,但是Hbase的update操作不是真的update,它的实际操作是insert一条新的数据,打上不同的timestamp,而老的数据会在有效期之后自动删除。而Clickhouse干脆就不支持update和delete。
数据查询操作
不支持标准sql,需要集成Phoenix插件。Hbase自身有Scan操作,但是不建议执行,一般会全量扫描导致集群崩溃
与Impala集成实现查询
自身有优良的查询性能
关于大数据开发学习,Hbase、Kudu和ClickHouse三个组件,以上就为大家做了简单的对比了。Hadoop生态圈的各个组件,其实更多还是要结合到具体应用场景去做技术选型,部分场景下,还需要考虑配合使用等等。
与传统的关系型数据库 (RDBMS) 相比,
ClickHouse
采用了列式存储方式,能够更有效地压缩数据,提高查询效率。此外,
ClickHouse
支持多核并行处理和多服务器分布式处理,能够快速完成复杂的查询任务。但是,
ClickHouse
没有完整的事务支持,不适用于需要事务性保证的应用场景。
与其他类型的列式数据库相比,
ClickHouse
也有一些独特的优点。它支持数据复制和数据完整性,能够在多个节点之间复制数据,确保数据的完整性和一致性。此外,
ClickHouse
语法上接近 ANSI SQL
关注OLAP领域1年多了,目前还是处于混战阶段,各类工具、技术层出不穷。之前做过
clickhouse
、tidb、palo的测试,从九个角度对比了这三款经典的OLAP工具:
sql查询性能
社区活跃度
SQL 功能对比
一一说来,TiDB具有很多优势...
关于
clickHouse
数据库,它也是一种关系型数据库。但是区别于传统关系型数据库mysql以及Oracle。其中最大的区别就是传统的关系型数据库是行式存储,而
clickHouse
是列式存储。请记住这个列式存储方式。这种结构存储方式,具备了一种天然的优势,就是做统计分析,聚类分析。
本身数据库没有绝对的优劣之分。关于
clickHouse
和mysql的对比,但空间唯独上可以抽象为行(横轴)列(纵轴)。作为数据库的使用者,我们要尽可能的了解它们各自的优势,然后物尽其用,解决我们遇到的场景问题。...
文章目录测试环境配置方法底层实现零拷贝总结
导读:看官方文档说
clickhouse
现在支持HDFS和AWS S3作为数据存储的仓库,如果是这样的话,那就意味着基于
clickhouse
也可以实现"存储与计算分离"的架构设计了,那自然对于整个系统的可靠性和可扩展性是有极大帮助的。本文尝试着对这一新功能一探究竟~~
clickhouse
版本:21.8, 我们的环境之前有一个20.6的版本,尝试后发现并不支持,于是装了一个较新的版本。
云存储:HDFS。我们自己的很多产品都是基于
Hadoop
生态来
背景用户画像,即用户信息标签化,是
大数据
精细化运营和精准营销服务的基础。设计从基础设施建设到应用层面,主要有数据平台搭建及运维管理、数据仓库开发、上层应用的统计分析、报表生成及可视化、用户...
一、背景介绍Apache Doris是由百度贡献的开源MPP分析型数据库产品,亚秒级查询响应时间,支持实时数据分析;分布式架构简洁,易于运维,可以支持10PB以上的超
大数据
集;可以满足多种数据分析需求,例如固定历史报表,实时数据分析,交互式数据分析和探索式数据分析等。
ClickHouse
是俄罗斯的搜索公司Yandex开源的MPP架构的分析引擎,号称比事务数据库快100-1000倍,团队有计算机体系结构的大牛,最大的特色是高性能的向量化执行引擎,而且功能丰富、可靠性高。京东当前都在大范围使用这两种分析引擎,.
点击上方“朱小厮的博客”,选择“设为星标”后台回复"书",获取个gui来源:jackywoo.cn导读:Kylin、Druid、
ClickHouse
是目前主流的OLAP引...