思考--mysql 分库分表的思考

探讨了在Citus、TiDB等分布式数据库中处理Join操作及分析功能的方法,对比了使用MySQL分库分表与ES结合、PG底层加分布式协议的不同方案。

查询不在分库键上怎么办,扫描所有库?由于分库了,每个库扫描很快?所以比单个表的扫描肯定快,可以这样理解吗。

 

多表jion怎么弄,把内层表发给每个分库吗?

 

citus,tidb 都有这些问题,citus是底层为pg,tidb底层是kv库crocksdb,他们怎么解决的?

-citus是区分了分库表和本地表,一般推荐配置一个分库表,因此不存在上面问题,但也挺傻瓜的。

-tidb目前还没看到相关信息,我的思路是将涉及到jion的表都读到内存进行jion,多个节点同时读,读取速度应该可以。那和mysql+es架构的区别呢?

 

 

难道mysql的应用这么简单,基本没有jion操作吗?

 

或者用mysql分库分表,然后上层接一个es数据库,读取mysql的表数据在es中join?

 

在GreenPlum等MPP分布式数据库中,多表jion是通过redistribute的方式,将jion内层的表数据发送到其他节点进行jion。这样的问题就是两个jion的表都很大,做jion的代价就很大。

 

那么两种方式比较一下,虽然第一种方式不确定其正确性:

1)mysql分库分表做底层,多个节点同时可读写,全表扫描快。上层用es做分析用,弥补mysql本身就很弱的分析功能。

2)底层用pg,上层包装分布式协议。

转载于:https://www.cnblogs.com/kuang17/p/PostgreSQL.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值