homework, pet project DE Dmitry_Medvedev #1
@@ -0,0 +1,39 @@
|
||||
-- Индексы и сжатие - Сжатие --
|
||||
|
||||
-- #1 Создай таблицу logs с колонкой message CODEC(ZSTD(3)).
|
||||
-- #2 Добавь created_at CODEC(Delta, ZSTD) — это улучшит хранение по времени.
|
||||
DROP TABLE IF EXISTS dsolovianov.logs ON CLUSTER clickhouse_cluster SYNC;
|
||||
|
||||
CREATE TABLE dsolovianov.logs
|
||||
ON CLUSTER clickhouse_cluster
|
||||
(
|
||||
id UInt64,
|
||||
level String,
|
||||
message String CODEC(ZSTD(3)),
|
||||
created_at DateTime CODEC(Delta, ZSTD)
|
||||
)
|
||||
ENGINE = ReplicatedMergeTree(
|
||||
'/clickhouse/tables/{shard}/dsolovianov/logs',
|
||||
'{replica}'
|
||||
)
|
||||
ORDER BY (created_at, id)
|
||||
PARTITION BY toYYYYMM(created_at);
|
||||
|
||||
INSERT INTO dsolovianov.logs (id, level, message, created_at) VALUES
|
||||
(1, 'INFO', 'User logged in', '2024-07-01 10:00:00'),
|
||||
(2, 'WARN', 'Request took too long', '2024-07-01 10:05:00'),
|
||||
(3, 'ERROR', 'Unable to connect to server', '2024-07-01 10:10:00');
|
||||
|
||||
-- #3 Посмотри статистику сжатия:
|
||||
SELECT
|
||||
column,
|
||||
compression_codec
|
||||
FROM system.columns
|
||||
WHERE table = 'logs';
|
||||
|
||||
-- Стата вот так выглядит:
|
||||
column | compression_codec
|
||||
id
|
||||
level
|
||||
message CODEC(ZSTD(3))
|
||||
created_at CODEC(Delta(4), ZSTD(1))
|
||||
Reference in New Issue
Block a user