大三時MySQL課程設計《MySQL叢集的研究與實現》

來源:互聯網
上載者:User

河南中醫學院

《MySQL資料庫管理》課程設計報告

 題目:MySQL叢集的研究與實現

 

 

 

完成日期:  2012 年 12 月 31 日

 

目  錄

1. 課程設計題目概述. 3

2. 研究內容與目的. 3

3. 研究方法. 4

3.1研究方法……………………………………………………………………….. 4

3.2實驗方法………………………………………………………………………… 5

3.3可行性分析..………………………………………………………………………….....  5

4. 研究報告. 10

   4.1規劃階段………………………………………………………………………… 10

   4.2安裝Mysql server……………………………………………………………… 10

   4.3安裝Mysql Cluster……………………………………………………………. 11

   4.4組態管理節點…………………………………………………………………… 11

4.5配置SQL節點…………………………………………………………………….13

4.6 配置儲存節點……………………………………………………………………13

4.7啟動MySQL Cluster…………………………………………………………….13

4.8關閉MySQL Cluster……………………………………………………………..14

4.9資料測試………………………………………………………………………… 14

4.10安全關閉………………………………………………………………………. 14

5. 測試報告/實驗報告………………………………………………………………...15

6. 課題研究結論……………………………………………………………………....22

7. 總結…………………………………………………………………………………. 23

 

 

 


1.課程設計題目概述

MySQL Cluster 是一種技術,該技術允許在無共用的系統中部署“記憶體中”資料庫的 Cluster 。通過無共用體繫結構,系統能夠使用廉價的硬體,而且對軟硬體無特殊要求。此外,由於每個組件有自己的記憶體和磁碟,不存在單點故障。

MySQL Cluster 由一組電腦構成,每台電腦上均運行著多種進程,包括MySQL伺服器,NDB Cluster 的資料節點,管理伺服器,以及(可能)專門的資料訪問程式。

MySQL Cluster 是MySQL適合於分散式運算環境的高實用、高冗餘版本。MySQL
Cluster 能夠使用多種故障切換和Server Load Balancer選項配置NDB儲存引擎,但在 Cluster 層級上的儲存引擎上做這個最簡單。MySQL Cluster的NDB儲存引擎包含完整的資料集,僅取決於 Cluster本身內的其他資料。

目前,MySQL Cluster的 Cluster部分可獨立於MySQL伺服器進行配置。在MySQL Cluster中, Cluster的每個部分被視為1個節點。

【關鍵字】:叢集 MySQL Cluster

2. 研究內容與目的

研究目的:

伴隨著企業的成長,在業務量提高的同時,系統的訪問量和資料流量的快速增長,其處理能力和計算強度也相應增大,使得單一裝置根本無法承擔。在此情況下,如果扔掉現有裝置去做大量的硬體升級,這樣將造成現有資源的浪費,而且如果再面臨下一次業務量的提升,這又將導致再一次硬體升級的高額成本投入,甚至效能再卓越的裝置也不能滿足當前業務量的需求。於是,人們希望通過幾個中小型伺服器組建叢集,實現資料庫的負載平衡,在需要更高資料庫處理速度,我們只要簡單地增加資料庫伺服器就可以得到擴充。

資料庫作為應用系統的核心,在企業的IT系統中起著非常重要的作用,單一裝置根本無法保證系統的持續運行,發生系統故障,嚴重影響系統的正常運行,甚至帶來巨大的經濟損失。於是人們希望通過組建資料庫叢集,來保證系統的可用性,一旦某節點發生故障,系統會自動容錯移轉,實現系統的持續工作。

企業的資料是企業的一些重要訊息,一些核心資料甚至關係著企業的命脈,單一裝置根本無法保證資料的安全性,一旦發生丟失,很難再找回來,於是人們希望通過組建資料庫叢集,實現資料集群的冗餘,通過多份資料來保證安全性。

MySql是一種在目前被廣泛使用著開源的免費的資料庫,在中小型資料應用中,一般單台MySql伺服器就能滿足要求了,但對於大型WEB或其他應用下,巨量的資料存放區訪問,單台MySql伺服器就不能很好地勝任了,而要使多台MySql伺服器協同工作,不但要考慮MySql伺服器叢集結構,要考慮MySql伺服器的HA熱備問題,還要考慮各伺服器之間負載平衡問題。

