ClickHouse 初步认识
概述
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 初步认识的更多相关文章
- ClickHouse之初步认识
最近在Percona的blog上看到一篇文章:Column Store Database Benchmarks: MariaDB ColumnStore vs. Clickhouse vs. Apac ...
- 彪悍开源的分析数据库-ClickHouse
https://zhuanlan.zhihu.com/p/22165241 今天介绍一个来自俄罗斯的凶猛彪悍的分析数据库:ClickHouse,它是今年6月开源,俄语社区为主,好酒不怕巷子深. 本文内 ...
- ClickHouse之简单性能测试
前面的文章ClickHouse之初步认识已经简单的介绍了ClickHouse,接下来进行简单的性能测试.测试数据来源于美国民用航班的数据,从1987年到2017年,有1.7亿条. 环境: centos ...
- ClickHouse高性能数据库
ClickHouse之简单性能测试 前面的文章ClickHouse之初步认识已经简单的介绍了ClickHouse,接下来进行简单的性能测试.测试数据来源于美国民用航班的数据,从1987年到2017 ...
- ClickHouse和他的朋友们(9)MySQL实时复制与实现
本文转自我司大神 BohuTANG的博客 . 很多人看到标题还以为自己走错了夜场,其实没有. ClickHouse 可以挂载为 MySQL 的一个从库 ,先全量再增量的实时同步 MySQL 数据,这个 ...
- Windows10系统下使用Docker搭建ClickHouse开发环境
前提 随着现在业务开展,几个业务系统的数据量开始急剧膨胀.之前使用了关系型数据库MySQL进行了一次数据仓库的建模,发现了数据量上来后,大量的JOIN操作在提高了云MySQL的配置后依然有点吃不消,加 ...
- 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. ...
- ClickHouse在监控系统中的应用
一.背景 这个项目是一个监控系统,主要监控主机.网络设备.应用等.主机监控的数量有1500台左右,数量还在不断增长,加上网络设备和应用,目前总共监控的指标达到近40万个. 二.问题 一开始为了快速交付 ...
- 移动端之Android开发的几种方式的初步体验
目前越来越多的移动端混合开发方式,下面列举的大多数我都略微的尝试过,就初步的认识写个简单的心得: 开发方式 开发环境 是否需要AndroidSDK 支持跨平台 开发语言&技能 MUI Win+ ...
- CSharpGL(29)初步封装Texture和Framebuffer
+BIT祝威+悄悄在此留下版了个权的信息说: CSharpGL(29)初步封装Texture和Framebuffer +BIT祝威+悄悄在此留下版了个权的信息说: Texture和Framebuffe ...
随机推荐
- centos环境minio安装踩坑指南2023年7月30日
MinIO的安装踩坑指南 环境centos7 1. 安装MinIO官方文档 Binary下载 , 按照官网的路径配置比较快 下载minio wget https://dl.min.io/server/ ...
- Batch Normalization 和 DropOut
Batch-Normalization https://www.cnblogs.com/guoyaohua/p/8724433.html 有几点需要注意: \(x^{(k)}\)指的是t层的输入. 也 ...
- Maven 必备技能:MAC 系统下 JDK和Maven 安装及环境变量配置详细讲解
开发中难免因系统问题或者版本变更反复折腾JDK和Maven环境变量,干脆写个笔记备忘个,也方便小伙伴们节省时间. =================JDK安装与环境变量配置====== 1.官网下载j ...
- python3 引入requests报错ImportError的处理方案
执行python3 import requests时抛出错误:ImportError: No module named requests 使用python3写爬虫时,有些小伙伴会遇到这种坑,使用发现导 ...
- Causal Inference理论学习篇-Tree Based-Causal Forest
广义随机森林 了解causal forest之前,需要先了解其forest实现的载体:GENERALIZED RANDOM FORESTS[6](GRF) 其是随机森林的一种推广, 经典的随机森林只能 ...
- idea引用lombok一直不成功
idea引用lombok一直不成功 比如想使用lombok的@data注解一直报错,尽管已经声明了import lombok.Data,且在pom里面也增加了lombok依赖,但是就是不成功的时候 建 ...
- 【笔记】Oracle列转行unpivot&行转列 PIVOT
unpivot 说明:将表中多个列缩减为一个聚合列(多列转多行) 语法:unpivot(新列名 for 聚合列名 in (对应的列名1-列名n )) 写到了一个力扣的题,发现这个unpivot函数还没 ...
- 力扣540(java&python)-有序数组中的单一元素(中等)
题目: 给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次. 请你找出并返回只出现一次的那个数. 你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1) 空间 ...
- 力扣81(java&python)-搜索旋转排序数组 II(中等)
题目: 已知存在一个按非降序排列的整数数组 nums ,数组中的值不必互不相同. 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 ...
- 力扣23(java)-合并k个升序链表(困难)
题目: 给你一个链表数组,每个链表都已经按升序排列. 请你将所有链表合并到一个升序链表中,返回合并后的链表. 示例 1: 输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1 ...