一、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 或者是一大堆的服務器 一大堆的網絡路由設備 或是私有雲。或者是一大堆的數據庫運維實施人員 都是成本
十二、配置文件不會變多,配置的節點主機會變多?
不會
