железа.
данных примерно 50тб. я правильно понимаю из документации, что тогда нужно 150тб+ SSD с учетом 3 нод. может где-то можно поподробнее почитать про такие кейсы ?
данных 50 гигабайт каких ? не сжатых? в каком формате? MySQL \ PostgreSQL \ CSV \ TSV ?
50тб это уже сжатых данных сейчас все хранится в Cloud Vertica, но изначально это было json.
ок. примерно столько же будет и в clickhouse
IMHO одной ноды для такого объема достаточно ну двух для HA
а сколько в процентах стоит заложить доп памяти, чтобы была хорошая производительность? таблички большие, всего около 20
зависит от того какая у вас кардинальность при GROUP BY .. и сколько паралельных запросов 16Gb RAM может быть достаточно 32gb RAM лучше...
Спасибо! А по железу можете подсказать? Смотрел бенчмарки вот тут, но не понял что будет подходить для моих задач
у вас Vertica on premise была? или облачная? у клика такие же требования по железу как у Вертики
https://kb.altinity.com/altinity-kb-setup-and-maintenance/clickhouse-deployment-plan/
Vertica была облачная, поэтому сейчас нет до конца понимания, сколько всего нужно заложить((
Берете кусок данных(допустим месяц) заливаете в кх и гоняете ваши запросы
а переезжаете куда? тоже в облака? или свои желези? или арендованные? CPU ядер чем больше тем лучше, память расходуется на select для group by, order by и window функций ... умножить на кол-во одновременных выборок на insert расход на буфера - 2 мегабайта на колонку примерно... умножить на кол-во одновременных вставок
КХ минимум в 2-3 раза лучше жмет чем в вертика.
50 Tb я бы сделал 50 нод по терабайту данных на ноду и памяти 64Gb на ноду если вы будете делать выборки большие из таблиц distibuted с большим кол-во комбинаций в group by то это на ноде инициаторе будет жрать память
надо тестить на 1% проценте и экстраполировать
да бред это, у меня полно нод и с 20TB и с 75TB
Ну 50 нод это тот еще зверинец) Сомневаюсь что все 50тб активно в запросах учавствуют
Понял. И на джойны также память расходуется, верно? Хотим свое железо арендовать сейчас, формируем тз. А как корректно рассчитать количество нод и ядер? Особенно если есть перспектива увеличения обьема хранилища до 1пб к примеру
Join, group by, order by собсно все
угу , но вы доку почитайте что там с JOIN в clickhouse это все таки не вертика
да, это уже понял(( похоже придется использовать внешние словари
сколько таблиц у вас? сколько фактов, дименшинов?
сейчас есть около 20 таблиц, из которых половина занимает большую часть памяти. фактов около 10, а дименшенов 10-20 на таблицу
вертика жмет особым образом, там не LZ4 и не ZSTD, там скороее кодеки и lowcardinality, и только строки пожаты тем что похоже на компрессию
проблема есть если надо джойнить факты, придется все переосмыслить, и изменить подход
а какие подходы можете посоветовать если возникнет такая необходимость ? особенно если таблицы ещё разрастутся в 5-10 раз
если у вас кликстрим то подход номер 6, если у вас блокчейны то подход номер 11, ... Обычно у меня анализ и советы занимают 2-3 часовых митинга и пару дней подумать
Лучше всего начать тестить Clickhouse на своих данных, иначе будет сложно объяснять, что не так
а можно, пожалуйста, ссылку на доку с описанием подходов 🥺
Обсуждают сегодня