數據庫中間件扮演了一個怎樣的角色?
在數據庫分庫分表中,中間件就相當于一個adapter(適配器),開發中你不需要去關心分庫分表是怎么實現,你只需要正常操作就行。
像常見的分庫分表中間件sharding-jdbc, Mycat, DBproxy,atlas,它們做的其實就是適配器的活。
我上層業務不需要關心你怎么去分庫分表,我只要配置好規則就行,在寫CRUD的時候不用去指明具體的表明,就好像你操作的就是一個數據庫表一樣。
分庫分表是是能解決表數據太大的問題,但是它也存在很多問題,其中很多問題是中間很難去解決的。就拿簡單的分頁來說,光是為了知道頁數就需要查詢很多張表,然后在進行分頁。更復雜的有join操作,統計操作這類的,現在很多中間件都不支持多表關聯。
從上面可以看出,分庫分表的中間件起到了適配的作用,還不能支持太復雜的操作,簡而言之就是“一個功能待完善的適配器”。