Домашний сервер для аналитики и математических вычислений?

Доброго времени.

Имеется огромные базы данных, вес баз данных составляет от 50 ГБ до 1 ТБ, соответственно - данных миллионы. Необходимо проводить различные вычисления и их анализ, к примеру за раз получить 500 миллионов записей и работать с ними (подсчитывать различные данные в зависимости от параметров, записывать обработанные данные и возможно работать ещё и с ними).

Всё это кушает очень много ОЗУ и ресурсов диска (SSD), что на рабочем ПК довольно проблемно (32 ГБ, постоянно занята на 100% и образуется огромный файл подкачки), процессор обычно сильно не нагружен (i9-10900 нагружается максимум на 15%).

Исходя из данных проблем задумался о покупке домашнего сервера о котором думал и ранее для различных файлов, локального web-сервера и git-хранилища, соответственно и под данные вычисления, которые не будут загружать рабочий ПК и в момент обработки данных можно будет спокойно им пользоваться.

Для примера. Работа с базой данных весом 300 ГБ занимает ~трое суток обработки и сохранения данных.

Далее по теме сервера: есть ли смысл в покупке бюджетного Б\У сервера под конкретные задачи? Будет ли это производительнее, чем моя текущая конфигурация? Присматриваюсь к вторичке (ddr3 вместо ddr4, но при этом большой объем 64GB+, рейд из пары SSD), какой нибудь материнке и процессору Xeon с Ali (так как бюджет довольно ограничен).

Хотел бы услышать тех людей, которые занимались подобными сборками, имеет ли это вообще смысл?
Будут ли это производительнее для моих задач?
  • Вопрос задан
  • 560 просмотров
Пригласить эксперта
Ответы на вопрос 8
CityCat4
@CityCat4
//COPY01 EXEC PGM=IEBGENER
По поводу содержания сервера дома я еще три года назад писал такой ответ. С тех пор ничего не поменялось.

Берете бу сервер в конторах, которые торгуют списанным (ну как списанным - снятым с гарантии после того как пять лет отходили) серверным оборудованием - несмотря на то, что оно как бы списано, оно еще пахать будет и пахать. Берете к нему рейд-контроллер если надо и винты (винты у них могут довольно дорогими оказаться). Ставите, что надо и вуаля.

Вот контора, где я себе брал, но разумеется можно и другие найти. Серверный проц без серверной памяти - это просто понты типа прямотока, который ставят себе "чоткие пасаны".
Ответ написан
Комментировать
@rPman
Вопрос номер один - критично ли для твоей задачи наличие ecc памяти? Это определит, можешь ли ты получить ответ с ошибкой? можешь ли ты его проверить?

Вопрос номер два, может ли твоя задача быть оптимизирована использование многопоточности, т.е. сможешь ли ты решить ее с помощью GPU?

Если что современные десктопные процессоры просто замечательные, какой-нибудь intel 12600 и оперативку на 64гб по деньгам будет очень даже нормально, и при этом с гарантией... а новый lga1700 позволит некоторую свободу в апгрейдах (правда зная интель - не долго), хочешь можешь amd ryzen прикупить, чуть дешевле и чуть медленее.

p.s. вопрос номер три 500 миллионов записей обычно влезают в оперативку (хеши и индексы), зачем насиловать базы данных? (это сарказм, в реалиях все от задачи конечно зависит, но когда данных много с вероятностью в 90% нужна агрегация)
Всё это кушает очень много ОЗУ и ресурсов диска (SSD), что на рабочем ПК довольно проблемно (32 ГБ, постоянно занята на 100% и образуется огромный файл подкачки), процессор обычно сильно не нагружен (i9-10900 нагружается максимум на 15%).
скорее всего алгоритм обработки этих данных очень не эффективный, в первую очередь орекомендую решить это проблему а не искать решение в железе, прошли времена, когда апгрейд повышает скорость в несколько раз.
i9-10900 ... 32Гб озу
нормальная у тебя машина, добавить оперативки и радоваться
сервера это не про производительность, это про надежность и многопоточность (бывают задачи, когда много медленных процессоров выгоднее и удобнее чем мало быстрых)
Ответ написан
nava2002
@nava2002
Инженер
Задача специфическая.
"Сервер" - узко специализированное устройство. Его задача быстро получать и обрабатывать сетевые запросы.
Я думаю, что в данной ситуации речь идет о "Специализированном" компьютере для решения вашей задачи, вероятно с использованием серверной материнки и установке на этот компьютер вашего специфического ПО.
Ответ написан
Комментировать
@Drno
Врятли «сепвер» будет быстрее

Вам надо - максимум оперативки взять+ Raid 1 а лучше raid10 из ssd

Либо ssd nvme
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
Всё это кушает очень много ОЗУ и ресурсов диска (SSD), что на рабочем ПК довольно проблемно (32 ГБ, постоянно занята на 100% и образуется огромный файл подкачки), процессор обычно сильно не нагружен (i9-10900 нагружается максимум на 15%).

С большой вероятностью новый сервер который стоит миллион денег также скушает все ваше ОЗУ.
Потому что нет оснований не скушать. Лимиты на использование в ОЗУ зашиваются в программное обеспечение.
Следовательно даже на 32 и на 16 Г вашу задачу можно решать.

Если она нерешаема - то интересно почему. Что за алгоритм? Может язык и виртуальная машина неоптимальны? Python например. Тот никогда не хвастался экономией памяти.
Ответ написан
VoidVolker
@VoidVolker Куратор тега Железо
Dark side eye. А у нас печеньки! А у вас?
Имеется огромные базы данных, вес баз данных составляет от 50 ГБ до 1 ТБ

i9-10900 нагружается максимум на 15%

В таком случае, имеет смысл использовать конфигурацию с оптимизацией по памяти: много памяти, далее кэш из SSD в рейде, младший или средний процессор. В идеале - 1ТБ памяти и более, чтобы БД влезла целиком плюс результаты. Хорошим вариантом будет аренда сервера. Хотя бы для проверки конкретной конфигурации. Если бюджет не позволяет - то, тут по советам CityCat4 брать б/у сервер с кучей оперативки и ссд.
Следующий шаг - оптимизация ПО и алгоритмов под железо, чтобы оно могло более эффективно использовать ОЗУ, ССД кэш и основное хранилище, а не надеяться на ОС.
Ответ написан
Комментировать
@kalsc12345
Неизвестный человек.
64 гб RAM мало как-то с запасом берите всегда 128 gb RAM оптимальное решение и про процессор с ALI Взять Xeon такое себе чудеса они не гарантируют ваш безперебойку БУ же, Рекомендую взять под игровую процессор и охлаждение нормальную.
Ответ написан
@Catt96
курить люблю пипец...
Тут можно посоветовать двухголового монстра хуанана. Серверное железо за низкие деньги)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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