Mysql集群的构想。我在YY别理我。
我在YY。我在YY的程序的结构。  5555 ...
扫描右侧二维码阅读全文
21
2008/11

Mysql集群的构想。我在YY别理我。

我在YY。

我在YY的程序的结构。

 

5555 /-mysql server 1 / client --query-->我在YY的程序----mysql server 2 \ \-mysql server N

我在YY的程序的功能:
“我在YY的程序”可以设置一个规则,暂定根据表的key id按照一定范围分别存贮到不同的mysql server中。大于规则中设定的key id以后,按照另外的规则在mysql server x中建立新的标结构。“我在YY的程序”会读取所有的mysql server在内存中建立完整的表内容。
web程序数据查询连接“我在YY的程序”服务器。使用标准的sql语句select、insert、update 和delete。

select 语句读取内存返回。
insert 写入key id对应的mysql server,然后内存表中也插入。
update 根据key id update对应的mysql server,然后内存表也update。
delete 同update。

我在YY~~

Last modification:November 26th, 2018 at 04:16 pm
If you think my article is useful to you, please feel free to appreciate

16 comments

  1. udvlin

    我在自己的框架中实现了这样的方式!
    通过TableStrategy Object来实现分表部署!
    当然这样做没有mysql proxy之类的效率高,不过可以很好的控制 TableStrategy的规则!
    TableStrategy由程序员编写,Adapter中会加载配置中相对应的TableStrategy Object,这样可以很好的实现每个表都有自己的策略对象!

  2. logzgh

    基本思路是在程序和mysql之间增加一个中间层,我们叫数据路由。
    程序只是连接到这个数据路由层。
    数据路由根据key值,将sql发给相应的mysql db

  3. Johnny Woo

    楼上的这个原理我原来也想写
    但是其实MYSQL的BUFFER里面已经有了.他本身会根据SQL语句进行hash然后记录value的.如果一致就直接返回.

  4. ready

    To: Rong
    全部装入内存确实太大了。不可取。而且所有的查询都有“我YY的程序”返回的话,这台机器就成为了整个架构的瓶颈。
    前面再看GFS,确实是个好东西。研究中

  5. est

    mysql-proxy?

  6. Rong

    To:ready
    “在内存中组建一张完整的表”会不会太占内存了,能不能组建一个专为检索的索引表,会不会好点

  7. ready

    To:xi2008wang
    你取得名字跟我想象的一样。如果能弄出来就叫这个了。哈哈

    To:logzgh
    能说说你使用的是什么方式的吗?

    To:Rong
    我设想的是“我YY的程序”会在内存中组建一张完整的表。检索结果由“我YY的程序”返回。后面的mysql server 1~N其实只是用来保存数据而已。

    To:ShiningRay
    我知道这个叫做“中间件”。之前没有google过,这就去google下。

  8. Johnny Woo

    楼上提到的是哪种检索?
    order排序?
    那要看你的应用了.不是所有内容都可以分表的.
    不过真的要做分表的检索.也不是不行.
    取出来在到一台上去建立专用的集合表.然后排序
    没人会在几十G的数据库上排序吧.

  9. logzgh

    这不是yy,我们现在分布式的mysql就是这么做的

  10. xi2008wang

    真搞笑..
    当程序搞出来时, 名字一定叫MY-YY

  11. ShiningRay

    请搜索“MySQL中间件“

  12. ShiningRay

    你YY的程序叫中间件

  13. Even

    在Google Reader里,你的结构是这样的:
    /-mysql server 1
    /
    client –query–>我在YY的程序—-mysql server 2
    \
    \-mysql server N

    我顿时糊涂了...跳转之后才恍然大明白~

    貌似“你YY的程序”那是个数据分片的工具吧,网上应该有类似的开源项目,以mysql-proxy的方式,实现数据分片以及对片的管理...

  14. ready

    我的想法是通过这套程序让mysql拥有oracle那样的处理能力。

    我承认我在YY~~

  15. Johnny Woo

    mysql proxy可以对sql语句变形
    也就能达到针对不同语句分发到不同后端的功能
    稳定性目前不清楚.似乎没有生产环境再用.
    目前还是在代码逻辑层面在处理

  16. Rong

    一张表散列在不同数据库上,检索怎么弄

Leave a Comment