Clickhouse第一讲-CK概述
常用的数据架构
OLAP场景
绝大多数是读请求。
数据以相当大的批次(> 1000 行)更新,而不是单行更新;或者根本没有更新。
已添加到数据库的数据不能修改。
对于读取,从数据库中提取相当多的行,但只提取列的一小部分。
宽表,即每个表包含着大量的列。
查询相对较少(通常每台服务器每秒查询数百次或更少)。
对于简单查询,允许延迟大约 50 毫秒。
列中的数据相对较小:数字和短字符串(例如,每个 URL 60 个字节)。 处理单个查询时需要高吞吐量(每台服务器每秒可达数十亿行)。
事务不是必须的。
对数据一致性要求低。有副本情况下,写入一个即可,后台自动同步。
每个查询有一个大表。除了他以外,其他的都很小。
查询结果明显小于源数据。换句话说,数据经过过滤或聚合,因此结果适合于单个服务器的 RAM 中
行存储与列存储
行存储在数据写入和修改上的优势
行存储的写入是一次完成的,如果这种写入建立在操作系统的文件系统上,可以保证写 入过程的成功或者失败,可以保证数据的完整性。列式存储需要把一行记录拆分成单列保存, 写入次数明显比行存储多(因为磁头调度次数多,而磁头调度是需要时间的,一般在 1ms~10ms),再加上磁头需要在盘片上移动和定位花费的时间,实际消耗更大。 数据修改实际上也是一次写入过程,不同的是,数据修改是对磁盘上的记录做删除标记。 行存储是在指定位置写入一次,列存储是将磁盘定位到多个列上分别写入,这个过程仍是行 存储的列数倍。 所以,行式存储在数据写入和修改上具有很大优势。
列式存储在数据读取和解析、分析数据上具有优势
数据读取时,行存储通常将一行数据完全读出,如果只需要其中几列数据的情况,就会 存在冗余列,出于缩短处理时间的考量,消除冗余列的过程通常是在内存中进行的。列存储 每次读取的数据是集合的一段或者全部,不存在冗余性问题。 列式存储中的每一列数据类型是相同的,不存在二义性问题,例如,某列类型为整型 int,那么它的数据集合一定是整型数据,这种情况使数据解析变得十分容易。相比之下,行存储则要复杂得多,因为在一行记录中保存了多种类型的数据,数据解析需要在多种数据 类型之间频繁转换,这个操作很消耗 CPU,增加了解析的时间。
CK的数据压缩
通过以上案例可以看到,压缩的本质是按照一定步长对数据进行匹配扫描,当发现重复 部分的时候就进行编码转换。例如:(5,3)代表从下划线往前数 5 个字节,会匹配上 3 个 字节长度的重复项,即:“BCD”。当然,真实的压缩算法比以上举例更复杂,但压缩的本 质就是如此,数据中重复性项越多,则压缩率越高,压缩率越高,则数据体量越小,而数据 体量越小,则数据在网络中的传输越快,对网络带宽和磁盘 IO 的压力也就越小。
列式存储中同一个列的数据由于它们拥有相同的数据类型和现实语义,可能具备重复项 的可能性更高,更利于数据的压缩。所以 ClickHouse 在数据压缩上比例很大。
向量化执行引擎(SIMD)-SSE4.2指令集【数据并行】
CLICKHOUSE支持的类型
支持关系模型和标准SQL查询,大小写敏感
ClickHouse完全使用 SQL 作为查询语言(支持 GROUP BY、ORDER BY、JOIN、IN 等大部分标准 SQL),ClickHouse 提 供了标准协议的 SQL 查询接口,可以与第三方分析可视化系统无缝集成对接。在 SQL 解析 方面,ClickHouse 是大小写敏感,SELECT a 和 SELECT A 所代表的语义不同。
支持多样化的表引擎
支持多线程和分布式
交互式查询
数据分片与分布式查询
CLICKHOUSE安装
单节点安装
rpm -ivh ./clickhouse-*.rpm
配置文件
/etc/clickhouse-server : 服务端的配置文件目录,包括全局配置 config.xml 和用户配置 users.xml。 /var/lib/clickhouse : 默认的数据存储目录,通常会修改,将数据保存到大容 量磁盘路径中。 /var/log/cilckhouse-server : 默认保存日志的目录,通常会修改,将数据保 存到大容量磁盘路径中。 在/usr/bin 下会有可执行文件: clickhouse:主程序可执行文件
clickhouse-server:一个指向 clickhouse 可执行文件的软连接,供服务端启动 使用。
clickhouse-client:一个指向 clickhouse 可执行文件的软连接,供客户端启动 使用
启动&停止服务
分布式安装
1、选择三台 clickhouse 节点,在每台节点上安装 clickhouse 需要的安装包
2、需要使用 Zookeeper 去实现集群副本之间的同步
3、配置外网可以访问:在每台 clickhouse 节点中配置/etc/clickhouse-server/config.xml 文
<listen_host>::</listen_host>
4、在每台./etc目录下面创建metrika.xml文件 编辑文件中的内容
配置文件说明:
客户端链接CK的方式
Clickhouse第一讲-CK概述相关推荐
- [XJTU计算机网络安全与管理]第一讲 网络安全概述
文章目录 [XJTU计算机网络安全与管理]第一讲 网络安全概述 KEY POINTS 一.安全威胁 违反安全性的例子 关键性的安全概念:CIA triad--考点 二.网络安全相关概念--了解即可 三 ...
- 第一讲 网络安全概述笔记
本讲主要从网络安全.黑客.网络犯罪和网络攻击和防御四个方面讲述,笔记如下: 转载于:https://www.cnblogs.com/P201421420035/p/7583298.html
- OLE技术专题——第一讲:OLE概述
引言-概述 OLE/ActiveX/COM技术是MS的核心应用技术,只有彻底洞察其理论精髓,才能以不变应万变. 我们首先从OLE谈起. 一.过去的OLE和今天的OLE 作为COM技术前身的OLE,其最 ...
- STC51从入门到精通(汇编)~~~ 第一讲:概述
目录 1.1 单片机的发展历史: 1.2 单片机的发展趋势: 1.3 单片机的典型产品: 1.4 单片机的应用: 1.5 小结 1.1 单片机的发展历史: 单片机: 将微处理器.半导体存储器.I/O ...
- matlab基础教程第一讲,matlab基础第一讲
(完整版)matlab第一讲教案_数学_高中教育_教育专区.西南科技大学本科生课程备课教案计算机技术在安全工程中的应用--Matlab 入门及应用授课教师:徐中慧 班级: 专业...... 2012 ...
- MIT自然语言处理第一讲:简介和概述(第三部分)
自然语言处理:背景和概述 Natural Language Processing:Background and Overview 作者:Regina Barzilay(MIT,EECS Departm ...
- 面向对象程序设计概述(金老师第一讲)
EnvironmentSetUp windows的版本(内存和硬盘)+安装断点续传软件( 飞讯,可以暂停后继续下载)+虚拟光驱软件(DAEMON Tools读取下载的.ISO 光盘映像文件) CSha ...
- 【高级数据库】第一章 第01讲 数据库概述
[高级数据库]第一章 DBMS系统概述 博主学院最近有关于高级数据库的课程,为了很好的记录高级数据库的相关知识点,开辟了以<数据库系统实现(第二版)>为基础,结合学院课程具体的内容,编 ...
- 【高级数据库】第一章 第02讲 DBMS概述
[高级数据库]第一章 DBMS系统概述 上一讲主要介绍数据库.数据库管理系统.数据仓库等的基本概念.本节详细讲解数据库管理系统的原理. 第02讲 DBMS概述 DBMS又称数据库管理系统,主要 ...
最新文章
- HTML iframe 和 frameset 的区别
- python实现50行代码_50行代码实现python计算器主要功能
- 如何隐晦地表达“滚”?
- rds基于什么开发_IaaS、PaaS、SaaS、DaaS都是什么?现在怎么样了?终于有人讲明白了...
- 移动端手势库设计与实践
- Android自动测试之Monkey工具2
- SQL_Server快捷键
- excel 比对多列数据
- 软考高级系统架构设计师总结
- 泰勒(Taylor)展开式
- K8S多节点二进制部署
- Vue 公众号商城实现浏览足迹
- MySQL发号问题的分析和改进
- python 地址簿
- 蚂蚁金服有哪些金融特色的机器学习技术?
- 通达OA外部邮件密码加密和解密的方式,可以参考用作其他
- Python 2-05 高阶函数
- Pro是专业版,Lite是精简版,Plus是增强版
- 计算机网络 P32 IPv4 2-7 p36
- 期权实战交易最重要的经验
热门文章
- 怎么调整计算机的音量,教你电脑声音如何调大
- 20个常用的Linux工具命令
- image-webpack-loader (in ./src/assets/404_images/404_cloud.png)
- superset二次开发
- 数据可视化(七):可视化设计实战
- 通过matlab将二维图片序列进行三维立体重建(包含仿真录像)
- 巫启贤《太傻》背后的故事
- 云虚拟主机连接mysql_云虚拟主机数据库使用
- 根节点,子节点,叶节点
- 技术沙龙 | 云时代下的架构演进—企业云及云原生技术落地实践