前言:

久闻 ClickHouse 大名,一直没有去详细了解。近期看了下 ClickHouse 相关文档,决定安装体验下。想了解 ClickHouse 的小伙伴可以一起跟着学习哦。本篇文章主要介绍 ClickHouse 安装方法及基础知识。

1. ClickHouse 简介

ClickHouse 是一个用于联机分析 (OLAP) 的列式数据库管理系统 (DBMS). 由俄罗斯搜索引擎巨头 Yandex 开源. 主要用于数据分析领域, 目前国内社区火热, 各个大厂纷纷跟进大规模用于 OLAP 领域。

一起来看下 ClickHouse 官网怎么介绍它的一些特性:

  • 快速:ClickHouse会充分利用所有可用的硬件,以尽可能快地处理每个查询。单个查询的峰值处理性能超过每秒 2 TB(解压缩后,仅使用的列)。在分布式设置中,读取是在健康副本之间自动平衡的,以避免增加延迟。
  • 容错:ClickHouse支持多主机异步复制,并且可以跨多个数据中心进行部署。所有节点都相等,这可以避免出现单点故障。单个节点或整个数据中心的停机时间不会影响系统的读写可用性。
  • 可伸缩:ClickHouse可以在垂直和水平方向上很好地缩放。 ClickHouse易于调整以在具有数百或数千个节点的群集上或在单个服务器上,甚至在小型虚拟机上执行。当前,每个单节点安装的数据量超过数万亿行或数百兆兆字节。
  • 易用:ClickHouse简单易用,开箱即用。它简化了所有数据处理:将所有结构化数据吸收到系统中,并且立即可用于构建报告。 SQL允许表达期望的结果,而无需涉及某些DBMS中可以找到的任何自定义非标准API。

2. ClickHouse 安装教程

ClickHouse 可以在任何具有 x86_64 ,AArch64 或 PowerPC64LE CPU 架构的 Linux ,FreeBSD 或 Mac OS X 上运行。貌似不能在 Windows 系统下安装,不过 ClickHouse 同样支持 Docker 部署,Windows 系统可以在 Docker 下安装 ClickHouse 。

根据官方文档推荐:Debian 或 Ubuntu 系统可以使用官方预编译的 deb 软件包来安装,CentOS 、RedHat 等Linux发行版可以使用官方预编译的 rpm 包 来安装,如果您的操作系统不支持安装 deb 或 rpm 包,也可以使用 tgz 软件包或直接源码编译安装。下面我们以 CentOS 系统为例,以 rpm 方式来安装下 ClickHouse。

# 查看系统版本
[root@localhost ~]# more /etc/redhat-release
CentOS Linux release 7.6.1810 (Core) # 检测当前CPU是否支持SSE 4.2
[root@localhost ~]# grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
SSE 4.2 supported# 添加官方存储库
sudo yum install yum-utils
sudo rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPG
sudo yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/stable/x86_64# 安装clickhouse
sudo yum install clickhouse-server clickhouse-client# 启动clickhouse
sudo /etc/init.d/clickhouse-server start# 进入clickhouse客户端
root@localhost ~]# clickhouse-client
ClickHouse client version 20.12.5.14 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 20.12.5 revision 54442.localhost :) select 1;SELECT 1Query id: 42f5e589-2f81-44e2-9fb8-de45e682acfc┌─1─┐
│ 1 │
└───┘1 rows in set. Elapsed: 0.002 sec. localhost :) select now();SELECT now()Query id: c4c867a9-ae0e-4d6c-bb19-057e96cf6624┌───────────────now()─┐
│ 2021-01-13 10:19:14 │
└─────────────────────┘1 rows in set. Elapsed: 0.004 sec.

3. ClickHouse 简单操作

ClickHouse 支持有限的 SQL 操作,SQL 语法和传统的关系型数据库有相似之处。下面简单介绍下 ClickHouse 基础语法:

# 1.创建数据库
# 语法:
CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster] [ENGINE = engine(...)]
# 示例:
[root@localhost ~]# clickhouse-client
ClickHouse client version 20.12.5.14 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 20.12.5 revision 54442.localhost :) create database test;CREATE DATABASE testQuery id: c17cbf32-ab8c-45a0-8ebb-a7b0bdb88efeOk.0 rows in set. Elapsed: 0.015 sec. localhost :) use test;USE testQuery id: 4eeadf20-e8bc-4b84-a953-71cf16e133b6Ok.0 rows in set. Elapsed: 0.001 sec.# 2.创建表
# 语法:
CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
(name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1] [compression_codec] [TTL expr1],name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2] [compression_codec] [TTL expr2],...
) ENGINE = engine
# 示例:
root@localhost ~]# clickhouse-client
ClickHouse client version 20.12.5.14 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 20.12.5 revision 54442.localhost :) use test;USE testQuery id: 37248a4f-36ec-4ed3-a08a-c345db228c98Ok.0 rows in set. Elapsed: 0.001 sec. localhost :) create table t1 (id Int32,name String) engine=TinyLog;CREATE TABLE t1
(`id` Int32,`name` String
)
ENGINE = TinyLogQuery id: 8296c170-72fa-4852-8447-ab548fa3b7b8Ok.0 rows in set. Elapsed: 0.230 sec. localhost :) show tables;SHOW TABLESQuery id: 7da8d2d5-e4ed-45f1-b96c-4d23924512ba┌─name─┐
│ t1   │
└──────┘1 rows in set. Elapsed: 0.007 sec. # TinyLog是最简单的表的引擎,用于将数据存储在磁盘上。常用于小表。# 3.插入数据
# 示例:
[root@localhost ~]# clickhouse-client
ClickHouse client version 20.12.5.14 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 20.12.5 revision 54442.localhost :) use test;USE testQuery id: 71a1de2a-17fe-4a0b-b9b6-7e934016892eOk.0 rows in set. Elapsed: 0.001 sec. localhost :) insert into t1 (id, name) values (1, 'abc'), (2, 'bbbb'),(3,'sdfg');INSERT INTO t1 (id, name) VALUESQuery id: d4982851-8b52-4158-949f-fa94cd7d8ff3Ok.3 rows in set. Elapsed: 0.002 sec. localhost :) select * from t1;SELECT *
FROM t1Query id: b73f366c-702e-4bda-b519-cb087754bbad┌─id─┬─name─┐
│  1 │ abc  │
│  2 │ bbbb │
│  3 │ sdfg │
└────┴──────┘3 rows in set. Elapsed: 0.002 sec.

虽然 SQL 语法和关系型数据库有相似之处,但还是要摒弃已有的思维来学习 ClickHouse 。特别是数据类型、表引擎及其他特性,这些都是陌生的,学习下来还是有难度的。

参考:

  • https://clickhouse.tech/docs/zh/
  • https://www.cnblogs.com/zhoujinyi/p/12625655.html

clickhouse安装_初识ClickHouse——安装与入门相关推荐

  1. 64 安装_解决“不能安装 64 位Office,因已安装 32 位 Office 产品”问题

    换了个电脑装64位的Office 2010(Office_64),双击setup刚准备装,就收到以下错误提示: "不能安装 64 位版本的 Office 2010,因为您当前已经安装 32 ...

  2. wxpython 安装_下载和安装wxPython

    在编写Python GUI 程序前,需要决定使用哪个 GUI 平台. wxPython 是一个成熟而且特性丰富的包,因此本篇教程将讲述如何安装 wxPython 工具/原料 电脑 wxPython 方 ...

  3. 请检查virtualboxapi是否正确安装_电机行业安装绝缘轴承规范

    1.安装前检查轴承 安装前,请检查滚动体表面是否有毛刺,划痕或裂缝. 轴承的径向游隙和轴向游隙是否合格,通常仅测量径向游隙. 其次,检查轴承型号是否正确. 有关滚动轴承的径向游隙标准,请参见下表. 例 ...

  4. 台式计算机能不能安装蓝牙驱动,蓝牙驱动怎么安装_台式电脑怎么安装蓝牙驱动...

    相信大家对蓝牙功能都不陌生,但是蓝牙功能大多都是手机使用,蓝牙功能不用线可以隔空听歌,电脑的蓝牙驱动应该有许多用户不知道.那么电脑的蓝牙如何安装?下面我们就一起来看看电脑蓝牙驱动怎么安装. 蓝牙驱动安 ...

  5. c226打印机驱动安装_打印机驱动安装方法

    经常有网友反应说下载的驱动不知道怎么安装,经分析多为解压后没有setup.exe文件的驱动,通常这种驱动我称它为inf驱动,虽然本站有不少关于打印机驱动安装方面的教程,但还是满足不了各网友的需求,今天 ...

  6. 友基s400手写板怎么安装_电脑手写板安装步骤 手写板怎么用

    电脑手写板就像手机的触笔,无论是书写还是娱乐,只要轻轻一点就可以了,用起来十分方便,所以你知道为什么电脑手写板卖得这么火了吧!那么,到底手写板怎么用呢?下面随小编一起看看手写板怎么用吧. 一.正确安装 ...

  7. linux服务器 双显卡,linux dd windows 安装_双显卡安装windows和linux_windows 安装linux

    广告 提供包含云服务器,云在内的50+款云计算产品.打造一站式的云产品试用服务,助力开发者和企业零门槛上云. 检查 virtio 驱动操作详情请参考 linux 系统检测 virtio 驱动. 安装 ...

  8. 户外lisp导向牌如何安装_户外广告牌画面制作安装流程

    v1.0 可编辑可修改 1 户外广告牌画面制作安装流程 户外广告牌画面安装是一件比较繁琐的事情,因为你安装必须牢固,否则会有 严重后果.如果没有安装经验做好不要盲目的安装,最好找专业的人员来安 装.高 ...

  9. 场景引擎是什么意思_初识ClickHouse、大数据多场景的热捧者

    点击蓝字获取更多精彩信息 编 者 说 Clickhouse是一个用于联机分析处理(OLAP)的列式数据库管理系统(columnar DBMS).随着业务的增长走到尽头,查询会变得越来越慢.你可能通过增 ...

最新文章

  1. Linux-find命令应用举例-按时间筛选和删除文件
  2. OI模板大全(普及~省选NOI)
  3. 量化交易python入门书籍_量化交易新手最适用的5本书
  4. 机房漏水后,漏水报警器是如何检测应急处理的?
  5. jpg图片与jpeg图片格式的区别(没有区别,.jpg只是扩展名.jpeg的缩写)
  6. MySQL数据库的性能优化总结
  7. [译]模型-视图-提供器 模式
  8. php对接V免签支付教程_【全网首发】最新版影视小程序搭建教程完整版
  9. Redis 实用技术——Pipeline
  10. 2019中国(黄石)工业互联网创新发展大会将于11月召开
  11. ubutnu16.04下Intel Realsense D435驱动的安装和python环境的配置
  12. python水仙花数的编程代码-Python 求“水仙花数”的方法和具体代码
  13. 共享单车信号服务器,【严肃科普】【严肃科普】共享单车靠什么黑科技远程定位开锁?...
  14. 第2章 大数据处理架构Hadoop
  15. Eventlog Analyzer日志管理系统、日志分析工具、日志服务器的功能及作用
  16. 富士施乐 DocuCentre-V 3065 打印机远程命令执行漏洞
  17. 机器学习笔试面试整理
  18. android定时器课设报告,数显定时器课程设计报告.doc
  19. cesium实现运动模型的相机上帝视角跟随
  20. 倒计时(小时:分钟:秒钟)【JS原生代码】

热门文章

  1. IB component change - CL_IBCOMPONENT_IL~CHANGE_COMPONENT
  2. SAP UI5 webIDE good build and bad build
  3. 使用WordPress的Kyma plugin同Kyma断开连接的实现
  4. Involved Parties Object ID generation logic
  5. SAP S/4HANA销售订单的类型建模细节
  6. 如何判断SAP CDS view的association是inner join还是outer join实现的
  7. 使用SAP C4C rule editor动态控制UI上某个按钮是否显示 1
  8. 动态控制SAP C4C UI元素的显示和隐藏
  9. 查看linux服务器下接设备,linux下如何查看设备信息_网站服务器运行维护
  10. mysql主从复制深入研究_mysql主从复制原理,深入探讨