目前mysql分库分表中间件好用的有哪个

目前mysql分库分表中间件好用的有哪个,第1张

其优点: 分库分表与应用脱离,分库表如同使用单库表一样

减少db 连接数压力

热重启配置

可水平扩容

遵守Mysql原生协议

无语言限制,mysqlclient,c,java等都可以使用

Heisenberg服务器通过管理命令可以查看,如连接数,线程池,结点等,并可以调整

采用velocity的分库分表脚本进行自定义分库表,相当的灵活

之前在组里有做过简单的分享,这段时间稍微轻松了点,先分享出来,看有没有更好的idea在这块有所提升

下面开始介绍heisenberg

1.heisenberg总体架构

首先这块架构:

应用对于heisenberg集群来说就是mysql客户端,

而heisenberg也是集成了mysql的原生协议,所以对于应用来说,就相当于单库单表的数据源

无论是mysql客户端,c,jdbc驱动等都可以访问heisenberg服务器,由服务器把分库分表的工作给做掉了

访问heisenberg集群可以通过像lvs,F5等负载软件/设备解决,

其实一台heisenberg的性能是相当的赞了,我压力到2320TPS load 都还只有0.1-0.3左右(CPU 8core,16G),由于找不到mysql物理机器了,只得做罢

服务端内部结构:

mysql对数据库和表的大小都没有做限制,mysql是一个软件,每一个表都是一个独立的文件,大小要看具体 *** 作系统对单个文件的限制。因此,很大,一般不需要管它 。

mysql自5.1以后支持分区表,语法同Oracle类似

分区表类型有range、list、hash、key等几种,我给一个range分区的例子吧

CREATE TABLE employees (

id INT NOT NULL,

fname VARCHAR(30),

lname VARCHAR(30),

hired DATE NOT NULL DEFAULT '1970-01-01',

separated DATE NOT NULL DEFAULT '9999-12-31',

job_code INT NOT NULL,

store_id INT NOT NULL

)

PARTITION BY RANGE (store_id) (

PARTITION p0 VALUES LESS THAN (6),

PARTITION p1 VALUES LESS THAN (11),

PARTITION p2 VALUES LESS THAN (16),

PARTITION p3 VALUES LESS THAN (21)

)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7201981.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存