【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】V4.3.5
【问题描述】OB 日志区推荐大小是机器内存的3-4倍,还是其他的占用内存的3-4倍
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】V4.3.5
【问题描述】OB 日志区推荐大小是机器内存的3-4倍,还是其他的占用内存的3-4倍
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
您的问题可能存在误解,实际上据我所知,OceanBase 数据库的日志区(如 CLOG、SLOG 等)推荐大小并不是机器内存的 3-4 倍,也不是其他占用内存的 3-4 倍。根据文档中的信息:
log_disk_size
和 log_disk_percentage
来让用户配置日志盘空间的具体大小。具体的配置建议如下:
log_disk_size = 0
,则根据 log_disk_percentage
来分配日志盘空间。log_disk_size
和 log_disk_percentage
均为 0(默认值)时,磁盘空间计算方式取决于数据和 CLOG 是否同盘。如果同盘,数据占用盘的 60%,CLOG 占用盘的 30%;如果不同盘,两者各占 90%。以上信息来源于《产品 FAQ → 内存 FAQ → OceanBase 数据库进行一次内存分配会检查哪些限制?》以及《OceanBase 数据库性能的影响因素 → 资源分配 → 磁盘划分》。
因此,对于 OB 日志区的大小,您应该基于实际的磁盘情况来合理配置 log_disk_size
或者 log_disk_percentage
参数,而不是依据机器内存或其他占用内存的比例。如果您有更具体的需求或场景,请提供更多信息,以便给出更准确的建议。
具体信息可参考以下文档:
@论坛小助手
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002016081
这里写着 在相同数据量的情况下,事务日志的大小约为内存数据大小的三倍。因此事务日志盘所需空间上限与两次合并后的数据总量成正比。经验公式:事务日志文件大小 = 增量数据内存上限的 3~4 倍。
就是 这个内存是什么内存不清楚
感谢您提供的补充信息。根据您引用的文档内容,事务日志(CLOG)的大小确实与内存数据大小有关。具体来说,在相同数据量的情况下,事务日志的大小约为内存数据大小的三倍。因此,事务日志盘所需空间上限与两次合并后的数据总量成正比。经验公式为:事务日志文件大小 = 增量数据内存上限的 3~4 倍。
这里的“内存数据大小”或“增量数据内存上限”指的是 MemStore 中的数据量,即在内存中尚未转储到磁盘的增量数据。MemStore 是 OceanBase 数据库中用于存储最近写入的数据的内存区域。当 MemStore 达到一定阈值时,会触发转储操作,将数据从内存转储到磁盘上的 SSTable 文件中。
MemStore:
memstore_limit_percentage
配置项设置的比例),会触发转储操作,将数据从内存转储到磁盘上的 SSTable 文件中。事务日志(CLOG):
经验公式:
log_disk_size 和 log_disk_percentage:
log_disk_percentage
参数。log_disk_size
参数。memstore_limit_percentage:
假设您的机器有 1TB 的磁盘空间,并且您希望将 30% 的磁盘空间分配给事务日志盘,则可以配置如下:
alter system set log_disk_percentage = 30;
或者,如果您希望显式指定事务日志盘的具体大小为 300GB,则可以配置如下:
alter system set log_disk_size = '300G';
同时,假设您的 MemStore 限制为租户内存的 50%,并且租户内存为 100GB,则 MemStore 的大小为 50GB。根据经验公式,事务日志文件大小应为 50GB * 3~4 = 150GB ~ 200GB。
希望以上解释能够帮助您更好地理解事务日志大小与内存数据大小的关系。如果有更多问题,请随时提问!
详情请参考:
日志盘的大小给我们生产推荐的是机器内存的4倍
是机器内存的3-4倍,还是 增量数据的3-4倍;
文档里写的是 租户MemStore的3-4倍。
如果是机器内存3-4倍,那硬盘容量有点夸张
您提到的文档内容确实表明事务日志(CLOG)的大小与 租户 MemStore 中的数据量有关,而不是机器内存。具体来说,事务日志文件大小应为 增量数据内存上限的 3~4 倍,这里的“增量数据内存上限”指的是 租户 MemStore 中的数据量。
MemStore:
事务日志(CLOG):
经验公式:
假设您的租户配置如下:
memory_size
):100GBmemstore_limit_percentage
):50%那么,MemStore 的大小为:
[ \text{MemStore 大小} = 100GB \times 50% = 50GB ]
根据经验公式,事务日志文件大小应为:
[ \text{事务日志文件大小} = 50GB \times 3~4 = 150GB~200GB ]
log_disk_percentage
参数。log_disk_size
参数。例如,如果您希望将 30% 的磁盘空间分配给事务日志盘,则可以配置如下:
alter system set log_disk_percentage = 30;
或者,如果您希望显式指定事务日志盘的具体大小为 300GB,则可以配置如下:
alter system set log_disk_size = '300G';
事务日志(CLOG)的大小是基于 租户 MemStore 中增量数据的 3~4 倍,而不是机器内存的 3~4 倍。这样可以确保事务日志有足够的空间来记录事务操作,同时不会导致硬盘容量过于夸张。
如果有更多问题或需要进一步的帮助,请随时提问!
具体信息可参考以下文档:
(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)
集群的设置建议是集群内存的3-4倍,租户建议设置成租户内存的3-4倍,ob日志会存在写放大的问题,日志盘设置为3-4倍主要是为了防止日志盘爆满而导致的禁写问题
那日志区的大小 标准应该是什么
集群内存 是哪个参数
租户我知道是 memstore
推荐为ob内存的3-4倍
为啥和文档都不一致? 有没有权威的说下
文档写的是 MemStore 内存的 3-4倍
你看的哪个文档写的是 MemStore 内存的 3-4倍?发一下链接
在相同数据量的情况下,事务日志的大小约为内存数据大小的三倍。因此事务日志盘所需空间上限与两次合并后的数据总量成正比。经验公式:事务日志文件大小 = 增量数据内存上限的 3~4 倍。
这个?
链接能发出来看一下么