1、介绍

开源的列式存储数据库(DBMS),由C++编写,用于在线分析处理查询(OLAP)

可以通过SQL查询实时生成分析数据报告

解释:

DBMS:数据库管理系统

常见的列式存储数据库:Hbase、ClickHouse、Druid

OLAP:On-Line Analytical Processing,联机分析处理,做数据统计和分析的平台

OLTP:On-Line Transaction Processing,联机事务处理,业务数据处理的平台

2、特点

列式存储适用于聚合统计操作、便于压缩和缓存

兼容SQL语法和DBMS的功能

可以根据需求选择多种引擎

顺序写+压缩,保证了高吞吐写入能力

划多个分区及索引粒度,可以实现并行处理,可以充分利用CPU,但不适用于多条查询

3、常见的数据类型

整形:(U)Int8-64

浮点型:Float32-64,存在误差,适用于精度要求不高场景

×布尔型:无专门类型,常用UInt8表示,取值0/1

Decimal类型(可保持精度的有符号浮点类型):Decimal32(s)-128

字符串类型:任意长/定长字符串FixString(N)

枚举类型:Enum8/16,例如x Enum8('hello' = 1, 'world' = 2),插入是VALUES(‘hello’),(‘world’),或转换整形查询CAST(x,’Int8’)

时间类型:Date、Datetime、Datetime64

数组类型:array(1, 2) AS x或[1, 2] AS x

4、常见的表引擎

表引擎介绍:显式声明、决定存储方式和位置、并发索引多线程

TinyLog:保存到磁盘,无索引和并发控制,仅用于测试少量数据

Memory:存至内存,无索引,查询性能高,小数据量

MergeTree-合并树:可设置分区(不同文件、写入合并)、主键(非唯一约束,默认间隔8192)和排序字段(前缀字段必须为主键)、可设置表级别和列级别TTL生命周期

ReplacingMergeTree:去重合并树,避免了无唯一约束,重复数据保留版本字段大(参数, 常为时间)

SummingMergeTree:适用于根据维度进行汇总聚合,参数传递汇总列

5、常见操作

(1)插入

(2)更新/删除:
重操作,会改变分区(建议做批量变更)

语法:alter table t_order_smt delete/update

执行:先为新数据新建分区,把旧分区打失效标记,通过分区合并的触发,删除旧数据
(3)查询

支持子查询、CTE(Common Table Expression 公用表表达式/临时结果集,例如with a as xxx)、join、group by的各种小计操作:

with rollup:自右至左去掉维度小计

with cube:先自右至左,再自左至右进行小计

with totals: 计算合计

(4)修改字段操作

增删改字段

alter table tableName add / modify / drop column

(5)数据导出操作

clickhouse-client --query "select * from t_order_mt where create_time='2020-06-01 12:00:00'" --format CSVWithNames > /opt/module/data/rs1.csv1

6、副本-高可用性

写入流程:写入数据后将写入日志提交到zk,副本收到zk的写入日志后从主节点下载新数据

配置步骤:同步xml配置文件,分别建表,引擎采用ReplicatedMergeTree

参数传递:engine =ReplicatedMergeTree('/clickhouse0225/table/01/t_order_rep','rep_102')

7、分片集群

(1)解决问题:横向扩容、水平切分

(2)操作:不同分片在不同节点,使用Distributed 表引擎实现数据拼接

(3)读取流程:选择error count小的副本进行数据的读取

