我如何设计一个具有适当数据库引擎的模式来根据 clickhouse 或任何其他数据库中的这种需要来积累数据?

How do i design a schema with proper DB engine to accumulate data depending on this need on clickhouse or in any other database?

我们是一家新的 Adtech 公司,我正计划设计一个数据库,我会将所有数据提取到一个 table,然后使用物化视图创建新的 table供其他人生成多个报告。

假设我们出于多种原因有库存、印象、观看次数。

我们的主要 table 看起来像这样,重新创建这个

CREATE TABLE report.empty_summing (times DateTime64,inventory_id String,city Nullable(String), country Nullable(String),inventory Int32 default 0, impression Int32 default 0, views Int32 default 0) ENGINE=SummingMergeTree() primary key inventory_id;

当请求来自 google ADX 到我们的 Adengine 时,它​​有一个唯一的 ID,即“inventory_id”和其他参数,如国家、城市......其他字符串类型参数已插入。

插入 3 种类型的数据时,它看起来像这样。

你可以看到每一行都插入了它们的值,但我想

我们的库存请求插页如下所示。

INSERT INTO report.empty_summing (times,inventory_id,country,city,inventory,impression,views) VALUES (now(),'7120426e6abd0b04ec8c777460a78bdf4b9de0','Bangladesh','Dhaka',1,0,0);

我们的印象插入物看起来像这样。

INSERT INTO report.empty_summing (times,inventory_id,impression) VALUES (now(),'7120426e6abd0b04ec8c777460a78bdf4b9de0',1);

我们的视图插入看起来像这样。

INSERT INTO report.empty_summing (times,inventory_id,views) VALUES (now(),'7120426e6abd0b04ec8c777460a78bdf4b9de0',1);

您可以看到“inventory_id”对于所有这些行都是相同的。是否有任何数据库引擎或任何技术我可以在其中合并数据并看起来像这样?

非常感谢您的帮助。提前致谢!

SimpleAggregateFunction(任意,可空(字符串))

https://github.com/ClickHouse/ClickHouse/issues/28073#issuecomment-905151779

https://gist.github.com/den-crane/d03524eadbbce0bafa528101afa8f794