数据库-数据库代理-元数据管理

调研了下面8家数据库代理

  • 1.Oracle/mysql-router,前身是mysql-proxy

(支持元数据动态修改,会实时同步命令到所有mysql上, 同时自身存储元数据状态)

官方对元数据的描述: https://dev.mysql.com/doc/mysql-router/8.0/en/mysql-router-general-metadata.html

  • 2.京东数科/shardingsphere

(支持元数据动态修改, 文件+内存+第三方(etcd,nacos,zk,Apollo等))

官方对元数据的描述: https://shardingsphere.apache.org/document/current/cn/features/orchestration/config-center/

  • 3.sysown/proxysql

(支持元数据动态修改, 文件+内存+SQLite3)

官方对元数据的描述: https://github.com/sysown/proxysql/wiki/Global-variables

  • 4.奇虎360/Atlas

(奇虎360基于mysql官方mysql-proxy二次开发)

官方对元数据的描述: https://github.com/Qihoo360/Atlas/wiki/Atlas%E9%83%A8%E5%88%86%E9%85%8D%E7%BD%AE%E5%8F%82%E6%95%B0%E5%8F%8A%E5%8E%9F%E7%90%86%E8%AF%A6%E8%A7%A3

  • 5.flike/kingshard

(支持元数据动态修改, 文件+内存)

官方对元数据的描述: https://github.com/flike/kingshard/blob/master/doc/KingDoc/admin_command_introduce.md

  • 6.阿里巴巴/cobar

(不支持元数据,事务和字符集设置语句除外)

官方对元数据的描述: https://github.com/alibaba/cobar/wiki/%E4%BD%BF%E7%94%A8%E7%BA%A6%E6%9D%9F

Cobar - Alibaba Open Sesame.pdf

  • 7.overview/vitess

(支持元数据动态修改, etcd)

官方对元数据的描述: https://vitess.io/zh/docs/overview/architecture/

  • 8.siddontang/mixer

(不支持元数据,事务和字符集设置语句除外)

官方对元数据的描述: https://github.com/siddontang/mixer


总结

  • 元数据结构 {type, key, value}. 注:值可以为json.

  • 元数据的数据(代理的普通用户账号, 代理的状态信息, 前端的状态信息,后端的状态信息, 以及统计信息)

  • 元数据的生命周期. session, global(本地持久化,本地内存, 第三方存储)

  • 用户可以通过sql或UI或API去操作元数据,实时的修改状态,账号密码,以及代理的路由逻辑等。

比如:

admin> select @@mysql-query_processor_regex; 
admin> set @@mysql-query_processor_regex='^select .* test1.*';
admin> select * from stats_mysql_query_rules;
+---------+------+
| rule_id | hits |
+---------+------+
| 1       | 1    |
| 2       | 1    |
+---------+------+

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

备案信息公示
京ICP备18003381号
京ICP备18003381号-1