【大数据面试】ClickHouse:介绍、特点、数据类型、引擎、操作、副本、分片的更多相关文章

  1. 面试系列二:精选大数据面试真题JVM专项-附答案详细解析

    公众号(五分钟学大数据)已推出大数据面试系列文章-五分钟小面试,此系列文章将会深入研究各大厂笔面试真题,并根据笔面试题扩展相关的知识点,助力大家都能够成功入职大厂! 大数据笔面试系列文章分为两种类型: ...

  2. 大数据系列2:Hdfs的读写操作

    在前文大数据系列1:一文初识Hdfs中,我们对Hdfs有了简单的认识. 在本文中,我们将会简单的介绍一下Hdfs文件的读写流程,为后续追踪读写流程的源码做准备. Hdfs 架构 首先来个Hdfs的架构 ...

  3. 【大数据】Clickhouse基础知识

    第1章 ClickHouse概述 1.1 什么是ClickHouse ClickHouse 是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),主要用于在线分析处理查询(OLAP),能 ...

  4. 微博大数据即席查询(OLAP)引擎实践

    前言 适用于 即席查询 场景的开源查询引擎有很多,如:Elasticsearch.Druid.Presto.ClickHouse等:每种系统各有利弊,有的擅长检索,有的擅长统计:实践证明,All In ...

  5. 大数据开发 | MapReduce介绍

    1.  MapReduce 介绍 1.1MapReduce的作用 假设有一个计算文件中单词个数的需求,文件比较多也比较大,在单击运行的时候机器的内存受限,磁盘受限,运算能力受限,而一旦将单机版程序扩展 ...

  6. [java大数据面试] 2018年4月百度面试经过+三面算法题:给定一个数组,求和为定值的所有组合.

    给定一个数组,求和为定值的所有组合, 这道算法题在leetcode应该算是中等偏下难度, 对三到五年工作经验主要做业务开发的同学来说, 一般较难的也就是这种程度了. 简述经过: 不算hr面,总计四面, ...

  7. Hadoop大数据面试--Hadoop篇

    本篇大部分内容參考网上,当中性能部分參考:http://blog.cloudera.com/blog/2009/12/7-tips-for-improving-mapreduce-performanc ...

  8. 大数据面试(HR电话了解)

    1什么是HA集群? 所谓HA,即高可用(7*24小时不中断服务) HA集群是hadoop高可用集群,即有两个namenode,一个active,一个stanby,active的name挂掉之后,sta ...

  9. 大数据技术之_11_HBase学习_02_HBase API 操作 + HBase 与 Hive 集成 + HBase 优化

    第6章 HBase API 操作6.1 环境准备6.2 HBase API6.2.1 判断表是否存在6.2.2 抽取获取 Configuration.Connection.Admin 对象的方法以及关 ...

  10. 大数据入门到精通11-spark dataframe 基础操作

    // dataframe is the topic 一.获得基础数据.先通过rdd的方式获得数据 val ny= sc.textFile("data/new_york/")val ...

随机推荐

  1. 使用nginx-ingress-controller配置https,但是再同时配置使用http

    默认情况下,如果为该 Ingress 启用了 TLS,控制器会使用 308 永久重定向响应将 HTTP 客户端重定向到 HTTPS 端口 443.( Ingress 里配置了 https 证书的话,默 ...

  2. Security:如何安装 Elastic SIEM 和 EDR

    转载自:https://elasticstack.blog.csdn.net/article/details/114023944 需要学习的地方:生成SSL证书 图片结合最下方的代码文字使用 last ...

  3. Pod的dns记录怎么组成的

    Pod的dns记录怎么组成的 <Pod Name>.<service name>.<namespace name>.svc.cluster.local Pod的Na ...

  4. (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通

    一.注意要点 1:输入字符串的的编码双方保持统一,如:UTF8: 2:HASH计算输出结果 byte[] 数组转String 时,编码要统一,如:转16进制小写字符串.当然也可以转Base64. 3: ...

  5. 【可视化大屏教程】用Python开发智慧城市数据分析大屏!

    目录 一.开发背景 二.讲解代码 2.1 大标题+背景图 2.2 各区县交通事故统计图-系列柱形图 2.3 图书馆建设率-水球图 2.4 当年城市空气质量aqi指数-面积图 2.5 近7年人均生产总值 ...

  6. TCP和UDP有啥区别?

    TCP全称: Transmission Control Protocol中文名: 传输控制协议解释: 是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义.用途:TCP ...

  7. 工厂里懂得mes和erp有发展吗?

    在工厂里懂得MES.ERP肯定有发展啊,现在数字化转型.智能制造正当时,ERP.MES之类的系统是刚需,只是不同工厂启动的早晚有别,使用的系统不相同而已,但知识体系.逻辑.理念等大都是相通的.比如你熟 ...

  8. Apache Dolphin Scheduler 3.0.1 发布,对核心及UI相关进行优化

    点亮 ️ Star · 照亮开源之路 GitHub:https://github.com/apache/dolphinscheduler ​ 版本发布 感谢本次的 Release Manager -- ...

  9. 齐博x1商业模块仅限一个国际域名使用

    应用市场的所有商业模块 仅授权一个国际域名,大家不要试图复制到其它国际域名下使用. 仅支持一个国际域名使用,二级域名不限,但前提需要先用 www.开头的国际域名先安装,然后再到二级域名安装,并且二级域 ...

  10. sql语法巧用之not取反

    数据库的重要性和通用性都不用说了,什么sql的通用性,sql优化之类的也不必说了,咱们今天来聊聊另一个有意思的话题:如何取一个筛选的反面案例. 1. 举几个正反案例的例子 为了让大家理解我们的假设场景 ...