概述

Clickhouse 是分析型数据库,真正的面向列式存储,支持高维度表。它免费开源、具备高效的数据导入和查询性能,能达到 50M/200M 每秒。支持实时查询、支持不同功能底层存储引擎,例如:MergeTree、Replicate、Distributed、Kafka 等。

特性

1、面向分析型数据库、SQL、结构化、MPP,独立于 hadoop 生态。

2、C++ 开发,支持 Linux。

3、高速写入 (50M/200M) 每秒,支持实时查询。

4、列式存储结构,高效压缩,SIMD、向量化计算。

5、充分利用硬件资源,既能水平扩展,也能垂直扩展。

6、支持不能底层存储引擎,例如:MergeTree、Replicate、Distributed、Kafka 等。

应用场景

1、大多数是读请求

2、数据总是以相当大的批(> 1000 rows)进行写入

3、不修改已添加的数据

4、每次查询都从数据库中读取大量的行,但是同时又仅需要少量的列

5、宽表,即每个表包含着大量的列

6、较少的查询(通常每台服务器每秒数百个查询或更少)

7、对于简单查询,允许延迟大约50毫秒

8、列中的数据相对较小: 数字和短字符串(例如,每个URL 60个字节)

9、处理单个查询时需要高吞吐量(每个服务器每秒高达数十亿行)

10、事务不是必须的

11、对数据一致性要求低

12、每一个查询除了一个大表外都很小

13、查询结果明显小于源数据,换句话说,数据被过滤或聚合后能够被盛放在单台服务器的内存中

使用 Docker 方式安装ClickHouse

创建数据持久化目录

mkdir $HOME/some_clickhouse_database

创建并运行 clickhouse-server 容器

docker run -d -p 8123:8123 --name some-clickhouse-server --ulimit nofile=262144:262144 --volume=$HOME/some_clickhouse_database:/var/lib/clickhouse yandex/clickhouse-server

创建并运行 clickhouse-client 容器

docker run -it --rm --link some-clickhouse-server:clickhouse-server yandex/clickhouse-client --host clickhouse-server

简单使用

创建表

:) create table t (id UInt16, name String) engine=MergeTree order by (id);

插入数据

:) insert into t(id, name) values (1, 'first');
:) insert into t(id, name) values (2, 'second');
:) insert into t(id, name) values (3, 'three');

查询数据

:) select * from t;

更新数据

:) alter table t update name='first1' where id=1;

删除数据

:) alter table t delete where id=1;

相关参考

1、https://gitbook.cn/books/5dc5c2e6573506442c3b30c2/index.html

2、https://clickhouse.tech/docs/zh/

3、https://uzshare.com/view/819521

