首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NDB发动机最大DATAFILE尺寸

NDB发动机最大DATAFILE尺寸
EN

Database Administration用户
提问于 2018-11-20 10:42:06
回答 2查看 363关注 0票数 0

我的数据库设置是在CentOS上使用带有2-3个节点的NDB集群。在尝试测试性能时,我尝试将大约700万条记录(约2GB大小)存储到其中一个表中。在大约200 K时,它失败了,通知:

代码语言:javascript
复制
ERROR 1114 (HY000): The table 'my_request' is full

这些是LOGFILE组和TABLESPACE:

代码语言:javascript
复制
CREATE LOGFILE GROUP lg_1
    ADD UNDOFILE 'undo_1.log'
    ENGINE NDBCLUSTER;

ALTER LOGFILE GROUP lg_1
    ADD UNDOFILE 'undo_2.log'
    ENGINE NDBCLUSTER;

CREATE TABLESPACE ts_1
    ADD DATAFILE 'data_1.dat'
    USE LOGFILE GROUP lg_1
    ENGINE NDBCLUSTER;

ALTER TABLESPACE ts_1
    ADD DATAFILE 'data_2.dat'
    ENGINE NDBCLUSTER;

由于怀疑这个问题在DATAFILE中,我又在其中添加了两个:data_3.datdata_4.dat,它们解决了这个问题。

因此,根据此页AUTOEXTEND_SIZEMAX_SIZE在我的当前版本中被忽略了。预计该表将在预先确定的时间后转储到磁盘前保存700GB+数据。因此,是否有任何方法来设置这个DATADISK的大小来计算它的未来用途?这些数据存储在哪里?(我试图签入datadir,执行find,但一无所获)。如果您能分享一些很好的信息/策略来解释如何使用NDB,我将非常感激。

注:不是NDB的专家,请假设我在解释时什么也不知道。大块头。

EN

回答 2

Database Administration用户

回答已采纳

发布于 2018-11-21 02:36:58

要获得撤消/数据文件大小,请执行以下操作:

代码语言:javascript
复制
SELECT TABLESPACE_NAME, LOGFILE_GROUP_NAME, FILE_NAME, FILE_TYPE, EXTRA, 
INITIAL_SIZE/1000000 size_init_mb, 
MAXIMUM_SIZE/1000000 size_max_mb, 
TOTAL_EXTENTS - FREE_EXTENTS AS extents_used, 
(TOTAL_EXTENTS - FREE_EXTENTS) * EXTENT_SIZE/1000000 AS mb_used, 
FREE_EXTENTS * EXTENT_SIZE/1000000 AS mb_free
FROM INFORMATION_SCHEMA.FILES WHERE EXTRA IS NOT NULL;

要更改数据文件的MAX_SIZE,只需设置INITIAL_SIZE

代码语言:javascript
复制
ALTER TABLESPACE ts_1
ADD DATAFILE 'data_4.dat'
INITIAL_SIZE 1G
ENGINE=NDBCLUSTER;

尽管文档指出,可以通过在配置中检查datadir来定位此数据文件,但不知何故,我无法在系统中找到它(默认情况下,它位于/var/lib/mysql/)。

票数 0
EN

Database Administration用户

发布于 2018-11-22 12:14:29

下面是手册中的一个部分:

可选的INITIAL_SIZE参数设置撤销文件的初始大小;如果未指定,则默认为128 M (128 if )。可选的UNDO_BUFFER_SIZE参数设置日志文件组的撤销缓冲区使用的大小;UNDO_BUFFER_SIZE的默认值为8M (8 of );此值不能超过可用的系统内存量。这两个参数都以字节为单位指定。您也可以选择使用一个字母的缩写,表示一个数量级,类似于my.cnf中使用的缩写。一般来说,这是一个字母M(代表兆字节)或G(代表千兆字节)。

因此,默认情况下撤销缓冲区的大小为8M,默认情况下撤销日志的大小为128 m。可以通过添加更多的撤消日志文件来扩展撤消日志的大小。

类似地,对于DATAFILE,默认数据文件大小为128 MB。正如前面的答案中所指定的,可以通过设置INITIAL_SIZE来设置数据文件的大小。可以通过添加更多的数据文件来扩展表空间大小。

数据文件还需要设置EXTENT_SIZE (默认为1M字节)。这指定当表片段需要在表空间中分配磁盘空间时分配多少空间。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/222959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档