我对CickHouse中常见类型的禁用NULL感到困惑。 NULL值限制背后的想法是什么?
在Google BigQuery中,我的工作流程是在同一个表中存储尽可能多的指标,尽管我每行只能存储一个字段。
但在ClickHouse案例中,所有值都将设置为默认值。
P.S。数据是加密货币指标,例如(价格,数量,社区规模,链数据)。
p.s.s。我的常见问题是按时间段聚合,即
SELECT time_bucket('10 seconds', time) AS period, max(value), avg(value), fisrt(value), last(value) GROUP BY id, period
字段上的一些数学(+, - ,/,*),移动平均值,标准差。 (但是这部分可以在接下来的步骤中使用pandas完成)。
time_bucket是时间刻度的基元,用于在一段时间内进行聚合。
答案 0 :(得分:1)
自2017年中期以来,Clickhouse支持NULL。目前ClickHouse中的NULL支持已经足够成熟,可以在生产环境中使用(仍然可能存在微小问题)。文档还没有准备好。
语法是这样的:
create table test (x Nullable(UInt8)) Engine = TinyLog;
通常,一些列支持NULL,这意味着它有点慢,因为应该以某种“特殊”方式存储和处理NULL状态。任何数据库都是如此。
ClickHouse源自Yandex Metrika,可能最初对于Metrika场景来说,NULL并不是很好的。