php網站分區,PHP - Manual: 分區和分片 (官方文檔)

分區和分片

數據庫群組是由于各種各樣的原因建立的,他可以提升處理能力、容忍錯誤,并且

提升大量服務器同時工作的的性能。群組有時會組合分區和共享功能,來將大量復雜的任務

分拆成更加簡單的任務,更加可控的單元。

插件可以支持各種各樣的 MySQL 群組,一些群組會內置一些分區和共享的方法,他們可以

被透明的使用。插件支持最常用的 MySQL 主從同步表過濾和共享 (應用級分區)。

MySQL 主從同步支持過濾方式的分區,他可以讓你創建所有數據庫同步,或者部分數據庫同步。

這樣就要求應用能夠擁有同樣的策略,你可以通過

從 1.5.0 版本開始,可以通過節點組過濾和 SQL hints 完成手動的分區和共享。

節點組過濾器可以讓你將 master 和 slave 命名成一個符號。 范例中,

master_0 和 slave_0

被放在一個命名為 Partition_A 的組中。他們能夠完全的組成一個群組。

例如,你可以使用一個節點群組用于共享,并且使用使用群組名稱作為一個地址共享,

就像 Shard_A_Range_0_100

Example #1 Cluster node groups

{

"myapp": {

"master": {

"master_0": {

"host": "localhost",

"socket": "\/tmp\/mysql.sock"

}

},

"slave": {

"slave_0": {

"host": "simulate_slave_failure",

"port": "0"

},

"slave_1": {

"host": "127.0.0.1",

"port": 3311

}

},

"filters": {

"node_groups": {

"Partition_A" : {

"master": ["master_0"],

"slave": ["slave_0"]

}

},

"roundrobin": []

}

}

}

Example #2 通過 SQL hints 完成手動分區

if?($hint)?{$sql=$hint.$sql;

}

if?(!($res=$mysqli->query($sql)))?{printf("[%d]?%s",$mysqli->errno,$mysqli->error);

returnfalse;

}$row=$res->fetch_assoc();printf("%d?-?%s?-?%s\n",$row['_thread'],$row['_hint'],$sql);

returntrue;

}$mysqli=?newmysqli("myapp","user","password","database");

if?(!$mysqli)/*?Of?course,?your?error?handling?is?nicer...?*/die(sprintf("[%d]?%s\n",mysqli_connect_errno(),mysqli_connect_error()));/*?All?slaves?allowed?*/select($mysqli,"slave_0");select($mysqli,"slave_1");/*?only?servers?of?node?group?"Partition_A"?allowed?*/select($mysqli,"slave_1","/*Partition_A*/");select($mysqli,"slave_1","/*Partition_A*/");?>

6804 - slave_0 - SELECT CONNECTION_ID() AS _thread, 'slave1' AS _hint FROM DUAL

2442 - slave_1 - SELECT CONNECTION_ID() AS _thread, 'slave2' AS _hint FROM DUAL

6804 - slave_0 - /*Partition_A*/SELECT CONNECTION_ID() AS _thread, 'slave1' AS _hint FROM DUAL

6804 - slave_0 - /*Partition_A*/SELECT CONNECTION_ID() AS _thread, 'slave1' AS _hint FROM DUAL

默認的,插件使用所有配置的 master 和 slave 進行查詢操作。但是如果一個查詢,使用

/*node_group*/ 的 SQL hint,那么插件將只使用在

node_group 列出的服務器進行查詢操作。所以,SELECT

查詢操作,只會在 /*Partition_A*/ 列出的 slave_0

中進行。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/395025.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/395025.shtml
英文地址,請注明出處:http://en.pswp.cn/news/395025.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

webBroser獲取cookie

//取當前webBrowser登錄后的Cookie值 [DllImport("wininet.dll", CharSet CharSet.Auto, SetLastError true)]static extern bool InternetGetCookieEx(string pchURL, string pchCookieName, StringBuilder pchCookieData, ref int pcchCookieData, int dwFlags…

了解Linux操作系統發展階段

一、硬件與軟件發展歷史 計算機由硬件和軟件組成結構 二、Linux的發展史 Linux 操作系統是Unix操作系統的一種克隆系統。它誕生于1991年的10月5日(只是第一次正式向外公布的時間)。以后借助于Internet網絡,并經過全世界各地計算機愛好者的共同…

c gui qt 4編程第二版_面試官問Linux下如何編譯C程序,如何回答?為你編譯演示

文章來源:嵌入式大雜燴 作者:ZhengNLWindows下常用IDE來編譯,Linux下直接使用gcc來編譯,編譯過程是Linux嵌入式編程的基礎,也是嵌入式高頻基礎面試問題。一、命令行編譯及各個細分編譯過程hello.c示例代碼:…

Python基礎-----列表、元組、集合(2)

raw_input ##字符類型input##數值類型##格式化輸出注釋切片s[2:5]##切片從2開始到5,不包括5[kioskfoundation39 mnt]$ pythonPython 2.7.5 (default, Oct 11 2015, 17:47:16) [GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] on linux2Type "help", "copyri…

調用lambda_如何使用Lambda調用上下文動態設置超時

調用lambdaby Yan Cui崔燕 如何使用Lambda調用上下文動態設置超時 (How to set timeouts dynamically using Lambda invocation context) With API Gateway and Lambda, you’re forced to use short timeouts on the server-side:使用API?? Gateway和Lambda,您不…

php+tp框架+API,php - tp框架能開發API接口嗎

怪我咯2017-04-10 17:12:231樓TP的controller其實有很多種的HproseController,JsonRpcController,RestController,RpcController,YarController我拿RestController給你介紹一下RESTFul方法的操作方法定義主要區別在于,需要對請求類型和資源類型進行判斷,…

OTL翻譯(9) --常量的SQL語句

常量的SQL語句 一個沒有綁定變量的SQL語句、SQL語句塊或是存儲過程就被稱為常量的SQL語句。OTL通過一個靜態的函數來執行這樣的SQL語句。 例如: // static otl_cursor::direct_exec()otl_cursor::direct_exec(db, // connect object"create table test_tab(f1 …

[HNOI2016]網絡 樹鏈剖分,堆

[HNOI2016]網絡 LG傳送門 表示亂搞比正解難想。 整體二分很好想吧。 但是為了好寫快樂,我們選擇三個\(\log\)的亂搞。 先樹剖,線段樹套堆維護區間最大值。對于一次修改,如果是插入,就把樹上除了這條鏈的地方加上這個重要度&#x…

python壓縮文件為zip-python 壓縮文件為zip后刪除原文件

壓縮.log 文件為zip后刪除原文件 需要注意:本人作為小白,該腳本需要和.log在一起,后面有時間需要改正。 #!/usr/local/python/bin/python #-*-codingutf8 -*- import time import os import sys import zipfile N 7 #設置刪除多少天前的文件…

css text-align-last設置末尾文本對齊方式

text-align-last:auto | start | end | left | right | center | justify auto: 無特殊對齊方式。 left: 內容左對齊。 center: 內容居中對齊。 right: 內容右對齊。 justify: 內容兩端對齊。 start&#x…

后端開發除了編碼還要做什么_每個開發人員都應掌握的基本技能(除了編碼)

后端開發除了編碼還要做什么Whether you are learning to code, looking for a new job, or just want to improve your skills as a developer, you need to master the essential tools of team collaboration. These are as important as knowing how to code.無論您是學習編…

Python中的defaultdict方法

字典(dictionary)是Python中一種常用的數據類型。不同于其他由數字索引的序列,字典是用"鍵"(key)來索引的。通常表示為dict(key: val, ...),有以下特征: 鍵可以是任何不可變&#xff…

git撤銷commit 并保存之前的修改

撤銷并保留修改 參數 –soft # 先進行commit &#xff0c;之后后悔啦$ git commit -am "對首篇報告研究員字段改為author_name"執行git log $ git logcommit 3d6788f577faba5e1d408e372031c81beee79749Author: yous <yous.com>Date: Thu Dec 14 10:08:36 2017 …

php替換中文,PHP中文替換

//定義編碼header( Content-Type:text/html;charsetutf-8 );$wordsarray(我,你,他);$content"測一測我是不是違禁詞";$bannedgenerateRegularExpression($words);//檢查違禁詞$res_bannedcheck_words($banned,$content);write_html($content,$res_banned);/*** descr…

secoclient隧道保活超時或協商超時_推薦:承德市隧道led大屏廠家電話【聯豐智慧科技】...

通過為大型隧道施工建設搭建全覆蓋式的定位&#xff0c;可以有效施工的效率、項目現場的保障能力。安裝隧道門禁能解決哪些問題&#xff1f;近年來&#xff0c;我國交通建設正處于高速發展的階段&#xff0c;在交通建設中&#xff0c;工程安防工作也越發受到&#xff0c;越來越…

JavaScript Essentials:如何為循環而煩惱

by Zell Liew由Zell Liew JavaScript Essentials&#xff1a;如何為循環而煩惱 (JavaScript Essentials: how to wrap your head around for loops) Let’s say you want to run a function, bounceBall, four times. How would you do it? Like this?假設您要運行一次功能b…

python中的類的成員變量以及property函數

1 python類的各種變量 1.1 全局變量 在類外定義的變量。 1.2 類變量 定義在類里面&#xff0c;所有的函數外面的變量。這個變量只有一份&#xff0c;是所有的對象共有的。在類外用“類.”來引用。 1.3 實例變量 用self.xxx在類的任何函數中定義的變量就是實例變量。在類內用“s…

C++常用的系統函數

數學<math.h>&#xff1a; 1 三角函數 double sin (double); double cos (double); double tan (double); 2 反三角函數 double asin (double); 結果介于[-PI/2, PI/2] double acos (double); 結果介于[0, PI] double atan (double); 反正切(主值), 結果介于[-PI/2, PI/2…

網頁特效java代碼,美化網頁常用特效代碼

1&#xff0e;讓文字不停地滾動&#xff1c;MARQUEE&#xff1e;滾動文字&#xff1c;/MARQUEE&#xff1e;2&#xff0e;記錄并顯示網頁的最后修改時間&#xff1c;script languageJavaScript&#xff1e;document.write("最后更新時間: " document.lastModified …

作業,兩次實驗

實驗一&#xff1a; 1 編程打印5行的倒三角形&#xff0c;第一行打印9個*&#xff0c;第二行7個*&#xff0c;……第5行打印1個* #include<stdio.h>int main(){printf("*********\n *******\n *****\n ***\n *\n");return 0;} 總結 注意換行以及位置的…