LangSmith 自托管版本支持为追踪启用自动生命周期和数据保留。这对于遵守数据隐私法规,或希望更有效地利用存储空间并自动清理追踪记录非常有用。追踪记录的数据保留期还会根据某些操作或运行规则的应用而自动延长。
自托管企业版客户: 您现在可以通过用户界面在工作区级别配置扩展数据保留,从而无需更改环境变量即可实现更精细的控制。更多信息,请参阅自定义扩展保留策略。本页文档所描述的系统级生命周期配置仍然有效。

要求

您可以通过 Helm 或环境变量设置来配置保留策略。有几个可配置的选项:
  • 启用: 是否启用数据保留。如果启用,您可以通过用户界面设置默认组织和项目级别的时间段以应用于追踪记录(详情请参阅数据保留指南)。
  • 保留期限: 您可以为短期和长期追踪记录配置系统级的保留期限。配置后,您可以在每个项目中管理保留级别,并为新项目设置组织范围内的默认值。
Helm

ClickHouse 生命周期清理任务

从 0.11 版本开始,系统会在周末运行一个定时任务,以协助删除那些可能未被 ClickHouse 内置生命周期机制清理的过期数据。
此任务使用可能长时间运行的变更操作 (ALTER TABLE DELETE),这是开销较大的操作,可能影响 ClickHouse 的性能。我们建议仅在非高峰时段(夜间和周末)运行这些操作。在测试期间,使用默认的 1 个并发活动 变更操作时,我们未观察到 CPU、内存或延迟有显著增加。

默认计划

默认情况下,清理任务在以下时间运行:
  • 星期六:世界协调时晚上 8 点和 10 点
  • 星期日:世界协调时凌晨 12 点、2 点和 4 点

禁用任务

要完全禁用清理任务:

配置计划

您可以通过修改 cron 表达式来自定义清理任务的运行时间:
若要让任务在单个 cron 计划下运行,请将 CLICKHOUSE_TTL_CLEANUP_CRON_WEEKEND_EVENING 和 CLICKHOUSE_TTL_CLEANUP_CRON_WEEKEND_MORNING 设置为相同的值。任务锁定机制会防止执行重叠。

配置每个分区最小过期行数

该任务逐表进行,扫描各个分区,并从包含最小过期行数的分区中删除数据。此阈值平衡了效率和彻底性:
  • 设置过低:任务扫描整个分区以清除少量数据(效率低下)
  • 设置过高:任务可能错过包含大量过期数据的分区

检查过期行数

使用以下查询分析表中的过期行,并相应调整最小值:

配置最大活动变更操作数

删除操作可能非常耗时(对于一个 100GB 的分区大约需要 50 分钟)。您可以增加并发变更操作数来加快进程:
增加并发 DELETE 操作会严重影响系统性能。请仔细监控您的系统,仅当您能接受可能变慢的插入和读取延迟时才增加此值。

紧急情况:停止正在运行的变更操作

如果您遇到延迟峰值并需要终止正在运行的变更操作:
  1. 查找活动的变更操作:
    在结果中查找 command 列包含 DELETE 语句的行,并记下其 mutation_id。
  2. 终止变更操作:

备份与数据保留

如果运行此任务后磁盘空间没有减少,或者仍在增加,则可能是备份通过创建文件系统硬链接导致了此问题。这些链接阻止了 ClickHouse 清理数据。 要验证,请检查您的 ClickHouse Pod 内以下目录:
  • /var/lib/clickhouse/backup
  • /var/lib/clickhouse/shadow
如果存在备份,请将它们复制到外部文件系统或对象存储(例如 S3),然后清空这些目录。几分钟内,您将注意到磁盘空间释放。