Mycat2
Mycat2 copied to clipboard
MySQL Proxy using Java NIO based on Sharding SQL,Calcite ,simple and fast
分片后 select 怎样指定节点查询数据
**Is your feature request related to a problem? Please describe.** A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] **Describe the solution you'd...
我用C#写的应用,使用的是mysql.data.dll官方库; 连接mycat正常 读写100%报“关键字不在词典中” 最后我换了pomelo.data.dll问题得以解决 但pomelo是非官方库,我不确定是否存在隐患。 请mycat团队关注上述问题
throw new MycatException 需要根据MycatException 的code做业务处理,但封装的sendError 是没将errcode set到 mycatDataContext,所以返回的errorPacket errno默认都是0,MycatException的errcode为什么不写到errorPacket包里去呢?
索引表
**第一阶段检查点** 1.用户可以使用SQL语句补充索引信息 2.Mycat能收集sql中的索引字段信息,并提取其值 3.提供索引服务,记录索引值与索引行的关系 4.索引服务能返回结果集 5.对于满足使用索引服务的sql,能返回索引结果集
init: MYCAT-3002:ERR_FETCH_METADATA MYCAT-3036:ERR_INIT_CONFIG common: MYCAT-3029:ERR_QUERY_CANCLED MYCAT-3034:ERR_NOT_SUPPORT query: MYCAT-3001:ERR_TABLE_NOT_EXIST MYCAT-3010:ERR_STATEMENT_PARAMS MYCAT-3012:ERR_SQL_QUERY_TIMEOUT MYCAT-3013:ERR_SQL_DISTRIBUTED_QUERY_TIMEOUT MYCAT-3014:ERR_PARSE MYCAT-3021:ERR_MODIFY_SHARDING_COLUMN MYCAT-3022:ERR_SHARDING_KEY_NOT_EXIST MYCAT-3023:ERR_INSERT_SHARDING_KEY_NOT_EXIST MYCAT-3026:ERR_MODIFY_SYSTEM_TABLE optimizer: MYCAT-3019:ERR_OPTIMIZE MYCAT-3020:ERR_OPTIMIZE_HINT cluster: MYCAT-3003:ERR_CLUSTER_NOT_AVALILABLE MYCAT-3009:ERR_DB_DOWN MYCAT-3011:ERR_CLUSTER_NOT_STABLE connection: MYCAT-3004:ERR_GET_CONNECTION_UNKNOWN_REASON MYCAT-3005:ERR_GET_CONNECTION_KNOWN_REASON MYCAT-3006:ERR_GET_CONNECTION_POOL_FULL MYCAT-3008:ERR_CONNECTION_ACCESS_DENIED MYCAT-3024:ERR_CONNECTION_CHARSET MYCAT-3030:ERR_UNKNOWN_DATABASE...
功能范围 实现自动分片hash型的数据迁移,一个分片表涉及多个dataNode,该数据迁移的目的不是通过更改分片数量实现数据扩容或者缩容.而是在已有dataNode的情况下,把dataNode指向的数据,复制到新的dataNode,然后通过更新表的配置,实现数据迁移.一般来说,一开始的所有dataNode都在同一个机器,通过dataNode迁移命令,可以把一半的dataNode的数据,迁移到另外一台机器上面,此时就有两台机器共同构成分表的数据,通过两台机器一起处理sql请求,提高处理性能,减少处理时间.所以该功能与分片数量没有关系.但是可以通过加机器扩展性能. 具体的说 在面向集群层次上设计这个命令,大概是,该命令的参数可能只有两个,旧集群,新集群.通过表配置,寻找与旧集群相关的dataNode,如果是全局表,当然就是把表数据完整复制一遍,如果是单表,不操作,单表不涉及扩容,数据保留在旧集群.如果是分片表,就把相关的dataNode分为两部分,一部分留在旧集群,不迁移,新的部分迁移到新分片. 在面向表层次上设计这个命令的话,该命令的参数也是两个,迁移的分片表,新的集群,具体来说,就是把该分片表把新的集群纳入dataNode配置中,重新平衡dataNode分片,计算出迁移任务,然后迁移. 而新集群上的全局表是否要建立,这个可能是个可选的参数. 不处理规则分片算法的数据迁移,规则分片算法的迁移应该由用户实现
大致看了下,现在好像还没有sharding功能? 什么时候可用? 或者有没有明确的sharding思路,可以大家一起来加代码。
咨询oracle分布式查询场景 比如我有3个oracle数据库实例,每个数据库都有1个相同的表,但这3个表中的数据都不重复,前端在查询的时候需要自动做3个表的合并,mycat适用这个场景吗?