MyCat中间件面试题

一、Mycat是什么?

Mycat是基于MySQL的数据库中间件,目的是为了降低数据库的压力。

 

二、mycat的原理?

水平切分,一个实体库切分成多个库

三、什么叫垂直切分?

垂直切分说白就是数据库字段的业务纵向切分,而水平切分是横向数据的切分

四、什么叫混合切分?

项目组中如果有水平切分,那项目组里的开发方式就叫混合切分。或者项目组里就是单纯的垂直切分

五、项目中有没有可能只用水平切分?

不可能!因为只有大数据量的用户相关业务才会用到水平切割!小业务量的业务没有必要进行水平切割只需要垂直切成就可以!!!

六、mycat中什么是逻辑库?

逻辑库不是真实存在的,它是通过真实的库映射出来!回答:数据库集群对外的统一访问入口

七、搭建mycat的核心配置文件有哪些?

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

rule.xml:分片规则

server.xml:连接mycat的用户信息(账号和密码)

八、在项目组中,切分后的库从哪里而来?

回答:在开发中是基于原有库创建出来,并且原有库和切分后的库是数据表的设计是保持一致的。dm_order1,dm_order2,dm_order3这些库是需要和dm_order的设计保持一致的!!!!

附注:所以,切分后的库例如dm_order1,dm_order2,dm_order3这些都是有数据库维护团队创建出来的。

九、大觅网的订单业务数据库设计的开发流程:

(1)1.dm_order--->2.dm_order1,dm_order2,dm_order3

(2)逻辑库是由dm_order映射出来的(schema.xml)

(3)dm_order1,dm_order2,dm_order3这些库不是映射出来的,而是创建出来的。

分片规则这被除数3 是根据分的数据库个数变化的 如果分4个库 那么被除数就是4

十、你们项目中分片的实现方式是什么?

在rule.xml中配置PartitionByMod

十一、mycat分库可以分成100个库吗?

我们目前项目组分的是3个库,我们说一般数据量大的话我们使用的是mycat中间件进行分片处理,如果更大的话,我们可以使用oracle数据库,如果更大的话可以使用hadoop或是云存储数据,不需要mycat作为工具手段。衡量的标准是项目有没有对应的硬件设备。 如果没有,基本就是使用mysql 因为搭建一套云环境或者大数据的环境基本都是超大型的公司。比如大数据中的所有的技术,例如hbase 或者是一大堆的服务器 一大堆的网络路由设备 或是私有云。或者是一大堆的数据库运维实施人员 都是成本

十二、配置文件不会变多,配置的节点主机会变多?

不会

posted @ 2020-03-09 18:06  赵大先生  阅读(4463)  评论(0编辑  收藏  举报