Mycat相关

1、什么是水平切分和垂直切分?各自的优缺点是什么?

1.1 水平切分:按照某个字段的某种规则,把数据切分到多张数据表。一张数据表化整为零,拆分成多张数据表,这样就可以起到缩表的效果了。

      优点:水平切分可以把数据切分到多张数据表,可以起到缩表的作用。

      缺点:1、扩容比较麻烦;2、不同数据表的切分规则并不一致,要根据实际业务来确定,在选择中间件的时候,要选择支持多种切分规则中间件,例:Mycat。

1.2 垂直切分:根据业务来拆分数据库,同一类业务的数据表拆分到一个独立的数据库,另一类的数据表拆分到其他数据库。

      优点:垂直切分可以降低单节点数据库的负载。

      缺点:垂直切分不能解决的缩表问题。

2、什么叫混合切分?

如果切分规则包含水平切分,则为混合切分。

3、搭建mycat的核心配置文件是哪些?

3.1 schem.xml 配置参数:逻辑库,逻辑表,数据节点。节点主机

3.2 rule.xml:分片规则

3.3 server.xml:连接mycat的用户信息(账号和密码)以及mycat服务端口号

4、进行库表拆分时,拆分规则怎么取舍?

4.1 不存在热点数据时,则使用连续分片

4.2 存在热点数据时,使用离散分片或者是综合分片

4.3 离散分片暂时迁移比较麻烦(但是mycat给出了数据迁移的脚本,虽然现在还是不是很完美),综合分片占用总机器数量多

5、Mycat中实现全局ID方案有哪些?程序自定义实现全局ID方案有哪些?

5.1 mycat的全局id方案

5.1.1 本地文件方式:

      sequnceHandlerType = 0

      配置sequence_conf.properties

      使用next value for MYCATSEQ_XXX

5.1.2 数据库方式

      sequnceHandlerType = 1

      配置sequence_db_conf.properties

      使用next value for MYCATSEQ_XXX或者指定autoIncrement

5.1.3 本地时间戳方式

      ID= 64 位二进制 (42(毫秒)+5(机器 ID)+5(业务编码)+12(重复累加)

      sequnceHandlerType = 2

      配置sequence_time_conf.properties

      指定autoIncrement

5.1.4 程序方式

(1)Snowflake

(2)UUID

(3)Redis

6、mycat是怎样实现分库分表的?

mycat里面通过定义路由规则来,及mycat三个重要配置中的rule.xml配置文件。rule.xml配置文件中会指定分片字段、以及分片算法。

9、Mycat 中,旧系统数据如何迁移到 Mycat 中?

在已经创建好各数据库几点,并配置好mycat服务器中的schema.xml和rule.xml两个配置后,然后通过 dump或 loaddata 方式导入,后续 Mycat 就做旧数据自动数据迁移工具。

10.Mycat 如何对旧分片数据迁移或扩容,支持自动扩容么?

目前除了一致性 hash 规则分片外其他数据迁移比较困难,目前暂时可以手工迁移,未提供自动迁移方案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值