SelectDB案例 从 ClickHouse 到 Apache DorisDuplicate 明细模型进行了对比 ,相较于 Unique 模型和 Duplicate 模型,Aggregate 聚合模型满足我们部分列更新的场景需求: Aggregate 聚合模型可以支持多种预聚合模式,可以通过 REPLACE_IF_NOT_NULL 的方式实 现部分列更新。数据写入过程中,Doris 会将多次写入的数据进行聚合,最终用户查询时, 返回一份聚合后的完整且正确的数据。 另外 沟通后,确定后续版本 Unique 模型也将支持部分列更新。 Duplicate 模型区别于 Aggregate 和 Unique 模型,数据完全按照导入的明细数据 进行存储,不会有任何预聚合或去重操作,即使两行数据完全相同也都会保留,因 此 Duplicate 模型适用于既没有聚合需求,又没有主键唯一性约束的原始数据存储。 确定数据模型之后,我们在建表时如何对列进行命名呢?可以直接使用指标或者是标签的名 功能的数据表也可以支持列名的 修改,这与我们的需求十分匹配,后续我们也会及时升级到最新版本。 写入优化 接着我们在数据写入方面也进行了调整优化,这里几点小经验与大家分享: Flink 预聚合:通过主键 ID 预聚合,减少写入压力。(前文已说明,此处不再赘述) 写入 Batch 大小自适应变更:为了不占用过多 Flink 资源,我们实现了从同一个 Kafka Topic 中消费数据写入到不同0 码力 | 12 页 | 1.55 MB | 1 年前3
百度智能云 Apache Doris 文档HLL(HyperLogLog) 类型是一个二进制类型。HLL 类型只能用于聚合类型的表(Aggregation Table),并且必须指定聚合类型为 HLL_UNION。 HLL 类型主要用于非精确快速去重场景下,对数据进行预聚合。 HLL列只能通过配套的 hll_union_agg、hll_cardinality、hll_hash 进行查询或使用。 BITMAP 数据类型 BITMAP 数据类型 BITMAP 类型是一个二进制类型。BITMAP 类型是一个二进制类型。BITMAP 类型只能用于聚合类型的表(Aggregation Table),并且必须指定聚合类型为 BITMAP_UNION。 BITMAP 类型主要用于精确去重场景下,对数据进行预聚合。同时也可以用于如用户画像场景存放用户ID等。 BITMAP 列只能通过配套的 BITMAP 函数进行查询和使用。 mysql> select cast(1234 as bigint); mysql>0 码力 | 203 页 | 1.75 MB | 1 年前3
共 2 条
- 1