ClickHouse 初步认识的更多相关文章

  1. ClickHouse之初步认识

    最近在Percona的blog上看到一篇文章:Column Store Database Benchmarks: MariaDB ColumnStore vs. Clickhouse vs. Apac ...

  2. 彪悍开源的分析数据库-ClickHouse

    https://zhuanlan.zhihu.com/p/22165241 今天介绍一个来自俄罗斯的凶猛彪悍的分析数据库:ClickHouse,它是今年6月开源,俄语社区为主,好酒不怕巷子深. 本文内 ...

  3. ClickHouse之简单性能测试

    前面的文章ClickHouse之初步认识已经简单的介绍了ClickHouse,接下来进行简单的性能测试.测试数据来源于美国民用航班的数据,从1987年到2017年,有1.7亿条. 环境: centos ...

  4. ClickHouse高性能数据库

    ClickHouse之简单性能测试   前面的文章ClickHouse之初步认识已经简单的介绍了ClickHouse,接下来进行简单的性能测试.测试数据来源于美国民用航班的数据,从1987年到2017 ...

  5. ClickHouse和他的朋友们(9)MySQL实时复制与实现

    本文转自我司大神 BohuTANG的博客 . 很多人看到标题还以为自己走错了夜场,其实没有. ClickHouse 可以挂载为 MySQL 的一个从库 ,先全量再增量的实时同步 MySQL 数据,这个 ...

  6. Windows10系统下使用Docker搭建ClickHouse开发环境

    前提 随着现在业务开展,几个业务系统的数据量开始急剧膨胀.之前使用了关系型数据库MySQL进行了一次数据仓库的建模,发现了数据量上来后,大量的JOIN操作在提高了云MySQL的配置后依然有点吃不消,加 ...

  7. flink clickhouse-jdbc和flink-connector 写入数据到clickhouse因为jar包冲突导致的60 seconds.Please check if the requested resources are available in the YARN cluster和Could not resolve ResourceManager address akka报错血案

    一.问题现象,使用flink on yarn 模式,写入数据到clickhouse,但是在yarn 集群充足的情况下一直报:Deployment took more than 60 seconds. ...

  8. ClickHouse在监控系统中的应用

    一.背景 这个项目是一个监控系统,主要监控主机.网络设备.应用等.主机监控的数量有1500台左右,数量还在不断增长,加上网络设备和应用,目前总共监控的指标达到近40万个. 二.问题 一开始为了快速交付 ...

  9. 移动端之Android开发的几种方式的初步体验

    目前越来越多的移动端混合开发方式,下面列举的大多数我都略微的尝试过,就初步的认识写个简单的心得: 开发方式 开发环境 是否需要AndroidSDK 支持跨平台 开发语言&技能 MUI Win+ ...

  10. CSharpGL(29)初步封装Texture和Framebuffer

    +BIT祝威+悄悄在此留下版了个权的信息说: CSharpGL(29)初步封装Texture和Framebuffer +BIT祝威+悄悄在此留下版了个权的信息说: Texture和Framebuffe ...

随机推荐

  1. java switch 自定义表格的渲染和编辑示例

    目录 正常使用表格 自定义表格样式 正常使用表格 很简单,使用一次就知道了,不过多介绍. // 创建 JTable 实例,使用默认的模型 JTable table = new JTable(); // ...

  2. openGauss/MogDB零字节问题处理

    openGauss/MogDB 零字节问题处理 问题描述:java 应用端程序调用 GZIP 压缩类对数据进行编码压缩后入库 ,然后从数据库取出进行解压,原来再 mysql 数据库中是正常的,但迁移到 ...

  3. websocket fleck demo

    前言 fleck 比较简洁,想看下他的源码的,先感受一下demo吧. 正文 先上代码. static IDictionary<string, IWebSocketConnection> d ...

  4. Git 中 HEAD、工作树和索引之间的区别

    一.HEAD 在git中,可以存在很多分支,其本质上是一个指向commit对象的可变指针,而Head是一个特别的指针,是一个指向你正在工作中的本地分支的指针 简单来讲,就是你现在在哪儿,HEAD 就指 ...

  5. Flink Standalone集群部署

    Flink Standalone模式部署集群是最简单的一种部署方式,不依赖于其他的组件,另外还支持YARN/Mesos/Docker等模式下的部署,这里使用的flink版本为最新的稳定版1.9.1版本 ...

  6. 关于console.log中this指向的问题

  7. 【.net】Error while trying to retrieve text for error ORA-06413

    [.net]Error while trying to retrieve text for error ORA-06413 系统需要,有一个外挂系统使用的是.net,出了问题,所以部署环境查询代码 但 ...

  8. 力扣34(java)-在排序数组中查找元素的第一个和最后一个位置(中等)

    题目: 给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target.请你找出给定目标值在数组中的开始位置和结束位置. 如果数组中不存在目标值 target,返回 [-1, -1]. 你 ...

  9. CF1535F String Distance

    \(CF1535F\ \ String\ Distance\) 题意 给 \(n\) 个长度均为 \(len\) 的字符串 \(T_1,T_2,\dots T_n\),定义 \(f(a,b)\) 为将 ...

  10. CF1857B Maximum Rounding 题解

    题目描述 给定一个自然数 \(n\),可以对任意一位进行四舍五入,可以进行任意次,求能得到的最大数.(这里的 \(n\) 没有前导零) 思路 首先我们发现,如果我们将其中一位进位了,那后面的所有位都会 ...