使用自动列化管理列存储内容

本页介绍了如何使用自动列化功能管理列式引擎的列存储区的内容。

通过使用自动列化功能,列式引擎会自动将列存储中的数据转换为列式数据,并提升混合事务和分析处理 (HTAP) 以及联机分析处理 (OLAP) 工作负载的整体性能。

列式引擎会对应用工作负载进行抽样并分析查询,以确定哪些列是适合纳入列存储的假设候选列。它还会自动将列填充到列存储区,在考虑当前列存储区内存大小后,提供最佳性能提升。

默认情况下,新实例会启用自动列化功能,并配置为每小时一次向列存储区推荐和填充列。您可以立即运行自动列化,也可以将每小时一次的默认时间表更改为所需的时间间隔,以运行自动列化。

实例重启后,列式引擎会清除之前建议并填充的列,并重启自动列化。

自动列化功能推荐列后,您可以通过查看推荐的列来查看建议结果。

立即运行自动列式处理

您可以在默认时间表生效之前立即运行自动列化。

如需立即运行自动列式化,请执行以下操作:

psql 客户端

SELECT google_columnar_engine_recommend();

更改自动列化功能的默认时间表

如需更改实例的默认时间表以运行自动列化,请将该实例的 google_columnar_engine.auto_columnarization_schedule 标志设置为新的间隔时间。

该标志的值为 EVERY NUMBER {HOURS|DAYS}。例如:EVERY 12 HOURSEVERY 2 DAYS

如需详细了解如何设置数据库标志,请参阅配置实例的数据库标志

您可以查看有关推荐列大小、推荐列列表和推荐时间表的信息。

如需查看推荐列列表,请执行以下操作:

psql 客户端

SELECT database_name, schema_name, relation_name, column_name FROM g_columnar_recommended_columns;

如需查看列建议时间表,请执行以下操作:

psql 客户端

SELECT * FROM g_columnar_schedules;

重置自动列化功能并移除推荐列

您可以重置自动列化功能,包括它收集的用于生成建议的所有数据。

这会移除通过自动列化自动添加到列存储区中的列。

如需重置自动列式处理,请执行以下操作:

psql 客户端

SELECT google_columnar_engine_reset_recommendation(drop_columns => true);

建议的列存储内存大小

列式引擎可以为您的工作负载推荐最佳列存储内存大小以及可带来最高性能提升的列列表。

您可以根据建议更新 google_columnar_engine.memory_size_in_mb

如需为列存储区推荐内存大小,请执行以下操作:

psql 客户端

SELECT * FROM google_columnar_engine_recommend(mode => 'RECOMMEND_SIZE');

停用自动列化

如需在主实例或读取池实例上停用自动列化功能,请将实例的 google_columnar_engine.enable_auto_columnarization 标志设置为 off

如需详细了解如何设置数据库标志,请参阅配置实例的数据库标志