作者:马莹乐
爱可生研发团队成员,负责 mysql 中间件的测试。本人是测试技术爱好者,欢迎大家试用 dble 新功能~
本文来源:原创投稿
*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。
一、dble 介绍
dble 是上海爱可生信息技术股份有限公司基于 mysql 的高可扩展性的分布式中间件,存在以下几个优势特性:
-
数据水平拆分
随着业务的发展,您可以使用 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 版本中做了进一步的完善~
三、dble 读写分离中隐式提交支持度
| No. | 触发隐式提交的 sql | 是否支持 |
|---|---|---|
| 1 | ALTER EVENT test | 支持 |
| 2 | ALTER FUNCTION test | 支持 |
| 3 | ALTER PROCEDURE test | 支持 |
| 4 | ALTER SERVER test | 支持 |
| 5 | ALTER TABLE test | 支持 |
| 6 | ALTER VIEW test | 支持 |
| 7 | CREATE DATABASE test | 支持 |
| 8 | CREATE EVENT test | 支持 |
| 9 | CREATE FUNCTION test | 支持 |
| 10 | CREATE INDEX test | 支持 |
| 11 | CREATE PROCEDURE test | 支持 |
| 12 | CREATE ROLE test | 支持(MySQL8.0) |
| 13 | CREATE SERVER test | 支持 |
| 14 | CREATE SPATIAL REFERENCE SYSTEM | 支持(MySQL8.0) |
| 15 | CREATE TABLE test | 支持 |
| 16 | CREATE TRIGGER test | 支持 |
| 17 | CREATE VIEW test | 支持 |
| 18 | DROP DATABASE test | 支持 |
| 19 | DROP EVENT test | 支持 |
| 20 | DROP FUNCTION test | 支持 |
| 21 | DROP INDEX test | 支持 |
| 22 | DROP PROCEDURE test | 支持 |
| 23 | DROP ROLE test | 支持(MySQL8.0) |
| 24 | DROP SERVER test | 支持 |
| 25 | DROP SPATIAL REFERENCE SYSTEM | 支持(MySQL8.0) |
| 26 | DROP TABLE test | 支持 |
| 27 | DROP TRIGGER test | 支持 |
| 28 | DROP VIEW test | 支持 |
| 29 | INSTALL PLUGIN test | 支持 |
| 30 | RENAME TABLE test | 支持 |
| 31 | TRUNCATE TABLE test | 支持 |
| 32 | UNINSTALL PLUGIN | 支持 |
| 33 | ALTER USER test | 支持 |
| 34 | CREATE USER test | 支持 |
| 35 | DROP USER test | 支持 |
| 36 | GRANT test | 支持 |
| 37 | RENAME USER test | 支持 |
| 38 | REVOKE test | 支持 |
| 39 | SET PASSWORD | 不支持(受限于 druid) |
| 40 | BEGIN | 支持 |
| 41 | LOCK TABLES test | 支持 |
| 42 | START TRANSACTION test | 支持 |
| 43 | LOAD DATA test | 不支持 |
| 44 | SET autocommit = 1 | 支持 |
| 45 | ANALYZE TABLE test | 不支持 |
| 46 | CACHE INDEX test | 不支持 |
| 47 | CHECK TABLE test | 不支持 |
| 48 | FLUSH | 不支持 |
| 49 | LOAD INDEX INTO CACHE | 不支持 |
| 50 | OPTIMIZE TABLE test | 不支持 |
| 51 | REPAIR TABLE test | 不支持 |
| 52 | RESET test | 不支持 |
| 53 | START SLAVE test | 不支持 |
| 54 | STOP SLAVE | 不支持 |
| 55 | RESET SLAVE | 不支持 |
| 56 | CHANGE MASTER TO | 不支持 |
本文介绍了dble作为一款基于MySQL的分布式中间件的主要特点,包括数据水平拆分、兼容MySQL、高可用性、SQL支持及优化、分布式事务支持等。此外还详细列举了dble在读写分离功能及隐式提交支持方面的特性。
1180

被折叠的 条评论
为什么被折叠?