研究內容:

隨著電腦應用的普及,資料庫已經成為構建電子商務的關鍵服務之一。雖然叢集技術很好地解決了提高訪問容量的問題(如c009le等搜尋門戶網站),但資料庫卻成為網站的瓶頸,因為為了避免資料一致性問題,網站多採用單一的資料庫伺服器為所有網頁服務提供資料,當訪問量提高時,單個資料庫伺服器往往不堪重負。即使按照過去最優配置建設的伺服器系統可能也無法承擔訪問量的爆炸性增長。因此,需要建立具有良好可擴充性和卓越效能價格比的網路資料庫伺服器,以滿足快速增長的訪問量和資料流量需求。

這就需要使用特定的串連方式,將價格相對較低的硬體裝置結合起來,同時也能提供高效能相當的任務處理能力,即資料庫叢集。

採用Linux系統,可以提高客戶工作站啟動並執行可靠性和穩定性,獲得高顯示狀態服務器。在Linux系統下一種雙機互備份工作方式的MySQL資料庫叢集的具體實現方案,實現了高可用性設定組群伺服器。兩個相對獨立的應用在兩台機器同時運行,但彼此均設為備份機,當某一台伺服器出現故障時,另一台伺服器可以在短時間內將故障伺服器的應用接管過來,從而保證了應用的持久性。

3. 研究方法

3.1研究方法

實驗法

3.2實驗方法

(1)先使用三台主機搭建一個叢集,分別作為管理節點、資料節點、SQL節點

<1> 在主節點上建立資料庫、建立資料表、插入資料

<2> 在非主節點上查看主節點資料更新情況

<3> 在非主節點上上建立資料庫、建立資料表、插入資料

<4> 在主節點上查看非主節點資料更新情況

(2)使用三台主機搭建一個叢集,其中一台作為管理節點,另兩台分別作為資料節點和SQL節點

<1> 在主節點上建立資料庫、建立資料表、插入資料

<2> 在非主節點上查看主節點資料更新情況

<3> 在非主節點上上建立資料庫、建立資料表、插入資料

<4> 在主節點上查看非主節點資料更新情況

3.3可行性分析

(1)MySQL
Cluster 是一種技術,該技術允許在無共用的系統中部署“記憶體中”資料庫的
Cluster 。通過無共用體繫結構,系統能夠使用廉價的硬體,而且對軟硬體無特殊要求。此外,由於每個組件有自己的記憶體和磁碟,不存在單點故障。MySQL Cluster 由一組電腦構成,每台電腦上均運行著多種進程,包括MySQL伺服器,NDB Cluster 的資料節點,管理伺服器,以及(可能)專門的資料訪問程式。

(2)3台主機可以通過交換器串連到一起,只需要在串連前修改主機的IP地址,安裝好需要安裝的軟體,這三台主機同時安裝有ubuntu 11.04 。

(3)在進行將5台安裝有MySQL的主機搭建成一個叢集的時候,只需要用到三台主機,只需要將其中的兩台主機分別作為資料節點和SQL節點。

(4)由於我們安裝的都是虛擬機器,可以在其中開啟多台虛擬系統,所以又可以在這兩台主機中做出更大的叢集,但是出於當前電腦效能的問題的考慮,實現一台主機跑多個虛擬系統很吃力,所以實驗中我們只做了將3台安裝MySQL的主機搭建成一個小的叢集。

(5)叢集實現的多種方案

<1>MySQL Clustering(ndb-cluster stogare)
  MySQL公司以儲存引擎方式提供的高可靠性方案,是事務安全的,即時複製資料,可用於需要高可靠性及負載平衡的場合。該方案至少需要三個節點伺服器才能達到較好的效果。
  成本:
  (1) 節點伺服器對RAM的需求很大,與資料庫大小呈線性比例;
  (2) 最好使用千兆乙太網路絡;
  (3) 還需要使用Dolphin公司提供的昂貴的SCI卡。
  優點:
  (1) 可用於負載平衡場合;
  (2) 可用於高可靠性場合;
  (3) 高伸縮性;
  (4) 真正的資料庫冗餘;
  (5) 容易維護。
  缺點:
  (1) 隨著資料庫的變大,對RAM的需求變得更大,因此成本很高;
  速度:
  (1) 幾乎比典型的單獨伺服器(無千兆乙太網路,無SCI卡,儲存引擎相關的  限制少)慢10倍。
  應用場合:
  (1) 冗餘,高可靠性,負載平衡
<2>MySQL / GFS-GNBD/ HA
(Active/Passive)
  GFS是事務安全的檔案系統。同一時刻可以讓一個MySQL使用共用資料。
  成本:
  (1) 最多n台高效能伺服器的成本,其中一個啟用的,其他作為備份伺服器。
  優點:
  (1) 高可靠性
  (2) 某種程度的冗餘
  (3) 按照高可靠性進行伸縮
  缺點:
  (1) 沒有負載平衡
  (2) 沒有保證的冗餘
  (3) 無法對寫操作進行伸縮
  速度:
  (1) 單獨伺服器的2倍。對讀操作支援得較好。
  應用場合:
  (1) 需要高可靠性的、讀操作密集型的應用
 <3>MySQL / DRBD / HA
(Active/Passive)
  DRBD可以提供這樣的共用硬碟。DRBD可以被設定成事務安全的。同一時刻可以讓一個MySQL使用共用資料。
  成本:
  (1) 最多n台高效能伺服器的成本,其中一個啟用的,而其他則作為備份伺服器。
  優點:
  (1) 高可靠性;
  (2) 一定程度的冗餘;
  (3) 以高可靠性名義來看是可伸縮的。
  缺點:
  (1) 沒有負載平衡
  (2) 沒有保證的冗餘
  (3) 在寫負載方面沒有伸縮性
  速度:
  (1) 在讀寫方面相當於單獨伺服器
  應用場合:
  (1) 需要高可靠性、讀操作密集型的應用
 <4>MySQL Write Master /
Multiple MySQL Read Slaves (Active/Active)
  考慮不同的讀、寫DB資料庫連接的情況。可以使用一台主伺服器用於寫操     作,而採用n台從伺服器用於讀操作。
  成本:
  (1) 最多1台高效能寫伺服器,n台讀伺服器的成本
  優點:
  (1) 讀操作的高可靠性;
  (2) 讀操作的負載平衡;
  (3) 在讀操作負載平衡方面是可伸縮的。
  缺點:
  (1) 無寫操作的高可靠性;
  (2) 無寫操作的負載平衡;
  (3) 在寫操作方面無伸縮性;
  速度:
  (1) 同單獨伺服器;在讀操作方面支援得較好
  應用場合:
  (1) 讀操作密集型的、需要高可靠性和負載平衡的應用。
<5>Standalone MySQL
Servers(Functionally separated) (Active)
  多台功能分離的單獨伺服器,沒有高可靠性、負載平衡能力,明顯缺點太多,不予考慮。 (

MySQL Cluster (叢集)基本原理MySQL簇概述

MySQL簇是一種技術,該技術允許在無共用的系統中部署“記憶體中”資料庫的簇。通過無共用體繫結構,系統能夠使用廉價的硬體,而且對軟硬體無特殊要求。此外,由於每個組件有自己的記憶體和磁碟,不存在單點故障。

MySQL簇將標準的MySQL伺服器與名為NDB的“記憶體中”簇式儲存引擎整合了起來。在我們的文檔中,術語NDB指的是與儲存引擎相關的設定部分,而術語“MySQL簇”指的是MySQL和NDB儲存引擎的組合。

MySQL簇由一組電腦構成,每台電腦上均運行著多種進程,包括MySQL伺服器,NDB簇的資料節點,管理伺服器,以及(可能)專門的資料訪問程式。關於簇中這些組件的關係,參見:

 

NDB是一種“記憶體中”儲存引擎,它具有可用性高和資料一致性好的特點。

能夠使用多種故障切換和Server Load Balancer選項配置NDB儲存引擎,但以簇層面上的儲存引擎開始最簡單。MySQL簇的NDB儲存引擎包含完整的資料集,僅取決於簇本身內的其他資料。

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

<1>管理(MGM)節點:這類節點的作用是管理MySQL簇內的其他節點,如提供配置資料、啟動並停止節點、運行備份等。由於這類節點負責管理其他節點的配置,應在啟動其他節點之前首先啟動這類節點。MGM節點是用命令ndb_mgmd啟動的。

<2> 資料節點:這類節點用於儲存簇的資料。資料節點的數目與副本的數目相關,是片段的倍數。例如,對於兩個副本,每個副本有兩個片段,那麼就有4個資料節點。沒有必要有一個以上的副本。資料節點是用命令ndbd啟動的。

<3> SQL節點:這是用來訪問簇資料的節點。對於MySQL簇,用戶端節點是使用NDB簇儲存引擎的傳統MySQL伺服器。典型情況下,SQL節點是使用命令mysqld –ndbcluster啟動的,或將ndbcluster添加到my.cnf後使用mysqld啟動。簇配置包括對簇中單獨節點的配置,以及設定節點之間的單獨通訊鏈路。對於目前設計MySQL簇,其意圖在於,從處理器的能力、記憶體空間和頻寬來講,儲存節點是同質的,此外,為了提供單一的配置點,作為整體,簇的所有配置資料均位於1個設定檔中。

4. 研究報告

 

4.1 規劃階段

計劃建立有5個節點的MySQL CLuster體系,在這裡將兩個SQL節點和資料節點裝在一起,因此需要用到3台機器,具體分配如下表:

節點名

作業系統

Ip地址

管理節點

ubuntu 11.04

10.0.31.49

資料節點1

ubuntu 11.04

10.0.31.40

資料節點2

ubuntu 11.04

10.0.31.41

SQL節點1

ubuntu 11.04

10.0.31.40

SQL節點2

ubuntu 11.04

10.0.31.41

4.2 安裝Mysql server

$wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.59.tar.gz/from/http://mysql.cs.pu.edu.tw/

$tar -xzvf mysql-5.1.59.tar.gz

$cd mysql-5.1.59

$./configure
--with-charset=utf8 --with-collation=utf8_bin --with-extra-

charsets=gbk,gb2312,big5,utf8,binary,ascii
--prefix=/usr/local/mysql 
--with-plugins=partition,ndbcluster

$make

$make install

4.3 安裝Mysql Cluster

$wget

http://dev.mysql.com/get/Downloads/MySQL-Cluster-7. 1/mysql-cluster-

gpl-7.1.15a-linux-x86_64-glibc23.tar.gz/from/http://mysql.ntu.edu.tw/

$tar -xzvf
mysql-cluster-gpl-7.1.15a-linux-x86_64-glibc23.tar.gz

$mv
mysql-cluster-gpl-7.1.15a-linux-x86_64-glibc23.tar.gz

/usr/local/mysql-cluster

$cd /usr/local/mysql-cluster

$groupadd mysql

$useradd -g mysql mysql

$passwd mysql

$cd /usr/local/mysql-cluster

$chown -R mysql:mysql .

$scripts/mysql_install_db
--user=mysql

$cp -rp bin/ndb*
/usr/local/bin/

4.4 組態管理節點

$cp
support-files/ndb-config-2-node.ini /etc/ndb_mgmd.ini

$vi /etc/ndb_mgmd.ini

[ndbd default]

NoOfReplicas= 2

MaxNoOfConcurrentOperations=
10000

DataMemory= 80M

IndexMemory= 24M

TimeBetweenWatchDogCheck=
30000

DataDir=
/usr/local/mysql-cluster/data

MaxNoOfOrderedIndexes= 512

#設定管理節點伺服器

[ndb_mgmd default]

DataDir=
/usr/local/mysql-cluster/data #MGM上儲存日誌的目錄

[ndb_mgmd]

Id=1

HostName= 10.0.31.49

#設定儲存節點伺服器(NDB節點)

[ndbd]

Id= 2

HostName= 10.0.31.40

DataDir=/usr/local/mysql-cluster/data

[ndbd]

Id= 3

HostName= 10.0.31.41

DataDir=/usr/local/mysql-cluster/data

#設定SQL節點伺服器

[mysqld]

Id= 5

HostName= 10.0.31.40

[mysqld]#第二個SQL節點

Id= 6

HostName= 10.0.31.41

# 選擇一個未使用的連接埠

[tcp default]

PortNumber= 63132

4.5 配置SQL節點

[mysqld]

basedir = /usr/local/mysql/

datadir = /usr/local/mysql/data

user = mysql

port = 3306

socket = /tmp/mysql.sock

ndbcluster

ndb-connectstring=10.0.31.40

[MYSQL_CLUSTER]

ndb-connectstring=10.0.31.41

4.6 配置儲存節點(NDB節點)

$vi /etc/ndbd.cnf

[mysqld]
ndbcluster
DataDir=/usr/local/mysql-cluster/data
[MYSQL_CLUSTER]
ndb-connectstring=nodeid=192.168.0.55

4.7 啟動MySQL Cluster

首先啟動管理節點伺服器,然後啟動儲存節點伺服器,最後才啟動SQL節點伺服器:

(1)在管理節點伺服器上,執行以下命令啟動MGM節點進程:

$/usr/local/bin/ndb_mgmd -f /etc/ndb_mgmd.ini  --configdir=/usr/local/mysq
l-cluster
$netstat -ntpl |grep ndb #檢查是否成功
(2)在每台儲存節點伺服器上,先執行以下命令:
$/usr/local/bin/ndbd --initial --defaults-file=/etc/ndbd.cnf
(3)運行以下命令啟動SQL節點伺服器:
$mysqld_safe --defaults-file=/etc/my.cnf &
4.8 關閉MySQL Cluster
在MGM節點所在的機器上, Shell中簡單地輸入下述命令用來關閉Cluster:
$/usr/local/bin/ndb_mgm -e shutdown
運行以下命令關閉SQL節點的mysqld服務:
$/usr/local/bin/mysqladmin -uroot shutdown
4.9 資料測試
(1)在主節點上建立一個資料庫ClusterTest,建立資料表user,插入一行資料
mysql> create database ClusterTest
mysql> use ClusterTest
mysql> create table user(nu mint , name varchar(50) engine=NDB);
mysql> select * from user;
(2)在非主節點上查看資料同步情況
mysql> use ClusterTest
mysql> select * from user;
(3)在非主節點上建立一個資料庫ClusterTest,建立資料表user,插入一行資料
mysql> create database ClusterTest
mysql> use ClusterTest
mysql> create table user(nu mint , name varchar(50) engine=NDB);
mysql> select * from user;

(4)在主節點上查看資料同步情況

mysql> use ClusterTest
mysql> select * from user;

4.10安全關閉

要想關閉 Cluster,可在MGM節點所在的機器上,在Shell中簡單地輸入下述命令:

[db1~]root# /usr/local/mysql/ndb_mgm -e shutdown

運行以下命令關閉SQL節點的mysqld服務:

[db2~]root# /usr/local/mysql/bin/mysqladmin -uroot shutdown

5. 測試報告/實驗報告

實驗報告

(1)下載mysql-cluster-gpl-7.1.22-linux-x86_64-glibc 23.tar.gz安裝包,選擇伺服器架構類型。

(2)建立mysql使用者組和mysql使用者:#groupadd mysql   && useradd mysql -g mysql(3)解壓壓縮包並重新命名:

#tar zxvf mysql-cluster-gpl-7.1.22-linux-x86_64-glibc 23.tar.gz

#mv mysql-cluster-gpl-7.1.22-linux-x86_64-glibc 23 mysqlc

(4)進入mysqlc目錄建立logs目錄並更改mysqlc目錄的所有者

#cd mysqlc &&   mkdir logs

#cd .. && chown -R mysql:mysql mysqlc

如下:

 

(5)建系統相關資料庫以及表

#scripts/mysql_install_db --user=mysql

(6)組態管理節點

#mkdir /var/lib/mysql-cluster && cd /var/lib/mysql-cluster

# vim /var/lib/mysql-cluster/config.ini

儲存並退回出

如下:

 

(7)安裝配置資料節點

複製管理節點上的mysqlc整個目錄到資料節點1上的/usr/local目錄,重新命名為mysql,確保mysql目錄的所屬使用者和組為mysql。

複製設定檔和啟動指令碼

#cp support-files/my-medium.cnf /etc /my.cnf

#cp support-files/mysql.server /etc /init.d/mysqld

編輯設定檔

#vim /etc /my.cnf

   增加[mysqld]下面的配置項

   儲存後退出,在資料節點2上進行相同操作。

如下:

 

(8)啟動管理節點

 

(9)啟動資料節點

 

 

(10)啟動SQL節點

 

(11)在管理端查看叢集目前狀態

 

(12)在節點2上啟動資料節點和SQL節點

 

測試報告

(1)  主節點上建立ClusterTest資料庫,user資料表,插入一條資料。

 

(2)  在非主節點上查看資料同步情況:

 

(3)  在非主節點上更新資料

 

(4)  查看主節點上資料同步情況

 

 

6. 課題研究結論

MySQL Cluster 由一組電腦構成,每台電腦上均運行著多種進程,包括MySQL伺服器,NDB Cluster 的資料節點,管理伺服器,以及(可能)專門的資料訪問程式。

MySQL Cluster 是MySQL適合於分散式運算環境的高實用、高冗餘版本。MySQL Cluster 能夠使用多種故障切換和Server Load Balancer選項配置NDB儲存引擎,但在 Cluster 層級上的儲存引擎上做這個最簡單。MySQL Cluster的NDB儲存引擎包含完整的資料集,僅取決於 Cluster本身內的其他資料。在課程設計中實現了對一台電腦上進行建立資料庫、建立資料表、插入資料,在其他電腦上均能查看這些資訊的功能 。

採用Linux系統,可以提高客戶工作站啟動並執行可靠性和穩定性,獲得高顯示狀態服務器。在Linux系統下一種雙機互備份工作方式的MySQL資料庫叢集的具體實現方案,實現了高可用性設定組群伺服器。兩個相對獨立的應用在兩台機器同時運行,但彼此均設為備份機,當某一台伺服器出現故障時,另一台伺服器可以在短時間內將故障伺服器的應用接管過來,從而保證了應用的持久性。

 

7. 總結

隨著網路技術的飛速發展,傳統的伺服器體繫結構愈來愈不適應當前的需求,叢集技術以其獨特的優點很好地適應了當前網路發展的需要。而Linux以其開原始碼模式成為當前叢集研究的熱點,本文正是基於這一點,介紹了MySQL叢集的基本概念及其實現方式,依靠叢集檔案系統實現對系統中的所有檔案、裝置和網路資源的全域訪問,突破了資料庫容量的瓶頸限制。開來源資料庫開發商MySQL公司在2007 MySQL大會上宣布了最新的MySQL Cluster Carrier Grade Edition資料庫DBT2基準測試結果。該基準測試結果顯示了MySQL Cluster Carrier Grade Edition的高擴充性,使用8個節點的Cluster能達到每分鐘100,000個交易處理。所以企業在網路規劃資金欠缺的情況下,用免費的MySQL Cluster架設資料庫叢集,完全可以滿足大流量的資訊處理需求。

MySQL資料庫有很多優點

擴充性和靈活性

MySQL資料庫伺服器提供非常強大的擴充性,可以支援深度嵌入應用系統,大小隻有1MB。也可以支援TB層級的資料倉儲。平台靈活性一直以來是MySQL的特性,MySQL現在支援Linux,UNIX,和Windows。當然,MySQL的開源本性允許全面的自訂,這滿足了那些需要添加特殊要求至資料庫的需求。

高效能

獨特的儲存引擎架構使得資料庫專業人員可以為特定的應用配置有針對性的MySQL資料庫,由此,可以獲得出人意料的效能結果。不管應用是高速的交易處理或是每天處理上億查詢大容量web網站,MySQL可以滿足任何系統最急需的效能要求。使用高速載入工具,不同的記憶體緩衝,全文索引,以及其它的效能加強機制,MySQL提供了現今關鍵業務系統需要的所有功能和特性。

高可用

堅若磐石的可靠性和持續的可用性是MySQL的特徵,客戶憑藉MySQL確保24小時的服務。MySQL提供各種高可用的方案,高速的主/從複製配置,特殊叢集伺服器提供的即時轉換,以及其它第三方供應商為MySQL資料庫提供的獨特高可用解決方案。

強大的事務支援

MySQL提供一個強大的交易處理引擎。特性包括完整的ACID(原子性,一致性,隔離性,持久性)事務支援,不限制的行級鎖,分散式交易能力,多版本事務支援。另外,也確保資料完整性,方法是通過伺服器強制的參考完整性,特殊交易隔離等級,即時死結檢測。

Web和資料倉儲能力

MySQL事實上可用於高速web網站,因為它具備高效能的查詢引擎,大量快速資料插入能力,有力地支援特定web方法如全文檢索搜尋。這些特性同樣適用於資料倉儲環境,這裡的MySQL擴充至可以容納T層級的資料年。其它的特性,如記憶體表,B-樹索引和hash索引,以及高達80%壓縮率的壓縮表。使得MySQL完全可以用於web網站和商業智慧應用。

強大的資料保護

保障公司資料資產安全是資料庫管理員的日常工作之一。MySQL提供超乎尋常的安全特性,可以確保絕對的資料安全。在資料庫安全認證方面,MySQL提供有力機制以確保只有授機使用者可以訪問資料庫伺服器,這樣就可以有能力將使用者阻止在用戶端機器的一層。SSH和SLL的支援確保了串連的安全與可靠。粒度對象許可權架構保證了使用者可能看到他們被許可看的,強大的資料加密和解密功能確保了敏感性資料不被未授權的查看。最後,MySQL和其它第三方軟體供應商提供的備份和恢複工具允許完全的邏輯與物理備份以及按時間點恢複。

全面的應用開發

MySQL之所以成為全球最流行的開來源資料庫的原因之一是它針對每一個應用開發提供全面的支援。在資料庫裡,支援包括預存程序,觸發器,函數,視圖,遊標,ANSI標準SQL,以及更多。對於嵌入式應用,可以使用嵌入式MySQL的外掛程式庫,幾乎支援任意應用。MySQL提供連接器和驅動(ODBC,JDBC,等等)。這使得各種應用程式都可以使用MySQL作為首選的資料庫管理伺服器。不管是,PHP, Perl, Java, Visual Basic, 還是 .NET,MySQL都可滿足應用開發人員成功構建資料庫驅動資訊系統的需求。

管理方便

MySQL有著異乎尋常的快速部署能力。軟體從下載到安裝完成平均時間少於是15分鐘。對於以下任意平台都是: Microsoft Windows, Linux, Macintosh, 或是 UNIX。一旦安裝,自管理特性,比如自動空間增長,自動重啟,以及動態改變更配置置為資料庫管理員大大減少了壓力。MySQL提供了一套圖形化管理和遷移工具,使得DBA可以管理,解決問題,以及從一個單一的工作台控制多個MySQL伺服器。許多第三方的軟體供應商提供工具,可以讓DBA進行資料設計和ETL,完成資料庫管理工作,任務管理,效能監控。

    開源自由和24*7支援

很多公司對於是否完全採用開源軟體還持懷疑態度。因為他們認為使用MySQL不可能會得到他們當前依賴的商務服務對關鍵業務提供的支援。事實上,這些懷疑是完全沒有必要的,MySQL企業版提供一天24小時的支援。MySQL不是一個典型的開源項目,因為其全部的軟體都是由Oracle所有,正因為如此,存在一個特殊的付費和支援模型,使得存在一個自由開源和得到支援受信軟體的結合體。

最低的總體擁有成本

將當前資料庫驅動的應用程式遷移至MySQL,或是在新的開發項目中使用MySQL,公司將可以體會到成本大大的降低了。將MySQL資料庫伺服器和使用廉價硬體擴充架構相結合,公司可以發現可以獲得超乎想象的擴充性和效能,所有的這些花費遠遠少於使用水平擴充的方式。另外,可靠性和易維護性意味著MySQL可以讓資料庫管理員不用在解決效能問題或是宕機時間上耗費時間,而只需要關注更進階別的與商業業務有關的任務。

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.