MySQLFabric概述(二)

2014-11-24 13:57:11 · 作者: · 浏览: 1
,只是在建立database connection object时database connection URL不是指向数据库,改为指向MySQL Fabric管理节点(服务器的IP和端口通常是32274)。当查询的表时全局表(不做table shard)或DDL(例如建表或改表结构)时,建立connection object的要加上''fabricServerGroup="参数,之后通过这个connection object所下的SQL指令会送到Global Group的主数据库,再由数据库复制到其他的高可用组(shard)中。如果SQL命令所要操作的表时分区表(shard table),则建立connection object时要在参数加上''fabricShardTable="参数,之后通过这个connection object所下的SQL命令会根据MySQL Fabric所设定的分表(shard)原则送到各分区(shard)的高可用组。这样一来,应用程序对这些shard table下的SQL指令时,不需要在SQL中判断要送到哪个数据库,完全由connector在建立数据库连接时向MySQL Fabric所查到的server farm的配置信息(哪个数据库属于哪个shard group,各shard table的拆分原则等)所决定。而且这个配置在建立主连接后就缓存在Connector所在的应用端。这样,在每次下SQL指令时就不需要重复查询MySQL Fabric管理节点,而依存于应用端的分表配置直接送到正确的数据库。而应用程序的效率不会因为做了表的拆分而有任何降低。

结语

MySQL Fabric推出正式发行版才两个多月,已经引起许多重量级MySQL用户的注意和使用。而 Oracle也不吝于加大对它的投资,以加速其功能更加完善。现在已推出一个更新版,在最新版的MySQL Fabric加上了对SSL连接的支持,近期内对Fabric改良的重点将着重于使Fabric对应用程序更加透明化(例如单一SQL对shard table的查询条件可以跨shard)、支持更多的高可用方案、提供更加有好易用的GUI等。在此建议关心MySQL发展的朋友可以留意这个产品的发展,进一步试用它。将能的意见和心得反映给Oracle,如果您满意它所提供的功能和稳定性,可以将它加入您的投产 系统正式营运,Fabric的开发团队会很欢迎大家对这个MySQL家族的新成员所做的任何贡献。本文的目的是介绍MySQL Fabric要解决的问题和Fabric的架构,至于详细的设定和操作,请容我在下一篇文章中以一个示例和各位分享,敬请期待。