程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MySQL Cluster技術5: 磁盤數據表

MySQL Cluster技術5: 磁盤數據表

編輯:關於MYSQL數據庫
MySQL Cluster磁盤數據表
從MySQL 5.1.6開始,可以將沒有索引的列存在磁盤上。之前的版本只能存在RAM裡面。
如果使用磁盤數據表,將undo log文件和表空間文件分離在不同文件系統,可以提高性能。這個手段可以通過符號鏈接來實現。
【磁盤數據對象】
表空間:其他磁盤數據對象的容器
undo日志文件:用作rollback的undo信息
日志文件組:一個或多個undo日志文件可以合成一個日志文件組,然後賦予一個表空間。
數據文件:存儲磁盤數據表數據。一個數據文件直接賦給一個表空間。
undo日志文件和數據文件是每個數據節點上真實的文件。缺省的,它們被置於DataDir目錄下的ndb_node_id_fs。
其中DataDir是在MySQL cluster的config.ini文件中指定。這裡node_id是指數據節點的node ID。
表空間和日志文件組不是真正的文件。
假設已經裝好MySQL Cluster,並且運行著MySQL 5.1.6或更新版本,那麼在磁盤上創建一個cluster表的基本步驟如下:
1.創建一個日志文件組,賦予其一個或多個日志文件。
2.創建表空間,將日志文件組,隨同一個或多個數據文件賦予此表空間。
3.使用此表空間作為數據存儲空間,創建一個磁盤數據表。
刪除表空間及日志文件順序:
drop table xxx;
alter tablespace xxx drop datafile 'xxx' engine ndb;
drop tablespace xxx engine ndb;
drop logfile group xxx engine ndb;
【將磁盤日志文件和數據文件分放在不同的磁盤上,有助於提高性能】
【存儲計算】
磁盤數據表的變長列將占用固定空間,對於每行來說,也就是占用最大空間。
在磁盤數據表中,TEXT和BLOB的前256個字節存於內存,其他的存放在磁盤上。
磁盤數據表的每一行要在內存裡面存放8個字節,以指向存放在磁盤上的數據。所以如果一行要存放在磁盤上數據少於8個字節,還不如都放在內存裡。
數據節點重啟時--initial選項並不移除磁盤數據文件,你得手工事先把他們干掉。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved