Download presentation
Presentation is loading. Please wait.
1
MariaDB Spider分库分表引擎调研
2
贺春旸
3
目前开源的几款分库分表中间件 MariaDB Spider引擎的安装 MariaDB Spider引擎的使用 MariaDB Spider引擎的性能压力测试
5
MySQL Fabric目前性能很差
6
Cobar 限制太多
7
Altas 不是真正意义的分布式数据库 分表的话只支持单库多表,并不支持分布式分表,所有分表都在同一个库中。也就是说不能在多台服务器上分表。
8
开发无需调整代码,应用层跟访问单机MySQL一样。 DBA部署简单,由于MariaDB10 默认已经捆绑了Spider引擎,无需安装。
开发无需调整代码,应用层跟访问单机MySQL一样。 DBA部署简单,由于MariaDB10 默认已经捆绑了Spider引擎,无需安装。 支持任意类型的SQL,没有Cobar那么多的限制。 后端DB可以是任一版本,MySQL5.1/5.5/5.6,并不需要像Fabric一样,开启GITD复制模式。
9
MariaDB Spider引擎安装 mysql -uroot -p < /usr/local/mysql/share/install_spider.sql SELECT engine, support, transactions, xa FROM information_schema.engines; /etc/init.d/mysql restart
10
MariaDB Spider引擎使用 定义后端服务器和数据库名字 CREATE SERVER backend1
FOREIGN DATA WRAPPER mysql OPTIONS( HOST ' ', DATABASE 'backend1', USER 'admin', PASSWORD '123456', PORT 3306 );
11
MariaDB Spider引擎使用 定义分片规则 CREATE TABLE `sbtest1` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT, `k` int(10) unsigned NOT NULL DEFAULT '0', `c` char(120) NOT NULL DEFAULT '', `pad` char(60) NOT NULL DEFAULT '', PRIMARY KEY (`id`), KEY `k` (`k`) ) ENGINE=SPIDER DEFAULT CHARSET=utf8 COMMENT='wrapper "mysql", table "sbtest1"' PARTITION BY LIST (mod(id,2)) (PARTITION p0 VALUES IN (0) COMMENT = 'srv "backend1"' ENGINE = SPIDER, PARTITION p1 VALUES IN (1) COMMENT = 'srv "backend2"' ENGINE = SPIDER);
12
MariaDB Spider引擎官方性能压测结果
13
MariaDB Spider引擎官方性能压测结果
14
MariaDB Spider引擎 生产环境慎用!
腾讯的Tspider是基于官方Spider引擎二次研发,性能提高了30%,官方原版Spider目前还不稳定,性能有待加强。
Similar presentations