分散式最通俗的解釋,我自己的整理。
阿新 • • 發佈:2019-02-05
1.設定多個數據庫要進行分庫:(cobar,tddl,mysql-proxy等技術)
1.Cobar的分散式主要是通過將表放入不同的庫來實現:
1. Cobar支援將一張表水平拆分成多份分別放入不同的庫來實現表的水平拆分
2. Cobar也支援將不同的表放入不同的庫
3. 多數情況下,使用者會將以上兩種方式混合使用
這裡需要強調的是,Cobar不支援將一張表,例如test表拆分成test_1, test_2, test_3.....放在同一個庫中,必須將拆分後的表分別放入不同的庫來實現分散式
2.其次,我們也需要注意Cobar的功能約束:
1) 不支援跨庫情況下的join、分頁、排序、子查詢操作。
2) SET語句執行會被忽略,事務和字符集設定除外。
3) 分庫情況下,insert語句必須包含拆分欄位列名。
4) 分庫情況下,update語句不能更新拆分欄位的值。
5) 不支援SAVEPOINT操作。
6) 暫時只支援MySQL資料節點。
7) 使用JDBC時,不支援rewriteBatchedStatements=true引數設定(預設為false)。
8) 使用JDBC時,不支援useServerPrepStmts=true引數設定(預設為false)。
9) 使用JDBC時,BLOB, BINARY, VARBINARY欄位不能使用setBlob()或setBinaryStream()方法設定引數。
2.既然設定了多個伺服器,肯定需要用什麼東西來分發請求:(nginx,apache 等技術)
1.nginx是一款開源的,高效能的HTTP伺服器,本身可託管網站(類似Tomcat),進行Http請求處理,
1.Cobar的分散式主要是通過將表放入不同的庫來實現:
1. Cobar支援將一張表水平拆分成多份分別放入不同的庫來實現表的水平拆分
2. Cobar也支援將不同的表放入不同的庫
3. 多數情況下,使用者會將以上兩種方式混合使用
這裡需要強調的是,Cobar不支援將一張表,例如test表拆分成test_1, test_2, test_3.....放在同一個庫中,必須將拆分後的表分別放入不同的庫來實現分散式
2.其次,我們也需要注意Cobar的功能約束:
1) 不支援跨庫情況下的join、分頁、排序、子查詢操作。
2) SET語句執行會被忽略,事務和字符集設定除外。
3) 分庫情況下,insert語句必須包含拆分欄位列名。
4) 分庫情況下,update語句不能更新拆分欄位的值。
5) 不支援SAVEPOINT操作。
6) 暫時只支援MySQL資料節點。
7) 使用JDBC時,不支援rewriteBatchedStatements=true引數設定(預設為false)。
8) 使用JDBC時,不支援useServerPrepStmts=true引數設定(預設為false)。
9) 使用JDBC時,BLOB, BINARY, VARBINARY欄位不能使用setBlob()或setBinaryStream()方法設定引數。
2.既然設定了多個伺服器,肯定需要用什麼東西來分發請求:(nginx,apache 等技術)
1.nginx是一款開源的,高效能的HTTP伺服器,本身可託管網站(類似Tomcat),進行Http請求處理,