牛x!一款比传统数据库快 100-1000 倍的数据库,来认识一下?
一、ClickHouse 是什么?
二、业务问题
三、ClickHouse实践
四、遇到的坑
五、总结
一、ClickHouse 是什么?
ClickHouse:是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)
我们首先理清一些基础概念
OLTP:是传统的关系型数据库,主要操作增删改查,强调事务一致性,比如银行系统、电商系统
OLAP:是仓库型数据库,主要是读取数据,做复杂数据分析,侧重技术决策支持,提供直观简单的结果
接着我们用图示,来理解一下列式数据库和行式数据库区别
在传统的行式数据库系统中(MySQL、Postgres和MS SQL Server),数据按如下顺序存储:
在列式数据库系统中(ClickHouse),数据按如下的顺序存储:
两者在存储方式上对比:
以上是ClickHouse基本介绍,更多可以查阅官方手册
二、业务问题
业务端现有存储在Mysql中,5000万数据量的大表及两个辅表,单次联表查询开销在3min+,执行效率极低。经过索引优化、水平分表、逻辑优化,成效较低,因此决定借助ClickHouse来解决此问题
最终通过优化,查询时间降低至1s内,查询效率提升200倍!
希望通过本文,可以帮助大家快速掌握这一利器,并能在实践中少走弯路。
三、ClickHouse实践
1.Mac下的Clickhouse安装
我是通过docker安装,查看教程。也可以下载CK编译安装,相对麻烦一些。
2.数据迁移:从Mysql到ClickHouse
ClickHouse支持Mysql大多数语法,迁移成本低,目前有五种迁移方案:
create table engin mysql,映射方案数据还是在Mysql
insert into select from,先建表,在导入
create table as select from,建表同时导入
csv离线导入
streamsets
选择第三种方案做数据迁移:
CREATE TABLE [IF NOT EXISTS] [db.]table_name ENGINE = Mergetree AS SELECT * FROM mysql('host:port', 'db', 'database', 'user', 'password')
3.性能测试对比
类型 | 数据量 | 表大小 | 查询速度 |
---|---|---|---|
Mysql | 5000万 | 10G | 205s |
ClickHouse | 5000万 | 600MB | 1s内 |
4.数据同步方案
临时表
图片来源:携程 新建temp中间表,将Mysql数据全量同步到ClickHouse内temp表,再替换原ClickHouse中的表,适用数据量适度,增量和变量频繁的场景
synch
开源的同步软件推荐:synch 原理是通过Mysql的binlog日志,获取sql语句,再通过消息队列消费task
5.ClickHouse为什么快?
只需要读取要计算的列数据,而非行式的整行数据读取,降低IO cost
同列同类型,有十倍压缩提升,进一步降低IO
clickhouse根据不同存储场景,做个性化搜索算法
四、遇到的坑
1.ClickHouse与mysql数据类型差异性
用Mysql的语句查询,发现报错:
解决方案:LEFT JOIN B b ON toUInt32(h.id) = toUInt32(ec.post_id),中转一下,统一无符号类型关联
2.删除或更新是异步执行,只保证最终一致性
查询CK手册发现,即便对数据一致性支持最好的Mergetree,也只是保证最终一致性:
如果对数据一致性要求较高,推荐大家做全量同步来解决
五、总结
通过ClickHouse实践,完美的解决了Mysql查询瓶颈,20亿行以下数据量级查询,90%都可以在1s内给到结果,随着数据量增加,ClickHouse同样也支持集群,大家如果感兴趣,可以积极尝试 : )
参考资料:
ClickHouse官方手册 CK
https://clickhouse.tech/docs/zh/
ClickHouse在携程酒店应用 蔡岳毅
https://cloud.tencent.com/developer/article/1462633
ClickHouse引擎怎么选 Roin123
https://developer.aliyun.com/article/762461
本文来源:juejin.im/post/6863283398727860238
另琐碎时间想看一些技术文章,可以去公众号菜单栏翻一翻我分类好的内容,应该对部分童鞋有帮助。同时看的过程中发现问题欢迎留言指出,不胜感谢~。另外,有想多了解哪些方面内容的可以留言(什么时候,哪篇文章下留言都行),附菜单栏截图(PS:很多人不知道公众号菜单栏是什么)
END我知道你 “在看”
牛x!一款比传统数据库快 100-1000 倍的数据库,来认识一下?相关推荐
- 光量子计算机概念股,我国量子计算机比谷歌快100万倍 量子计算机概念股龙头一览...
重大突破!我国量子计算机比谷歌快100万倍,量子计算机能解决传统计算机无法解决的复杂难题,展现量子优越性.中国科学技术大学常务副校长.中国科学院院士.西湖大学创校校董潘建伟教授9月5日在西湖大学首场公 ...
- 谷歌的量子计算机速度,谷歌称其量子计算机速度比传统计算机快1亿倍
腾讯科技讯 12月11日,据科技网站ArsTechnica报道,微博)和NASA联合研发的D-Wave 2X量子计算机在测试中运行速度达到了传统芯片的1亿倍. 量子计算机,顾名思义,就是实现量子计算的 ...
- 外媒中国量子计算机,比美国快100亿倍,中国量子计算机赢得霸权!外媒致敬
据新华社12月4日报道,中国科学技术大学潘建伟.陆朝阳等组成的研究团队与国内合作,构建了76个光子的量子计算原型机"九章",实现了具有实用前景的"高斯玻色取样" ...
- 牛X | 一款比传统数据库快100-1000倍的数据库,认识一下
这是小小本周的第五篇 核酸检测 小小马上都要回学校考英语四级了,学校要求考英语四级的时候,需要做核算检测,这不,小小从小窝出发去做核算检测了.到北京佑安医院做核酸检测. 规划路线 小小规划路线中 启程 ...
- 碾压谷歌量子霸权!中国量子计算原型机 九章 问世,比超级计算机快百万亿倍...
量子优越性实验并不是一个一蹴而就的工作. " 作者 | 李帅飞 在量子计算领域,我国再次实现了里程碑式的重大突破! 12 月 4 日,中国科学技术大学宣布,该校中国科学技术大学潘建伟.陆朝阳 ...
- 数据库与python的关系_数据库 引用关系
<深入解析sas:数据处理.分析优化与商业应用>一2.4 访问关系型数据库系统中的数据 本节书摘来自华章出版社<深入解析sas:数据处理.分析优化与商业应用>一书中的第2章,第 ...
- LiFi比WiFi快100倍:它如何运作,实际应用靠谱吗
Wi-Fi对移动计算的使用产生了巨大的影响,使员工可以在任何地方访问公司网络,咖啡店也能成为独立工作人员的办公地点. 但Wi-Fi也有其缺点,所以诞生了一个新的标准:Li-Fi,如果它可以顺利上市,将 ...
- 下一代5G网络:比4G快1000倍 普及至少需8年
互联网时代,上网在居民日常生活中已是不可分割的一部分.但是看电影,听音乐,加载游戏,甚至开网页总是"正在缓冲"中,这让很多网友叫苦不迭,于是我们总会听到各种无奈的吐槽:我等到花都谢 ...
- 比MySQL小的数据库_牛x!一个比传统数据库快 100-1000 倍的数据库!
原标题:牛x!一个比传统数据库快 100-1000 倍的数据库! 一.ClickHouse 是什么? 二.业务问题 三.ClickHouse实践 四.遇到的坑 五.总结 一.ClickHouse 是什 ...
- mysql数据库索引页号为什么从3开始_MySQL数据库快问快答
原标题:MySQL数据库快问快答 前言 今天楼主给大家列一下关于数据库几个常见问题的要点,如果大家对其中的问题感兴趣,可以自行扩展研究. 1. UNION ALL 与 UNION 的区别 UNION和 ...
最新文章
- 获取文件最后修改时间的VC代码
- 基于UDP的DDos反射放大攻击
- Linux常用命令----文件处理命令
- 【十五分钟Talkshow】工作流及工作流框架、服务
- 实习推荐 | 腾讯AI Lab虚拟人中心招聘算法工程师实习生
- php 使用 array_reduce 实现多维数组分组(groupby)聚合
- Linux下批量修改文件名
- 大白话讲解word2vec到底在做些什么
- Julia也能做爬虫?可以,但没必要
- POJ-3744 Scout YYF I 概率DP
- 深度学习李宏毅21春_16_GAN_P3
- [XMAN2018排位赛]通行证
- 【BZOJ 1006】 [HNOI2008]神奇的国度
- cad重新加载php命令,cad清理图层命令如何使用
- CC3200——中断优先级
- 图书管理系统模块,通过模糊查询实现查找图书的功能
- 图像基本处理——图像阈值和平滑
- 5G测试完毕,梦想能否照进现实
- Shutdown Xp/Server 2008 /2003等
- 【C++/C语言打印五角星----附源代码】
热门文章
- 雷军:小米MIX Alpha不是折叠屏手机,将会很震撼
- LG G8X官方图流出:LG双屏手机也意外曝光 或IFA发布
- 连亏172亿,割肉卖楼,年收3700亿、闻名全球的巨头,败退中国!
- 最流畅的手机,性能、跑分却弱爆了?2019年上半年手机数据报告出炉
- 唏嘘!这家双屏智能手机厂商宣布破产:曾被称为“俄罗斯iPhone”
- 小米盗图迪丽热巴?公关经理:占位示意 不存在故意盗图!
- 没有信号无服务器,没有信号不用怕“音离”你身边的便携式基站
- Android图片加载之初步认识bitmap
- 初入c++(四)string类和c++中的引用
- 从H264/H265码流中获取宽、高及帧率