«Рабочий набор» - это, в основном, количество данных И индексов, которые будут активны / используются вашей системой.
Например, предположим, у вас есть данные за 1 год. Для простоты каждый месяц относится к 1 ГБ данных, что в сумме составляет 12 ГБ, а для покрытия данных за каждый месяц у вас снова есть индексы на 1 ГБ, что составляет 12 ГБ за год.
Если вы всегда обращаетесь к данным за последние 12 месяцев, то ваш рабочий набор: 12 ГБ (данные) + 12 ГБ (индексы) = 24 ГБ.
Однако, если вы фактически получаете доступ только к данным за последние 3 месяца, то ваш рабочий набор: 3 ГБ (данные) + 3 ГБ (индексы) = 6 ГБ. В этом случае, если у вас было 8 ГБ ОЗУ, а затем вы начали регулярно получать доступ к данным за последние 6 месяцев, то ваш рабочий набор начнет превышать объем доступной ОЗУ и оказывать влияние на производительность.
Но, как правило, если у вас достаточно ОЗУ для покрытия объема данных / индексов, к которым вы часто обращаетесь, то все будет в порядке.
Редактировать: Ответ на вопрос в комментариях
Я не уверен, что полностью понимаю, но я попробую ответить. Во-первых, расчет для рабочего набора представляет собой «фигуру шарикового парка». Во-вторых, если у вас есть (например) 1 ГБ индекс для user_id, то только часть этого индекса, к которой обычно обращаются, должна быть в ОЗУ (например, если 50% пользователей неактивны, то 0,5 ГБ индекса будет чаще требуется / необходимо в оперативной памяти). В общем, чем больше у вас ОЗУ, тем лучше, особенно если рабочий набор будет расти со временем из-за увеличения использования. Вот где возникает разделение - разделите данные по нескольким узлам, и вы сможете эффективно сократить расходы. Ваш рабочий набор затем распределяется по нескольким машинам, что означает, что больше можно хранить в оперативной памяти. Нужно больше оперативной памяти? Добавьте еще одну машину для осколка.