mysql-cluster(4)——创建内存表和磁盘表
程序员文章站
2024-03-12 11:47:44
...
mysql-cluster系列:
- mysql-cluster(1)——简介
- mysql-cluster(2)——部署
- mysql-cluster(3)——集群管理和维护
- mysql-cluster(4)——创建内存表和磁盘表
- mysql-cluster(5)——jdbc
- mysql-cluster(6)——配置详解
- mysql-cluster(7)——基准测试
- mysql-cluster(8)——最佳实践
- mysql-cluster(9)——NDB和InnoDB区别
- mysql-cluster(10)——注意事项
本文目录:
在ndb上可以建立两种类型的表:
- 内存表:所有数据(包括index)都在内存中。同时会在磁盘上保存数据,因此不用担心数据会丢失,datanode会在启动的时候把数据加载到内存。默认ndb创建的表为内存表。
- 磁盘表:仅主键、索引字段保存在内存中,其他字段保存在磁盘文件里。
1 创建内存表
create table abc (id int) engine=ndbcluster DEFAULT CHARSET=utf8;
2 创建磁盘表
磁盘表需要创建UNDO表空间和数据表空间
2.1 创建undo日志文件组
注:MySQL只支持创建一个LOGFILE GROUP文件,只有删掉原来的才可以创建新的。
CREATE LOGFILE GROUP lg_1
ADD UNDOFILE 'undo_1.log'
INITIAL_SIZE 16M
UNDO_BUFFER_SIZE 2M
ENGINE NDBCLUSTER;
增加日志文件到日志组:
ALTER LOGFILE GROUP lg_1
ADD UNDOFILE 'undo_2.log'
INITIAL_SIZE 12M
ENGINE NDBCLUSTER;
2.2 创建数据表空间
CREATE TABLESPACE ts_1
ADD DATAFILE 'data_1.dat'
USE LOGFILE GROUP lg_1
INITIAL_SIZE 32M
ENGINE NDBCLUSTER;
给表空间增加日志文件:
ALTER TABLESPACE ts_1
ADD DATAFILE 'data_2.dat'
INITIAL_SIZE 48M
ENGINE NDBCLUSTER;
注:上面增加的日志文件和数据文件的信息保存在information_schema.FILES表里。
2.3 创建磁盘表
CREATE TABLE dt_1 (
member_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
last_name VARCHAR(50) NOT NULL,
first_name VARCHAR(50) NOT NULL,
dob DATE NOT NULL,
joined DATE NOT NULL,
INDEX(last_name, first_name)
)
TABLESPACE ts_1 STORAGE DISK
ENGINE NDBCLUSTER;
3 查看表类型
查看表信息:
show table status from sbtest1 where name='sbtest1';
查看表创建命令(有可能出错):
show create table sbtest1;
在management节点上使用ndb_desc工具。
Usage
ndb_desc -c connection_stringt bl_name -d db_name [options]
示例:
[[email protected] mysql]# ndb_desc -c localhost abc -d test2 -p
-- abc --
Version: 1
Fragment type: HashMapPartition
K Value: 6
Min load factor: 78
Max load factor: 80
Temporary table: no
Number of attributes: 2
Number of primary keys: 1
Length of frm data: 227
Row Checksum: 1
Row GCI: 1
SingleUserMode: 0
ForceVarPart: 1
FragmentCount: 1
ExtraRowGciBits: 0
ExtraRowAuthorBits: 0
TableStatus: Retrieved
HashMap: DEFAULT-HASHMAP-3840-1
-- Attributes --
id Int NULL AT=FIXED ST=MEMORY
$PK Bigunsigned PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCR
-- Indexes --
PRIMARY KEY($PK) - UniqueHashIndex
-- Per partition info --
Partition Row count Commit count Frag fixed memory Frag varsized memory Extent_space Free extent_space
0 1 1 32768 0 0 0
NDBT_ProgramExit: 0 - OK