网站首页 > 开源技术 正文
ClickHouse
ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。
OLAP场景的关键特征
绝大多数是读请求
数据以相当大的批次(> 1000行)更新,而不是单行更新;或者根本没有更新。
已添加到数据库的数据不能修改。
对于读取,从数据库中提取相当多的行,但只提取列的一小部分。
宽表,即每个表包含着大量的列
查询相对较少(通常每台服务器每秒查询数百次或更少)
对于简单查询,允许延迟大约50毫秒
列中的数据相对较小:数字和短字符串(例如,每个URL 60个字节)
处理单个查询时需要高吞吐量(每台服务器每秒可达数十亿行)
事务不是必须的
对数据一致性要求低
每个查询有一个大表。除了他意以外,其他的都很小。
查询结果明显小于源数据。换句话说,数据经过过滤或聚合,因此结果适合于单个服务器的RAM中
很容易可以看出,OLAP场景与其他通常业务场景(例如,OLTP或K/V)有很大的不同, 因此想要使用OLTP或Key-Value数据库去高效的处理分析查询场景,并不是非常完美的适用方案。例如,使用OLAP数据库去处理分析请求通常要优于使用MongoDB或Redis去处理分析请求。
ClickHouse安装和启动
sudo apt-get install apt-transport-https ca-certificates dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4
echo "deb https://repo.clickhouse.tech/deb/stable/ main/" | sudo tee \
/etc/apt/sources.list.d/clickhouse.list
sudo apt-get update
sudo apt-get install -y clickhouse-server clickhouse-client
sudo service clickhouse-server start
clickhouse-client
sudo apt-get update如果更新不了可以修改下源,然后修改source.list,clickhouse.list
新建表导入所需要的数据(120038310条经纬度)
create table pnts (Lon Float64, Lat Float64) engine = MergeTree() order by (Lon, Lat);
time clickhouse-client --query="INSERT INTO pnts FORMAT CSVWithNames" < test_data.csv
ClickHouse空间分析运用
计算最大小经纬度
select min(Lon), max(Lon),min(Lat), max(Lat)FROM pnts
select geohashesInBox(-150.0565255, 24.5449115001 , -66.950609997, 65.1341342731, 4)
面筛选
SELECT geohashEncode(Lon, Lat, 5),count(1) FROM pnts group by geohashEncode(Lon, Lat, 5)
缓冲区计算
select geoToH3(Lon, Lat, 3),count(1) FROM pnts group by geoToH3(Lon, Lat, 3)
select geoToH3(Lon, Lat, 3),count(1) FROM pnts group by geoToH3(Lon, Lat, 3)
geohash聚合
SELECT geohashEncode(Lon, Lat, 5),count(1) FROM pnts group by geohashEncode(Lon, Lat, 5)
参考资料:
https://clickhouse.tech/docs/zh/
https://www.osgeo.cn/qgis-tutorial/docs/3/importing_spreadsheets_csv.html
https://mirror.tuna.tsinghua.edu.cn/help/clickhouse/
https://blog.csdn.net/BigData_Mining/article/details/87867979
http://cncc.bingj.com/cache.aspx?q=clickhouse+anzhuang&d=4519770289931770&mkt=zh-CN&setlang=zh-CN&w=J6QG46UMC2AHWpTGJHFimsC7lpDNMJO-
https://github.com/ClickHouse/ClickHouse/issues/9002
https://www.bookstack.cn/read/clickhouse-20.10-en/bccae583b76cdb17.md
https://blog.csdn.net/jimo_lonely/article/details/107498806
https://github.com/ClickHouse/ClickHouse/issues/17081
猜你喜欢
- 2024-10-14 istio-1:部署与体验istio-1.4.2(istio 部署)
- 2024-10-14 5分钟学废携程出品配置中心阿波罗的原理与搭建
- 2024-10-14 《软件设计的哲学》解读(软件设计的哲学 中文版)
- 2024-10-14 Go 语言 Web 框架 Echo 系列:基础篇—Echo 核心亮点介绍
- 2024-10-14 BookChat-通用的书籍阅读微信小程序
- 2024-10-14 10款顶尖知识库搭建神器,让知识管理效率飙升百倍!
- 2024-10-14 BookStack在线文档管理系统本地Docker部署与远程访问
- 2024-10-14 【Docker】部署BookStack(docker应用部署)
- 2024-07-08 从源码剖析go语言基于信号抢占式调度
- 2024-07-08 互动直播的视频录制与合成—支持多人离线重入
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)