我尝试将自适应分块与timescaleDb 1.0.0一起使用。但这不能按预期工作。
chunk_target_size => 'estimate'
创建一个超表。我想念什么?
1-创建超级表
SELECT create_hypertable('mytable', 'time', chunk_target_size => 'estimate';
2-检查chunk_target_size
select table_name, chunk_target_size from _timescaledb_catalog.hypertable;
3-检查数据块大小
SELECT distinct total_size FROM chunk_relation_size_pretty('mytable');
固定的块大小:
当我将chunk_target_size设置为100MB时,chunk_target_size将约为1.04亿。但是插入数据后的最大值chunk_relation_size也只有152kB
chunk_time_interval
当我设置chunk_time_interval而不是chunk_target_size时,我会得到更大的chunk_relation_sizes。
我使用PGTune来改进数据库配置。 shared_buffers
只有128MB-现在是1280MB。
通过此更改,chunk_target_size
已增加到约12亿,但生成的块仍然仅为152kB。
答案 0 :(得分:0)
为了给您一个更准确的答案,我将不得不看更多(也许尝试使用Slack以获得更多同步帮助?)。
我会检查您是否在更新共享内存设置后重新制作了超表。估算值仍将基于您以前的内存设置,直到您再次运行它。目前尚不清楚是否在更改共享内存后重新制作了超表。
答案 1 :(得分:0)
这是闲暇频道的名言:
要进入自适应分块,需要达到两个块“填充”阈值。一个阈值与大小(字节数)相关,另一个与间隔长度相关。这些阈值可防止作用于“未满”的块。因此,如果您插入稀疏数据以使块不超过两个阈值,则自适应块化将不会更改任何间隔。
看来,我的用例无法使用估算功能。
另外请注意,adaptive chunking功能仍处于测试阶段
更新04.2019
adaptive chunking功能现已弃用(在1.2版中)