作者:马莹乐

爱可生研发团队成员,负责 mysql 中间件的测试。本人是测试技术爱好者,欢迎大家试用 dble 新功能~

本文来源:原创投稿

*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。

一、dble 介绍

dble 是上海爱可生信息技术股份有限公司基于 mysql 的高可扩展性的分布式中间件,存在以下几个优势特性:

上海爱可生信息技术股份有限公司

http://www.actionsky.com/

  • 数据水平拆分

    随着业务的发展,您可以使用 dble 来替换原始的单个 MySQL 实例。

  • 兼容 Mysql

    与 MySQL 协议兼容,在大多数情况下,您可以用它替换 MySQL 来为你的应用程序提供新的存储,而无需更改任何代码。

  • 高可用性

    dble 服务器可以用作集群,业务不会受到单节点故障的影响。

  • SQL 支持

    支持 SQL 92 标准和 MySQL 方言。我们支持复杂的 SQL 查询,如 group by,order by,distinct,join,union,sub-query 等等。

  • 复杂查询优化

    优化复杂查询,包括但不限于全局表连接分片表,ER 关系表,子查询,简化选择项等。

  • 分布式事务支持

    使用两阶段提交的分布式事务。您可以为了性能选择普通模式或者为了数据安全采用 XA 模式。当然,XA 模式依赖于 MySQL-5.7 的 XA Transaction,MySQL 节点的高可用性和数据的可靠性。

项目地址
https://github.com/actiontech/dble

二、dble 在版本 3.20.10.0 中引入了纯读写分离功能

dble 在版 3.20.10.0 中引入了独立于分库分表业务功能的纯读写分离功能,详见 Release Notes,并在刚发布的 3.21.02.0 版本中做了进一步的完善~

纯读写分离功能

https://actiontech.github.io/dble-docs-cn/2.Function/2.03_RW_Split.html

Release Notes

https://github.com/actiontech/dble/releases/tag/3.20.10.0%2Ftag

三、dble 读写分离中隐式提交支持度

No.触发隐式提交的 sql是否支持
1ALTER EVENT test支持
2ALTER FUNCTION test支持
3ALTER PROCEDURE test支持
4ALTER SERVER test支持
5ALTER TABLE test支持
6ALTER VIEW test支持
7CREATE DATABASE test支持
8CREATE EVENT test支持
9CREATE FUNCTION test支持
10CREATE INDEX test支持
11CREATE PROCEDURE test支持
12CREATE ROLE test支持(MySQL8.0)
13CREATE SERVER test支持
14CREATE SPATIAL REFERENCE SYSTEM支持(MySQL8.0)
15CREATE TABLE test支持
16CREATE TRIGGER test支持
17CREATE VIEW test支持
18DROP DATABASE test支持
19DROP EVENT test支持
20DROP FUNCTION test支持
21DROP INDEX test支持
22DROP PROCEDURE test支持
23DROP ROLE test支持(MySQL8.0)
24DROP SERVER test支持
25DROP SPATIAL REFERENCE SYSTEM支持(MySQL8.0)
26DROP TABLE test支持
27DROP TRIGGER test支持
28DROP VIEW test支持
29INSTALL PLUGIN test支持
30RENAME TABLE test支持
31TRUNCATE TABLE test支持
32UNINSTALL PLUGIN支持
33ALTER USER test支持
34CREATE USER test支持
35DROP USER test支持
36GRANT test支持
37RENAME USER test支持
38REVOKE test支持
39SET PASSWORD不支持(受限于 druid)
40BEGIN支持
41LOCK TABLES test支持
42START TRANSACTION test支持
43LOAD DATA test不支持
44SET autocommit = 1支持
45ANALYZE TABLE test不支持
46CACHE INDEX test不支持
47CHECK TABLE test不支持
48FLUSH不支持
49LOAD INDEX INTO CACHE不支持
50OPTIMIZE TABLE test不支持
51REPAIR TABLE test不支持
52RESET test不支持
53START SLAVE test不支持
54STOP SLAVE不支持
55RESET SLAVE不支持
56CHANGE MASTER TO不支持