亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2013 | 回復(fù): 0
打印 上一主題 下一主題

MySQL Cluster (集群)基本原理 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-12-23 03:44 |只看該作者 |倒序瀏覽
MySQL簇概述

MySQL是一種技術(shù),該技術(shù)允許在無共享的系統(tǒng)中部署“內(nèi)存中”數(shù)據(jù)庫的簇。通過無共享體系結(jié)構(gòu),系統(tǒng)能夠使用廉價的硬件,而且對軟硬件無特殊要求。此外,由于每個組件有自己的內(nèi)存和磁盤,不存在單點故障。

MySQL簇將標(biāo)準(zhǔn)的MySQL服務(wù)器與名為NDB的“內(nèi)存中”簇式存儲引擎集成了起來。在我們的文檔中,術(shù)語NDB指的是與存儲引擎相關(guān)的設(shè)置部分,而術(shù)語MySQL簇指的是MySQLNDB存儲引擎的組合。

MySQL簇由一組計算機構(gòu)成,每臺計算機上均運行著多種進程,包括MySQL服務(wù)器,NDB簇的數(shù)據(jù)節(jié)點,管理服務(wù)器,以及(可能)專門的數(shù)據(jù)訪問程序。關(guān)于簇中這些組件的關(guān)系,請參見下圖:

MySQL Cluster Components

所有這些程序一起構(gòu)成了MySQL簇。將數(shù)據(jù)保存到NDB簇存儲引擎中時,表將保存在數(shù)據(jù)節(jié)點內(nèi)。能夠從簇中所有其他MySQL服務(wù)器直接訪問這些表。因此,在將數(shù)據(jù)保存在簇內(nèi)的工資表應(yīng)用程序中,如果某一應(yīng)用程序更新了1位雇員的工資,所有查詢該數(shù)據(jù)的其他MySQL服務(wù)器能立刻發(fā)現(xiàn)這種變化。

對于MySQL簇,保存在數(shù)據(jù)節(jié)點內(nèi)的數(shù)據(jù)可被映射,簇能夠處理單獨數(shù)據(jù)節(jié)點的故障,除了少數(shù)事務(wù)將因事務(wù)狀態(tài)丟失而被放棄外,不會產(chǎn)生其他影響。由于事務(wù)性應(yīng)用程序能夠處理事務(wù)失敗事宜,因而它不是問題源。

通過將MySQL簇引入開放源碼世界,MySQL為所有需要它的人員提供了具有高可用性、高性能和可縮放性的簇數(shù)據(jù)管理。

MySQL簇的基本概念

NDB是一種“內(nèi)存中”存儲引擎,它具有可用性高和數(shù)據(jù)一致性好的特點。

能夠使用多種故障切換和負(fù)載平衡選項配置NDB存儲引擎,但以簇層面上的存儲引擎開始最簡單。MySQL簇的NDB存儲引擎包含完整的數(shù)據(jù)集,僅取決于簇本身內(nèi)的其他數(shù)據(jù)。

下面,我們介紹了設(shè)置由NDB存儲引擎和一些MySQL服務(wù)器構(gòu)成的MySQL簇的設(shè)置方法。

目前,MySQL簇的簇部分可獨立于MySQL服務(wù)器進行配置。在MySQL簇中,簇的每個部分被視為1個節(jié)點。

注釋:在很多情況下,術(shù)語“節(jié)點”用于指計算機,但在討論MySQL簇時,它表示的是進程。在單臺計算機上可以有任意數(shù)目的節(jié)點,為此,我們采用術(shù)語簇主機

有三類簇節(jié)點,在最低的MySQL簇配置中,至少有三個節(jié)點,這三類節(jié)點分別是:

·         管理(MGM)節(jié)點:這類節(jié)點的作用是管理MySQL簇內(nèi)的其他節(jié)點,如提供配置數(shù)據(jù)、啟動并停止節(jié)點、運行備份等。由于這類節(jié)點負(fù)責(zé)管理其他節(jié)點的配置,應(yīng)在啟動其他節(jié)點之前首先啟動這類節(jié)點。MGM節(jié)點是用命令ndb_mgmd啟動的。

·         數(shù)據(jù)節(jié)點:這類節(jié)點用于保存簇的數(shù)據(jù)。數(shù)據(jù)節(jié)點的數(shù)目與副本的數(shù)目相關(guān),是片段的倍數(shù)。例如,對于兩個副本,每個副本有兩個片段,那么就有4個數(shù)據(jù)節(jié)點。沒有必要有一個以上的副本。數(shù)據(jù)節(jié)點是用命令ndbd啟動的。

·         SQL節(jié)點:這是用來訪問簇數(shù)據(jù)的節(jié)點。對于MySQL簇,客戶端節(jié)點是使用NDB簇存儲引擎的傳統(tǒng)MySQL服務(wù)器。典型情況下,SQL節(jié)點是使用命令mysqld ndbcluster啟動的,或?qū)?span style="line-height: normal; ">ndbcluster添加到my.cnf后使用mysqld啟動。

簇配置包括對簇中單獨節(jié)點的配置,以及設(shè)置節(jié)點之間的單獨通信鏈路。對于目前設(shè)計的MySQL簇,其意圖在于,從處理器的能力、內(nèi)存空間和帶寬來講,存儲節(jié)點是同質(zhì)的,此外,為了提供單一的配置點,作為整體,簇的所有配置數(shù)據(jù)均位于1個配置文件中。

管理服務(wù)器(MGM節(jié)點)負(fù)責(zé)管理簇配置文件和簇日志。簇中的每個節(jié)點從管理服務(wù)器檢索配置數(shù)據(jù),并請求確定管理服務(wù)器所在位置的方式。當(dāng)數(shù)據(jù)節(jié)點內(nèi)出現(xiàn)有趣的事件時,節(jié)點將關(guān)于這類事件的信息傳輸?shù)焦芾矸⻊?wù)器,然后,將這類信息寫入簇日志。

此外,可以有任意數(shù)目的簇客戶端進程或應(yīng)用程序。它們分為兩種類型:

·         標(biāo)準(zhǔn)MySQL客戶端:對于MySQL簇,它們與標(biāo)準(zhǔn)的(非簇類)MySQL沒有區(qū)別。換句話講,能夠從用PHP、Perl、C、C++Java、PythonRuby等編寫的現(xiàn)有MySQL應(yīng)用程序訪問MySQL簇。

·         管理客戶端:這類客戶端與管理服務(wù)器相連,并提供了優(yōu)雅地啟動和停止節(jié)點、啟動和停止消息跟蹤(僅對調(diào)試版本)、顯示節(jié)點版本和狀態(tài)、啟動和停止備份等的命令。

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP