最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL Cluster如何創(chuàng)建磁盤(pán)表方法解讀

 更新時(shí)間:2012年11月12日 09:43:33   作者:  
MySQL Cluster采用一系列的Disk Data objects來(lái)實(shí)現(xiàn)磁盤(pán)表;接下來(lái)為您詳細(xì)介紹
一、概念
MySQL Cluster采用一系列的Disk Data objects來(lái)實(shí)現(xiàn)磁盤(pán)表。
Tablespaces:作用是作為其他Disk Data objects的容器。
Undo log files:存儲(chǔ)事務(wù)進(jìn)行回滾需要的信息,一個(gè)或者多個(gè)undo log files組成一個(gè)log files group,最后,該log file group關(guān)聯(lián)到一個(gè)tablespaces。
Data files:作用是存儲(chǔ)表中的數(shù)據(jù),data file直接關(guān)聯(lián)到tablespaces。
在每一個(gè)數(shù)據(jù)節(jié)點(diǎn)上undo log files和data files都是實(shí)際的文件,默認(rèn)的,存放在ndb_node_id_fs文件夾下,該路徑是在MySQL Cluster的config.ini中用DataDir指定的,node_id是data node的node ID??梢杂媒^對(duì)路徑或者相對(duì)路徑指定undo log或者data file的路徑。tablespaces和log file group則不是實(shí)際的文件。
注意:盡管不是所有的Disk Data Object都作為文件存儲(chǔ),但是他們共享同一的命名空間,這意味著每個(gè)Disk Data Object必須唯一命名。
二、創(chuàng)建步驟
MySQL Cluster創(chuàng)建一個(gè)磁盤(pán)表需要包含以下幾步:
2.1、創(chuàng)建一個(gè)log file group,將一個(gè)或者多個(gè)undo log files關(guān)聯(lián)到它上面(undo log file也叫做 undofile)。注意,undo log file只是在創(chuàng)建磁盤(pán)表的時(shí)候才需要,創(chuàng)建ndb的內(nèi)存表的時(shí)候不需要。
2.2、創(chuàng)建一個(gè)tablespaces,關(guān)聯(lián)一個(gè)log file group和一個(gè)或者多個(gè)data files到上面。
2.3、使用該tablespaces創(chuàng)建一個(gè)磁盤(pán)表存儲(chǔ)數(shù)據(jù)。
下面做一個(gè)例子:
2.4、創(chuàng)建log file group:

我們創(chuàng)建一個(gè)名為lg_cloudstor的log file group,包含cloudstor_undo_1.log和cloudstor_undo_2.log兩個(gè)undo log file。初始大小分別為200M和100M(默認(rèn)的undo log file的初始大小為128M),你還可以指定log file group的重寫(xiě)緩沖大小(默認(rèn)為8M),這里我們?cè)O(shè)置為20M。創(chuàng)建log file group的時(shí)候必須和一個(gè)undo log file一起創(chuàng)建。如下:
復(fù)制代碼 代碼如下:

CREATE LOGFILE GROUP lg_cloudstor
ADD UNDOFILE 'cloudstor_undo_1.log'
INITIAL_SIZE 200M
UNDO_BUFFER_SIZE 20M
ENGINE NDBCLUSTER;

該語(yǔ)句可能會(huì)出錯(cuò),出現(xiàn)ERROR 1064 (42000)語(yǔ)法錯(cuò)誤的信息,原因是字符集的問(wèn)題,先執(zhí)行:set character_set_client=latin1; 在執(zhí)行: 
1
添加新的undo log file:
復(fù)制代碼 代碼如下:

ALTER LOGFILE GROUP lg_cloudstor
ADD UNDOFILE 'cloudstor_undo_2.log'
INITIAL_SIZE 100M
ENGINE NDBCLUSTER;

2.5、創(chuàng)建tablespace
下來(lái)我們創(chuàng)建一個(gè)tablespace,創(chuàng)建tablespace必須指明一個(gè)log file group用于存儲(chǔ)undo log。還必須指定一個(gè)data file,tablespace創(chuàng)建完成后,你可以稍后添加更多的data file到tablespace。下來(lái)我們創(chuàng)建一個(gè)使用log file group為lg_cloudstor名為 ts_cloudstore的表空間,這個(gè)表空間包含cloudstore_data_1.dbf和cloudstore_data_2.dbf兩個(gè)data file,初始大小為100M(默認(rèn)為128M),自動(dòng)擴(kuò)展為10M。
復(fù)制代碼 代碼如下:

