184 похожих чатов

Друзья! Подскажите, в базе одна большая таблица, каждая партиция YYYYMM

занимает место 6TiB и содержит 30 миллиардов строк, очень неудобно их обслуживать, хочу переделать партиционирование на YYYYMMDD. Срок хранения данных 5 лет.
Могут ли возникнуть какие-либо проблемы с партициями YYYYMMDD при таких объемах данных?

14 ответов

9 просмотров

1 месяц 6tb? Это 360тб за пять лет. Это не очень удобно на одном сервере. Новая реплика будет недели наливаться если сломается сервант. 1500 партиций тоже не сахар. И местами очень больно. В алтинити я бы посоветовал клиенту минимум 20 шардов.

у нас было много партиций, есть некоторые боли и надо быть очень осторожными, а то КХ стреляет всем чем можно по много-партиционным таблицам (время загрузки, ТТЛ, ДДЛ). если запросы/перезаливания только на свежих данных, можно делать гибридно (две таблицы, последний месяц дневная, дальше месячные) которые заалиасены под общей таблицей на Merge-Engine. а ещё можно лайкнуть это и в один прекрасный день это могут и сделать https://github.com/ClickHouse/ClickHouse/issues/16565

Vitaly-Ivanov Автор вопроса
Denny [Altinity]
1 месяц 6tb? Это 360тб за пять лет. Это не очень у...

Я спрашивал только про 1 партицию YYYYMM на 6Tb для простоты, в реальности там уже есть шардирование на 4 сервера. Если Вы советуете перешардировать 1 партицию на 20 шардов, то с учетом того, что уже есть 4 шарда, получается надо перешардировать на 80 серверов. Я правильно понял, увеличивать кол-во шардов для того, чтобы использовать партиции YYYYMMDD?

Vitaly-Ivanov Автор вопроса
【D】【J】
у нас было много партиций, есть некоторые боли и н...

Лайк поставил!) Интересная идея с Merge-Engine! А устаревающие данные из таблиц с партиционированием YYYYMMDD переливать в таблицы с YYYYMM, верно? Если верно, пробовали ли так делать? Возникли ли какие-нибудь трудности?

Vitaly-Ivanov Автор вопроса
Vitaly Ivanov
Да, а что смущает, много?

Много. В реальности я с трудом представляю как такой объем засервать на 4х шардах. Или только писать и никогда не кверять. Тут нужен большой кластер если это кликстрим. Ну и обычно настолько сырые данные не нужны на такой период.

Vitaly Ivanov
Я спрашивал только про 1 партицию YYYYMM на 6Tb дл...

Советую вам сразу забыть про yymmdd. Или надо очень хорошо понимать что вы делаете.

Vitaly-Ivanov Автор вопроса
Denny [Altinity]
Много. В реальности я с трудом представляю как так...

Да, все так, селектят их редко, обычно только последний месяц или последний год и стирать старые данные запрещают

Vitaly-Ivanov Автор вопроса
Denny [Altinity]
Советую вам сразу забыть про yymmdd. Или надо очен...

Похоже мне придется воспользоваться вашим советом и не думать в сторону YYYYMMDD, - у меня не так много опыта с ClickHouse еще пока

Vitaly Ivanov
Похоже мне придется воспользоваться вашим советом ...

Можете в алтинити обратится. У нас есть бесплатный час консультаций. Мы за час все обсудим и возможно расскажем вам как сократить кол-во данных в разы без потери качества.

Vitaly Ivanov
Лайк поставил!) Интересная идея с Merge-Engine! А ...

Можно, руками. Трудности с переливанием зависят от рук. В зависимости от объемов одного запроса, скорости дисков, процессоров, параллельности запросов объем шардов лучше выбирать. У нас есть условно системы с шардами по 4-5 ТБ, есть 20 шардов по 30тб. Но у нас нет заметного qps/запросов.

Denny [Altinity]
Можете в алтинити обратится. У нас есть бесплатный...

А как именно обращаться? Я вот на сайте заполнил запрос, а мне назначили zoom-встречу с продажником из Австрии. На 45 мин. Я не в том месте запрос сделал?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта