本文源码:GitHub·点这里 || GitEE·点这里

一、ClickHouse简介

1、基础简介

Yandex开源的数据分析的数据库,名字叫做ClickHouse,适合流式或批次入库的时序数据。ClickHouse不应该被用作通用数据库,而是作为超高性能的海量数据快速查询的分布式实时处理平台,在数据汇总查询方面(如GROUP BY),ClickHouse的查询速度非常快。

下载仓库:https://repo.yandex.ru/clickhouse
中文文档:https://clickhouse.yandex/docs/zh/

2、数据库特点

(1)列式数据库

列式数据库是以列相关存储架构进行数据存储的数据库,主要适合于批量数据处理和即时查询。

(2)数据压缩

在一些列式数据库管理系统中不是用数据压缩。但是, 数据压缩在实现优异的存储系统中确实起着关键的作用。

(3)数据的磁盘存储

许多的列式数据库只能在内存中工作,这种方式会造成比实际更多的设备预算。ClickHouse被设计用于工作在传统磁盘上的系统,它提供每GB更低的存储成本。

(4)多核心并行处理

大型查询可以以很自然的方式在ClickHouse中进行并行化处理,以此来使用当前服务器上可用的所有资源。

(5)多服务器分布式处理

在ClickHouse中,数据可以保存在不同的shard上,每一个shard都由一组用于容错的replica组成,查询可以并行的在所有shard上进行处理。

(6)支持SQL和索引

ClickHouse支持基于SQL的查询语言,该语言大部分情况下是与SQL标准兼容的。支持的查询包括GROUPBY,ORDERBY,IN,JOIN以及非相关子查询。不支持窗口函数和相关子查询。按照主键对数据进行排序,这将帮助ClickHouse以几十毫秒的低延迟对数据进行特定值查找或范围查找。

(7)向量引擎

为了高效的使用CPU,数据不仅仅按列存储,同时还按向量(列的一部分)进行处理。

(8)实时的数据更新

ClickHouse支持在表中定义主键。为了使查询能够快速在主键中进行范围查找,数据总是以增量的方式有序的存储在MergeTree中。因此,数据可以持续不断高效的写入到表中,并且写入的过程中不会存在任何加锁的行为。

二、Linux下安装流程

1、下载仓库

curl -s
https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh
| sudo os=centos dist=7 bash

2、查看安装包

sudo yum list 'clickhouse*'

3、安装服务

sudo yum install -y clickhouse-server clickhouse-client

4、查看安装列表

sudo yum list installed 'clickhouse*'

控制台输出

Installed Packages
clickhouse-client.noarch
clickhouse-common-static.x86_64
clickhouse-server.noarch

5、查看配置

  • cd /etc/clickhouse-server/
  • vim config.xml
数据目录:/var/lib/clickhouse/
临时目录:/var/lib/clickhouse/tmp/
日志目录:/var/log/clickhouse-server
HTTP端口:8123
TCP 端口:9000

6、配置访问权限

config.xml文件中去掉下面配置的注释。

<listen_host>::</listen_host>

7、启动服务

/etc/rc.d/init.d/clickhouse-server start

8、查看服务

ps -aux |grep clickhouse

三、基础操作

1、建表语句

CREATE TABLE cs_user_info (`id` UInt64,`user_name` String,`pass_word` String,`phone` String,`email` String,`create_day` Date DEFAULT CAST(now(),'Date')
) ENGINE = MergeTree(create_day, intHash32(id), 8192)

注意事项:官方推荐引擎,MergeTree

Clickhouse 中最强大的表引擎当属MergeTree(合并树)引擎及该系列(*MergeTree)中的其他引擎。MergeTree引擎系列的基本理念如下。当你有巨量数据要插入到表中,你要高效地一批批写入数据片段,并希望这些数据片段在后台按照一定规则合并。相比在插入时不断修改(重写)数据进存储,这种策略会高效很多。

2、批量写入

INSERT INTO cs_user_info (id,user_name,pass_word,phone,email)
VALUES (1,'cicada','123','13923456789','cicada@com'),(2,'smile','234','13922226789','smile@com'),(3,'spring','345','13966666789','spring@com');

3、查询语句

SELECT * FROM cs_user_info ;
SELECT * FROM cs_user_info WHERE user_name='smile' AND pass_word='234';
SELECT * FROM cs_user_info WHERE id IN (1,2);
SELECT * FROM cs_user_info WHERE id=1 OR id=2 OR id=3;

查询语句和操作MySQL数据库极其相似。

四、源代码地址

GitHub·地址
https://github.com/cicadasmile/linux-system-base
GitEE·地址
https://gitee.com/cicadasmile/linux-system-base

Linux系统:Centos7下搭建ClickHouse列式存储数据库相关推荐

  1. centos7 校正linux系统时间_Linux系统:Centos7下搭建ClickHouse列式存储数据库

    一.ClickHouse简介 1.基础简介 Yandex开源的数据分析的数据库,名字叫做ClickHouse,适合流式或批次入库的时序数据.ClickHouse不应该被用作通用数据库,而是作为超高性能 ...

  2. clickhouse 列式存储数据库介绍

    ClickHouse介绍 ClickHouse来自哪里? 俄罗斯最大的搜索公司Yandex,在clickhouse的配置文件中我们也会看到yandex的影子. ClickHouse是什么? Click ...

  3. 列存储相关概念和常见列式存储数据库(Hbase、德鲁依)

    Table of Contents 列式存储数据库 Examples of Column Store DBMSs Hbase Table Row Column Column Family Column ...

  4. HBase是列式存储数据库吗

    HBase是列式存储数据库吗 导语 行式数据库和列式数据库 HBase是列式数据库吗? 本文转载自过往记忆(https://www.iteblog.com/),原文链接:https://www.ite ...

  5. 【讨论】大数据环境下 列式存储数据库与Exadata一体机哪个更有优势呢?

    PS:大家可以从 成本.性能.性价比.管理易用度 等方面 谈谈自己的想法 不了峰  发表于 2012-7-2 09:26:01 : 列式数据库,我选 用Sybase IQ 虽然我没有接触过Exadat ...

  6. 什么是列式存储数据库

    列存储不同于传统的关系型数据库,其数据在表中是按行存储的,列方式所带来的重要好处之一就是,由于查询中的选择规则是通过列来定义的,因此整个数据库是自动索引化的.按列存储每个字段的数据聚集存储,在查询只需 ...

  7. Linux系统:Centos7下搭建PostgreSQL关系型数据库

    本文源码:GitHub·点这里 || GitEE·点这里 一.PostgreSQL简介 1.数据库简介 PostgreSQL是一个功能强大的开源数据库系统,具有可靠性.稳定性.数据一致性等特点,且可以 ...

  8. Linux常用命令下,以及再CentOS7下搭建apache网站服务,以及同一服务器上搭建第二个网站

    Linux常用命令下,以及再CentOS7下搭建apache网站服务,以及同一服务器上搭建第二个网站 Linux 常用命令ls -l 以长格式显示-a 显示.. 和 .-A 不显示 . 和 ..-d ...

  9. 列式存储ClickHouse(一)概述

    这里写目录标题 概述 优势特性 缺点特性 性能 安装 测试 创建表 导入数据 查询数据 ClickHouse,是一个快速,开源,OLAP的数据库管理系统.ClickHouse是列式存储的,支持实时使用 ...

最新文章

  1. 年仅 16 岁的黑客少年,竟是搅乱 IT 巨头的幕后主使?
  2. WINDOWS SERVER 2003从入门到精通之使用证书在WEB服务器上设置SSL(下)
  3. Compmgmtlauncher.exe问题解决方法
  4. Android 亲测源码分享
  5. opencv imencode跟imdecode函数jpg(python)
  6. Spring Boot怎么样引入Thymeleaf模板引擎
  7. 关闭window端口445
  8. weka arff稀疏数据写法
  9. Codeforces Round #626 (Div. 2) D. Present 按位贡献 + 快排新姿势
  10. elementui表单校验原始密码_javascript 中入门数据校验
  11. 【设计素材】表格数据形平面海报素材
  12. css模拟select设置高度在ie67下有效(也可作为去除边框)
  13. 何冲(为奥运冠军名字作诗)
  14. 有时候,拒绝是为了更好的未来
  15. win7 64位 安装Infragistics NetAdvantage,报Error 1606 Could Not Access Network Location %SystemDrive%/ine
  16. Watir的操作使用
  17. 十大排序算法(C++版)
  18. 注册界面模板HTML+CSS
  19. 雷达图的实现(R语言及Python)
  20. php json_encode不要反斜杠,【json+encode让URL内容斜杠+不转义】

热门文章

  1. 【数据库题型大总结】应用题总结
  2. 【C语言笔记初级篇】第三章:函数与递归
  3. (王道408考研数据结构)第六章图-第二节1:图的存储结构(邻接矩阵、邻接表、十字链表和邻接多重表)
  4. Python中super的用法
  5. linux 各系统防火墙操作
  6. 23. PE结构-PE详解之输出表(导出表)
  7. IDA工具各个功能总结
  8. Java lambda expression
  9. 解读Laravel,看PHP如何实现Facade?
  10. [THINKING IN JAVA]访问权限控制