大家好,我是顶级架构师。
目录
一、 是什么?
:是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)
我们首先理清一些基础概念
接着我们用图示,来理解一下列式数据库和行式数据库区别
在传统的行式数据库系统中(MySQL、和MS SQL ),数据按如下顺序存储:
在列式数据库系统中(),数据按如下的顺序存储:
两者在存储方式上对比:
另外,搜索公众号Linux就该这样学后台回复“电子书”,获取一份惊喜礼包。
以上是基本介绍,更多可以查阅官方手册:
二、业务问题
业务端现有存储在Mysql中,5000万数据量的大表及两个辅表,单次联表查询开销在3min+,执行效率极低。经过索引优化、水平分表、逻辑优化,成效较低,因此决定借助来解决此问题
最终通过优化,查询时间降低至1s内,查询效率提升200倍!
希望通过本文,可以帮助大家快速掌握这一利器,并能在实践中少走弯路。
三、实践
1.Mac下的安装
我是通过安装,查看教程:
也可以下载CK编译安装,相对麻烦一些。
2.数据迁移:从Mysql到
支持Mysql大多数语法,迁移成本低,目前有五种迁移方案:
选择第三种方案做数据迁移:
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
5000万
600MB
1s内
4.数据同步方案
临时表
新建temp中间表,将Mysql数据全量同步到内temp表,再替换原中的表,适用数据量适度,增量和变量频繁的场景
synch
开源的同步软件推荐:synch
原理是通过Mysql的日志,获取sql语句,再通过消息队列消费task
5.为什么快?
四、遇到的坑
1.与mysql数据类型差异性
用Mysql的语句查询,发现报错:
解决方案:LEFT JOIN B b ON (h.id) = (ec.),中转一下,统一无符号类型关联。扩展
2.删除或更新是异步执行,只保证最终一致性
查询CK手册发现,即便对数据一致性支持最好的,也只是保证最终一致性:
如果对数据一致性要求较高,推荐大家做全量同步来解决
五、总结
通过实践,完美的解决了Mysql查询瓶颈,20亿行以下数据量级查询,90%都可以在1s内给到结果,随着数据量增加,同样也支持集群,大家如果感兴趣,可以积极尝试 : )
-已完结-
为了跟上AI时代我干了一件事儿,我创建了一个知识星球社群:ChartGPT与副业。想带着大家一起探索ChatGPT和新的AI时代。
有很多小伙伴搞不定ChatGPT账号,于是我们决定,凡是这三天之内加入ChatPGT的小伙伴,我们直接送一个正常可用的永久ChatGPT独立账户。
简单说下这个星球能给大家提供什么:
星球分享:
1、不断分享如何使用ChatGPT来完成各种任务,让你更高效地使用ChatGPT,以及副业思考、变现思路、创业案例、落地案例分享。
2、分享ChatGPT的使用方法、最新资讯、商业价值。
3、探讨未来关于ChatGPT的机遇,共同成长。
4、帮助大家解决ChatGPT遇到的问题。
5、不定期邀请大咖进行分享。
6、提供一整年的售后服务,一起搞副业
星球福利:
1、加入星球4天后,就送ChatGPT独立账号。
2、邀请你加入ChatGPT会员交流群。
3、赠送一份完整的ChatGPT手册和66个ChatGPT副业赚钱手册。
其它福利还在筹划中... 不过,我给你大家保证,加入星球后,收获的价值会远远大于今天加入的门票费用 !
本星球第一期原价399,目前属于试运营,早鸟价119,每超过50人涨价10元,星球马上要来一波大的涨价,如果你还在犹豫,可能最后就要以更高价格加入了。。
早就是优势。建议大家尽早以便宜的价格加入!
昨天发的20个优惠卷已经用完,今天我又放出来了100个20元优惠卷,相当于99元就能加入。 早就是优势!对了现在加入还送一个ChatGPT独享帐号。 名额有限,先到先得: 欢迎大家进行观点的探讨和碰撞,各抒己见。如果你有疑问,也可以找我沟通和交流。扩展:
最后给读者整理了一份BAT大厂面试真题,需要的可扫码回复“面试题”即可获取。
公众号后台回复架构或者架构整洁有惊喜礼包!
顶级架构师交流群
「顶级架构师」建立了读者架构师交流群,大家可以添加小编微信进行加群。欢迎有想法、乐于分享的朋友们一起交流学习。
扫描添加好友邀你进架构师群,加我时注明【姓名+公司+职位】