zoukankan      html  css  js  c++  java
  • 思考--mysql 分库分表的思考

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

    多表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,上层包装分布式协议。

  • 相关阅读:
    poj 3068 Bridge Across Islands
    XidianOJ 1086 Flappy v8
    XidianOJ 1036 分配宝藏
    XidianOJ 1090 爬树的V8
    XidianOJ 1088 AK后的V8
    XidianOJ 1062 Black King Bar
    XidianOJ 1091 看Dota视频的V8
    XidianOJ 1098 突击数论前的xry111
    XidianOJ 1019 自然数的秘密
    XidianOJ 1109 Too Naive
  • 原文地址:https://www.cnblogs.com/kuang17/p/PostgreSQL.html
Copyright © 2011-2022 走看看