腾讯云数据仓库 TCHouse-D

常见操作问题

最近更新时间:2024-08-23 15:18:11

我的收藏

腾讯云数据仓库 TCHouse-D 是否支持修改列名?

在 1.2.0 版本之后, 开启 "light_schema_change"="true" 选项时,可以支持修改列名。
在 1.2.0 版本之前或未开启 "light_schema_change"="true" 选项时,不支持修改列名。
在腾讯云数据仓库 TCHouse-D 使用的 Doris 内核中,列名称是直接写入到数据文件中的,在查询时会直接通过列名查找到对应的列。因此,改列名不仅是简单的元数据修改,还会涉及到数据的重写,是一个非常重的操作。开启 light schema change 后可支持修改列名,但该功能目前尚不成熟,建议谨慎使用。

Unique Key 模型的表是否支持创建物化视图?

不支持。 Unique Key 模型的表是一个对业务比较友好的表,因为其特有的按照主键去重的功能,能够很方便的同步数据频繁变更的业务数据库。因此,很多用户在将数据接入时会首先考虑使用 Unique Key 模型。 但遗憾的是,Unique Key 模型的表是无法建立物化视图的。原因在于,物化视图的本质,是通过预计算来将数据“预先算好”,这样在查询时直接返回已经计算好的数据,来加速查询。在物化视图中,“预计算”的数据通常是一些聚合指标,例如求和、求 count。这时,如果数据发生变更,如 update 或 delete,因为预计算的数据已经丢失了明细信息,因此无法同步的进行更新。例如一个求和值5,可能是 1+4,也可能是2+3。因为明细信息的丢失,我们无法区分这个求和值是如何计算出来的,因此也就无法满足更新的需求。

show backends/frontends 查看到的信息不完整?

在执行如 show backends/frontends 等某些语句后,结果中可能会发现有部分列内容不全。例如 show backends 结果中看不到磁盘容量信息等。 通常这个问题会出现在集群有多个 FE 的情况下,如果用户连接到非 Master FE 节点执行这些语句,就会看到不完整的信息。这是因为此类信息仅存在于 Master FE 节点。例如 BE 的磁盘使用量信息等。所以只有在直连 Master FE 后,才能获得完整信息。 当然,用户也可以在执行这些语句前,先执行 set forward_to_master=true; 这个会话变量设置为 true后,后续执行的一些信息查看类语句会自动转发到 Master FE 获取结果。这样,不论用户连接的是哪个 FE,都可以获取到完整结果了。

Unique Key 模型查询结果不一致?

某些情况下,当用户使用相同的 SQL 查询一个 Unique Key 模型的表时,可能会出现多次查询结果不一致的现象。并且查询结果总在 2-3 种之间变化。 这可能是因为在同一批导入数据中,出现了 key 相同但 value 不同的数据,这会导致不同副本间因数据覆盖的先后顺序不确定而产生的结果不一致的问题。 例如表定义为 k1, v1。一批次导入数据如下:
1, "abc"
1, "def"
那么可能副本1 的结果是 1, "abc",而副本2 的结果是 1, "def"。从而导致查询结果不一致。为了确保不同副本之间的数据先后顺序唯一,可以参考 Sequence 列 功能。