加入收藏 | 设为首页 | 会员中心 | 我要投稿 好传媒网 (https://www.haochuanmei.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MyCat数据库的基础配置及使用

发布时间:2019-09-17 11:16:43 所属栏目:MySql教程 来源:宜信技术学院
导读:一、为什么需要分布式数据据库 随着计算机和信息技术的迅猛发展,行业应用系统的规模迅速扩大,行业应用所产生的数据量呈爆炸式增长,动辄达到数百TB甚至数百PB的规模,已远远超出传统计算技术和信息系统的处理能力,集中式数据库面对大规模数据处理逐渐表

schema标签用于定义MyCat实例中的逻辑库。MyCat可以有多个逻辑库,每个逻辑库都有自己的相关配置。可以使用schema标签来划分不同的逻辑库,如果有配置schema标签,则所有的表配置都会属于同一个默认的逻辑库。

  1. <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100"> 
  2. <table name="travelrecord" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" /> 
  3. </schema> 
  4. <schema name="USERDB" checkSQLschema="false" sqlMaxLimit="100"> 
  5. <table name="company" dataNode="dn10,dn11,dn12" rule="auto-sharding-long" /> 
  6. </schema> 

如上所示配置了两个不同的逻辑库,逻辑库的概念等同于MySQL数据库中的Database概念,我们在查询逻辑库中的表时,需要切换到该逻辑库下才可以查询其中的表。

checkSQLschema属性,当把该值设置为true时,如果我们执行语句 select * from TESTDB.travelrecord;,则MyCat会把schema字符去掉,把SQL语句修改为select * from travelrecord;可避免发送到后端数据库执行时报错。

SqlMaxLimit属性,当该属性设置为某个值时,每次执行的SQL语句如果没有加上limit语句,MyCat也会自动在limit语句后加上对应的值。如果不设置该值,则MyCat会把查询到的信息全部返回。

2)table 标签

<table name=”travelrecord” dataNode=”dn1,dn2,dn3” rule=”auto-sharding-long”></table> 

table标签定义了MyCat中的逻辑表,所有需要拆分的的表都需要在table标签中定义。

table标签的主要属性见下表,具体介绍参见MyCat官方网站 http://www.MyCat.io 。

3)childTable 标签

childTable标签用于定义 E-R 分片的子表,通过标签上的属性与父表进行关联。

4)dataNode标签

dataNode标签定义了MyCat中的数据节点,也就是我们通常所说的数据分片。一个dataNode标签就是一个独立的数据分片。

5)dataHost标签

dataHost标签在MyCat逻辑库中作为底层标签存在,直接定义了具体的数据库实例,读写分离和心跳语句。

Heartbeat标签用来配置心跳检查语句,Mysql可以使用select user(),Oracle可以使用select 1 from dual 等。

(编辑:好传媒网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读