Домашний сервер для аналитики и математических вычислений?
Доброго времени.
Имеется огромные базы данных, вес баз данных составляет от 50 ГБ до 1 ТБ, соответственно - данных миллионы. Необходимо проводить различные вычисления и их анализ, к примеру за раз получить 500 миллионов записей и работать с ними (подсчитывать различные данные в зависимости от параметров, записывать обработанные данные и возможно работать ещё и с ними).
Всё это кушает очень много ОЗУ и ресурсов диска (SSD), что на рабочем ПК довольно проблемно (32 ГБ, постоянно занята на 100% и образуется огромный файл подкачки), процессор обычно сильно не нагружен (i9-10900 нагружается максимум на 15%).
Исходя из данных проблем задумался о покупке домашнего сервера о котором думал и ранее для различных файлов, локального web-сервера и git-хранилища, соответственно и под данные вычисления, которые не будут загружать рабочий ПК и в момент обработки данных можно будет спокойно им пользоваться.
Для примера. Работа с базой данных весом 300 ГБ занимает ~трое суток обработки и сохранения данных.
Далее по теме сервера: есть ли смысл в покупке бюджетного Б\У сервера под конкретные задачи? Будет ли это производительнее, чем моя текущая конфигурация? Присматриваюсь к вторичке (ddr3 вместо ddr4, но при этом большой объем 64GB+, рейд из пары SSD), какой нибудь материнке и процессору Xeon с Ali (так как бюджет довольно ограничен).
Хотел бы услышать тех людей, которые занимались подобными сборками, имеет ли это вообще смысл?
Будут ли это производительнее для моих задач?
Интересно для чего вы используете такие большие выгрузки? Для учебы явно нет, а если для работы какой понт на это тратить деньги?
Сначала пробуйте без сервера оптимизировать работу. Очищайте временные таблицы, перестройте индексы, перепишите свои запросы и тд. Либо смотрите в сторону колонко-ориентированная архитектур, там поиск куда быстрее привычных бд.
Так если у вас уже известна проблема - уперлись в объем оперативки, то просто нужно добавить оперативки.
Можно конечно попробовать предварительно потестить, например арендовать на пару дней облачную виртуалку с 64 и 128 гб оперативки и посмотреть сколько нужно.
Если домашний комп не тянет больше 64 гб, то да, материнка которая потянет 128 и больше. Не знаю имеет ли смысл именно серверная, но найти обычную материнку на такой объем оперативки проблематично.
Saboteur, суть в загрузке диска и ОЗУ на основном ПК, некоторые вычисления могут занять и больше 300 ГБ ОЗУ и идти несколько дней, если объем ОЗУ меньше, то всё уходит в кэш (из которого после данные идут в обработку, но намного медленнее, чем из ОЗУ). Суть в том, что накоплю я на пару плашек и будет 128 ГБ - они всё равно будут заняты на 100% и так же невозможно будет пользоваться основным ПК, исходя из этого и возникло желание покупки\сборке домашнего сервера.
Владимир Юрченков, вы правы, что нет понта тратить свои деньги ради "дяди", тем более мне за это не доплатят, но так как я давно хотел домашний сервер под git/локальные сайты/разные сервисы/свалку файлов, а сейчас ещё появилась задача и в обработке данных, то вопрос приобретения железа под домашний сервер возникла повторно. Опять же, на основном ПК выполнение задачи может занимать несколько дней с загрузкой ОЗУ и диска в 100%, от чего работать на нем попросту невозможно.
Станислав, ну а если вам потребуются ресурсы домашнего сервера, когда там будут проходить вычисления? Даже домашний хороший сервер не дешевое удовольствие. Я это к чему... если вам не на постоянку такая нагрузка, то лучше арендовать что-то.
Задача специфическая.
"Сервер" - узко специализированное устройство. Его задача быстро получать и обрабатывать сетевые запросы.
Я думаю, что в данной ситуации речь идет о "Специализированном" компьютере для решения вашей задачи, вероятно с использованием серверной материнки и установке на этот компьютер вашего специфического ПО.