clickhouse中文文档_初实ClickHouse

好久不见,各位看官。步入职场已有4年有余,从大学时期的论文《基于Hadoop的电子商务数据存储架构的设计与研究》,初学Hadoop、Hive、HDFS,到工作后学习Spark,学习各种大数据框架,到如今也算是老菜鸟了。

在广告行业混迹了三年之多,对于DMP、OLAP、BI等也算是有了浅显的了解。接触了很多大佬,也了解了很多牛逼的架构设计。但是别人的永远是别人的,个人要想提升自己,认识了解后必须自己去尝试实践,只有实践后才知道适不适合。所以本篇为初实ClickHouse(初次实践)。


废话不说,进入正题。

介绍

ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。

ClickHouse官方中文文档:https://clickhouse.yandex/docs/zh/

ClickHouse官方英文文档:https://clickhouse.yandex/docs/en/

Performance comparison of analytical DBMS:https://clickhouse.yandex/benchmark.html

OLAP场景的关键特征

  • 大多数是读请求

  • 数据总是以相当大的批(> 1000 rows)进行写入

  • 不修改已添加的数据

  • 每次查询都从数据库中读取大量的行,但是同时又仅需要少量的列

  • 宽表,即每个表包含着大量的列

  • 较少的查询(通常每台服务器每秒数百个查询或更少)

  • 对于简单查询,允许延迟大约50毫秒

  • 列中的数据相对较小:数字和短字符串(例如,每个URL 60个字节)

  • 处理单个查询时需要高吞吐量(每个服务器每秒高达数十亿行)

  • 事务不是必须的

  • 对数据一致性要求低

  • 每一个查询除了一个大表外都很小

  • 查询结果明显小于源数据,换句话说,数据被过滤或聚合后能够被盛放在单台服务器的内存中

列式数据库更适合于OLAP场景(对于大多数查询而言,处理速度至少提高了100倍),下面详细解释了原因(通过图片更有利于直观理解):

  • 行式

e4791de2b9a7bffb5e313c9b2b402421.gif

  • 列式

a03bc0d71c0b5e50a49252430646e4c7.gif

集群部署

安装教程参考:部署运行(https://clickhouse.yandex/docs/en/getting_started/)

数据摄取

目前主要通过 Spark 任务离线导入,22亿条、9个字段,ORC格式400G数据摄入,平均每秒约摄入130万条,对相关查询进行了压力测试,效率比较符合预期,由于涉及真实线上场景,暂不做具体分享。

网上有大神开源相关摄入代码可以参考,但是在实际开发过程中经常会需要多个PARTITION,我做了稍微的改进,已上传本人GitHub(https://github.com/wjf0627/bigdata/tree/master/clickhouse),后期会陆续将更新其他操作,欢迎关注。

后期目标及展望

61677a5bf349904810797b125ae09ae6.png

PS:图的画有点糙,各位看官请见谅。

谢谢您的宝贵时间!下期将浅谈 DMP 及如何通过数据更有效的变现,期待您的关注。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值