ClickHouse 极简教程
ClickHouse 简介
Yandex开源的数据分析的数据库,名字叫做ClickHouse,适合流式或批次入库的时序数据。ClickHouse不应该被用作通用数据库,而是作为超高性能的海量数据快速查询的分布式实时处理平台,在数据汇总查询方面(如GROUP BY),ClickHouse的查询速度非常快。
ClickHouse =
Click
Event Stream + DataWareHouse
ClickHouse is a column-oriented database management system (DBMS) for online analytical processing of queries (OLAP).
OLAP场景特征
· 大多数是读请求
· 数据总是以相当大的批(> 1000 rows)进行写入
· 不修改已添加的数据
· 每次查询都从数据库中读取大量的行,但是同时又仅需要少量的列
· 宽表,即每个表包含着大量的列
· 较少的查询(通常每台服务器每秒数百个查询或更少)
· 对于简单查询,允许延迟大约50毫秒
· 列中的数据相对较小: 数字和短字符串(例如,每个URL 60个字节)
· 处理单个查询时需要高吞吐量(每个服务器每秒高达数十亿行)
· 事务不是必须的
· 对数据一致性要求低
· 每一个查询除了一个大表外都很小
· 查询结果明显小于源数据,换句话说,数据被过滤或聚合后能够被盛放在单台服务器的内存中
官网文档:https://clickhouse.tech/https://clickhouse.tech/docs/en/
Github 地址:https://github.com/ClickHouse/ClickHouse
源码阅读:https://clickhouse.tech/codebrowser/html_report/ClickHouse/src/index.html
安装
https://clickhouse.tech/docs/en/getting-started/install/
快速开始
Creating a Table :
CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
(name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1] [TTL expr1],name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2] [TTL expr2],...INDEX index_name1 expr1 TYPE type1(...) GRANULARITY value1,INDEX index_name2 expr2 TYPE type2(...) GRANULARITY value2
) ENGINE = MergeTree()
ORDER BY expr
[PARTITION BY expr]
[PRIMARY KEY expr]
[SAMPLE BY expr]
[TTL expr[DELETE|TO DISK 'xxx'|TO VOLUME 'xxx' [, ...] ][WHERE conditions][GROUP BY key_expr [SET v1 = aggr_func(v1) [, v2 = aggr_func(v2) ...]] ] ]
[SETTINGS name=value, ...]
系统架构
源码阅读:
| [+] Access/ | |
| [+] AggregateFunctions/ | |
| [+] Bridge/ | |
| [+] Client/ | |
| [+] Columns/ | |
| [+] Common/ | |
| [+] Compression/ | |
| [+] Coordination/ | |
| [+] Core/ | |
| [+] DataStreams/ | |
| [+] DataTypes/ | |
| [+] Databases/ | |
| [+] Dictionaries/ | |
| [+] Disks/ | |
| [+] Formats/ | |
| [+] Functions/ | |
| [+] IO/ | |
| [+] Interpreters/ | |
| [+] Parsers/ | |
| [+] Processors/ | |
| [+] Server/ | |
| [+] Storages/ | |
| [+] TableFunctions/ |
项目开发实战:Spring Boot 集成 ClickHouse:JDBC Driver
https://segmentfault.com/a/1190000020606636
http://www.taodudu.cc/news/show-2955939.html
相关文章:
- Python极简入门教程
- 极简博客
- 极简主义阅读(一)
- 解决AD中PCB芯片引脚之间间距太小
- 芯片引脚外围电容有何作用?
- STM32 芯片引脚的顺序说明
- STM32RCT6芯片引脚的含义与作用
- esp12f ESP8266芯片引脚
- 识别芯片引脚号的方法
- 存储芯片引脚和时序:SRAM(HY6264A系列)
- 芯片驱动能力
- BUCK电源芯片BST引脚100nF电容的作用
- 芯片管脚工作在各个模式的特点和优缺点(持续更新)加上下拉电阻的作用
- 使用Altium Designer10软件绘制芯片引脚图(以IC1114芯片为例)
- 【搬运】电源管理芯片引脚定义
- 智能卡芯片管脚
- 细密引脚芯片的焊接
- 芯片引脚断了,没关系,剥开去盖后飞线还能用......
- 还在纠结芯片引脚需要加多大容值的电容吗?
- altium designer芯片引脚间距规则过小
- ZYNQ-7的芯片引脚
- 芯片管脚配置
- l05173芯片针脚图_芯片引脚定义
- 芯片的引脚该如何看
- 芯片电源类引脚符号标识及其含义
- FPGA引脚简介
- 常见的引脚功能介绍(基于ADSP-SC589芯片)
- vscode中显示莫名其妙的语法错误
- 华为手机安卓手机莫名其妙的闹钟不知道哪里来的
- win10系统D盘出现莫名其妙的占用
ClickHouse 极简教程相关推荐
- ClickHouse SQL 语法极简教程
ClickHouse SQL 语法极简教程 ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS). 在传统的行式数据库系统中,数据按如下顺序存储: Row WatchID ...
- 《Kotlin极简教程》第三章 Kotlin基本数据类型
正式上架:<Kotlin极简教程>Official on shelves: Kotlin Programming minimalist tutorial 京东JD:https://item ...
- 负载分析及问题排查极简教程
作者 | Hollis ,来自 | Hollis 平常的工作中,在衡量服务器的性能时,经常会涉及到几个指标,load.cpu.mem.qps.rt等.每个指标都有其独特的意义,很多时候在线上出现问题时 ...
- 高效sql性能优化极简教程
一,sql性能优化基础方法论 对于功能,我们可能知道必须改进什么:但对于性能问题,有时我们可能无从下手.其实,任何计算机应用系统最终队可以归结为: cpu消耗 内存使用 对磁盘,网络或其他I/O设备的 ...
- session一致性架构设计极简教程
一,缘起 什么是session? 服务器为每个用户创建一个会话,存储用户的相关信息,以便多次请求能够定位到同一个上下文. Web开发中,web-server可以自动为同一个浏览器的访问用户自动创建se ...
- 写一个操作系统有多难?自制 os 极简教程
不知道正在阅读本文的你,是否是因为想自己动手写一个操作系统.我觉得可能每个程序员都有个操作系统梦,或许是想亲自动手写出来一个,或许是想彻底吃透操作系统的知识.不论是为了满足程序员们自带的成就感,还是为 ...
- 《Groovy极简教程》第12章 Groovy的JSON包
<Groovy极简教程>第12章 Groovy的JSON包 Groovy自带了转换JSON的功能,相关类都在groovy.json包下.本文参考自Groovy文档 Parsing and ...
- Kotlin极简教程
目录 Kotlin极简教程 前言 视频教程 Kotlin 系统入门到进阶 Kotlin 从入门到放弃 Kotlin 从零基础到进阶 第1章 Kotlin简介 第2章 快速开始:HelloWorld 第 ...
- Rust 编程语言极简教程 --- 实例学习
Rust 编程语言极简教程 --- 实例学习 安装 $ curl https://sh.rustup.rs -sSf | sh info: downloading installerWelcome t ...
最新文章
- 作业03:格式化输出
- linux 图形界面 X Server 关闭 启动
- linux虚拟网络设备之tun/tap驱动程序设计原理(五)
- jetson nano 实现车牌识别
- linux cp命令使用
- 太难得了!大厂数据分析实战项目资料首次公开!免费,速领!
- cmos全局曝光算法_2019腾讯广告算法大赛方案分享(冠军)
- VMware, Inc.VMware VUE考试中心代码
- 在Visual Studio Code运行单个js文件需要用到插件
- canoco5主成分分析步骤_权重赋值之“主成分分析法”
- java国际化程序_Java 国际化标准程序实现
- 12 道腾讯前端面试真题及答案整理
- Samara SAU ACM ICPC Quarterfinal Qualification Contest 2012
- SOLIDWORKS怎样做填充阵列
- cst matlab,CST-MATLAB-API-1.0.0 Linking matlab and cst - 下载 - 搜珍网
- openstack heat 编排模板(HOT)指南
- Livy:基于Apache Spark的REST服务
- 软考计算机网络知识点,软考网络管理员备考知识点精讲之计算机网络的分类
- 新一代Vue脚手架(create-vue)
- MySQL8报错:授权语句中的(IDENTIFIED BY)报语法错误
热门文章
- 基于目标检测实现遥感场景下的车辆检测计数
- 大数据人工智能ai培训师专家讲师叶梓介绍及ChatGPT提纲
- keras Mask Rcnn代码走读(九)-detect方法介绍
- 照这样下去,“千年虫”还得再来十遍
- js Number计算精确度
- java毕业设计大众点评管理系统Mybatis+系统+数据库+调试部署
- 算法图解(一):算法简介
- 严重: Null component Catalina:type=JspMonitor,name=jsp,WebModule=//localhost
- 【Linux】IRQ
- Android Intents Kotlin 教程