CREATE TABLESPACE ts_cloudstore
ADD DATAFILE 'cloudstore_data_1.dbf'
USE LOGFILE GROUP lg_cloudstor
INITIAL_SIZE 100M
AUTOEXTEND_SIZE 10M
ENGINE NDBCLUSTER;

添加新的datafile
復(fù)制代碼 代碼如下:

ALTER TABLESPACE ts_cloudstore
ADD DATAFILE 'cloudstore_data_2.dbf'
INITIAL_SIZE 100M
AUTOEXTEND_SIZE 10M
ENGINE NDBCLUSTER;

下來(lái)我們可以看下新建的這些文件在物理磁盤(pán)上的數(shù)據(jù)文件:
2 
2.6、創(chuàng)建磁盤(pán)表
下來(lái)創(chuàng)建一個(gè)將沒(méi)有索引的列存儲(chǔ)在表空間ts_cloudstore的磁盤(pán)表。
復(fù)制代碼 代碼如下:

create table Disktable
(
id int auto_increment primary key,
c1 varchar(50) not null,
c2 varchar(30) default null,
c3 date default null,
index(c1)
)
TABLESPACE ts_cloudstore STORAGE DISK
ENGINE NDBCLUSTER;

這樣,列c2,c3的數(shù)據(jù)將會(huì)存儲(chǔ)在磁盤(pán)上,id和c1的數(shù)據(jù)仍會(huì)存儲(chǔ)在內(nèi)存中,因?yàn)橹挥袥](méi)有索引的列才能存儲(chǔ)在磁盤(pán)上。創(chuàng)建完成后,就可以進(jìn)行正常的數(shù)據(jù)操作了。
log file group,tablespaces,Disk Data tables需要按照一定的順序執(zhí)行,刪除這些的時(shí)候也是這樣,刪除規(guī)則為:有任何表空間使用log file group時(shí),log file group不能刪除;表空間含有任何data files的時(shí)候,不能刪除表空間;Data files含有任何表殘余的時(shí)候,不能從表空間刪除數(shù)據(jù)文件。
2.7、刪除數(shù)據(jù)表
復(fù)制代碼 代碼如下:

drop table Disktable;

3 
2.8、刪除數(shù)據(jù)文件
當(dāng)沒(méi)有表在關(guān)聯(lián)到表空間的時(shí)候,我們一個(gè)一個(gè)刪除data files。
復(fù)制代碼 代碼如下:

alter tablespace ts_cloudstore
drop datafile 'cloudstore_data_1.dbf'
engine ndbcluster;
alter tablespace ts_cloudstore
drop datafile 'cloudstore_data_2.dbf'
engine ndbcluster;

4 
2.9、刪除表空間
復(fù)制代碼 代碼如下:

drop tablespace ts_cloudstore
engine ndbcluster;

2.10、刪除日志組
復(fù)制代碼 代碼如下:

drop logfile group lg_cloudstor
engine ndbcluster;

下來(lái)查看物理文件是否已經(jīng)刪除:
5 
可以在INFORMATION_SCHEMA數(shù)據(jù)庫(kù)中的FILES表中查看磁盤(pán)表的信息。
2.11、幾點(diǎn)注意的
在磁盤(pán)數(shù)據(jù)表中,TEXT和BLOB列的前256bytes存儲(chǔ)在內(nèi)存中,剩余內(nèi)容存儲(chǔ)在磁盤(pán)上;磁盤(pán)表中的每一行需要在內(nèi)存中存儲(chǔ)8bytes的數(shù)據(jù)用于指向磁盤(pán)上的數(shù)據(jù),使用--initial選項(xiàng)啟動(dòng)集群時(shí),不會(huì)刪除磁盤(pán)上的數(shù)據(jù)文件,必須手動(dòng)刪除。

相關(guān)文章

最新評(píng)論

澄迈县| 清镇市| 桃源县| 肇州县| 胶南市| 盐边县| 临朐县| 新昌县| 甘南县| 怀柔区| 兴仁县| 宁化县| 汾阳市| 元阳县| 永新县| 大名县| 韶关市| 盘山县| 玉门市| 永春县| 台中县| 建始县| 阿拉善右旗| 洱源县| 徐州市| 丹凤县| 金坛市| 洪江市| 海淀区| 肥东县| 盐源县| 漾濞| 井冈山市| 永春县| 安岳县| 晋州市| 东乡县| 阳新县| 阳高县| 泸溪县| 北碚区|