IK
Size: a a a
IK
K
IK
IK
K
K
IK
K
K
K
IK
AS
CREATE TABLE TestTable
(
event_id UUID,
event_date Date,
event_type LowCardinality(String),
event_region LowCardinality(String),
minValueState AggregationFunction(min, Int8),
recordsNumState AggregationFunction(count)
)
ENGINE = AggregationMergeTree()
PARTITION BY toYYYYMMDD(event_date)
ORDER BY (event_date, event_type, event_region)
TTL event_date + interval 30 day
PARTITION BY (toYYYYMMDD(event_date), event_type, event_region)
SELECT
t.event_id
FROM
TestTable t
WHERE
t.event_date = '2021-01-25'
and t.event_type = 'event1'
and t.event_region = 'Msk'
GROUP BY
t.event_id
HAVING
minMerge(t.minValueState) > 0
M
DC
IT
CREATE TABLE TestTable
(
event_id UUID,
event_date Date,
event_type LowCardinality(String),
event_region LowCardinality(String),
minValueState AggregationFunction(min, Int8),
recordsNumState AggregationFunction(count)
)
ENGINE = AggregationMergeTree()
PARTITION BY toYYYYMMDD(event_date)
ORDER BY (event_date, event_type, event_region)
TTL event_date + interval 30 day
PARTITION BY (toYYYYMMDD(event_date), event_type, event_region)
SELECT
t.event_id
FROM
TestTable t
WHERE
t.event_date = '2021-01-25'
and t.event_type = 'event1'
and t.event_region = 'Msk'
GROUP BY
t.event_id
HAVING
minMerge(t.minValueState) > 0
PARTITION BY (toYYYYMMDD(event_date), event_type, event_region)у меня ни к чему хорошему не привели. Во первых сильно стала проседать скорость, когда обьём данных накопился более-менее приличный, несколько лет. Партиций стало слишком много. И во вторых, пришлось увеличивать max_partitions_per_insert_block со 100 до 1000+, иначе при вставке репликация ставала колом, реплики просто не принимали такие запросы, и пока я не заметил, их в буфере Distributed накопилось уже приличное количество, и они бесконечно пытались раскидаться по шардам.
DC
CREATE TABLE TestTable
(
event_id UUID,
event_date Date,
event_type LowCardinality(String),
event_region LowCardinality(String),
minValueState AggregationFunction(min, Int8),
recordsNumState AggregationFunction(count)
)
ENGINE = AggregationMergeTree()
PARTITION BY toYYYYMMDD(event_date)
ORDER BY (event_date, event_type, event_region)
TTL event_date + interval 30 day
PARTITION BY (toYYYYMMDD(event_date), event_type, event_region)
SELECT
t.event_id
FROM
TestTable t
WHERE
t.event_date = '2021-01-25'
and t.event_type = 'event1'
and t.event_region = 'Msk'
GROUP BY
t.event_id
HAVING
minMerge(t.minValueState) > 0
ME
AS
PARTITION BY (toYYYYMMDD(event_date), event_type, event_region)у меня ни к чему хорошему не привели. Во первых сильно стала проседать скорость, когда обьём данных накопился более-менее приличный, несколько лет. Партиций стало слишком много. И во вторых, пришлось увеличивать max_partitions_per_insert_block со 100 до 1000+, иначе при вставке репликация ставала колом, реплики просто не принимали такие запросы, и пока я не заметил, их в буфере Distributed накопилось уже приличное количество, и они бесконечно пытались раскидаться по шардам.
AS
VB