„Работен набор“ е основно количеството данни И индекси, които ще бъдат активни/използвани от вашата система.
Например, да предположим, че имате данни за 1 година. За простота всеки месец се отнася до 1GB данни, което дава общо 12GB, а за да покриете стойността на данните за всеки месец, имате отново индекси на стойност 1GB, общо 12GB за годината.
Ако винаги имате достъп до данните за последните 12 месеца, тогава вашият работен набор е:12GB (данни) + 12GB (индекси) =24GB.
Въпреки това, ако всъщност имате достъп само до данните за последните 3 месеца, тогава вашият работен набор е:3GB (данни) + 3GB (индекси) =6GB. В този сценарий, ако сте имали 8 GB RAM и след това сте започнали редовно да осъществявате достъп до данните за последните 6 месеца, тогава вашият работен комплект ще започне да надвишава наличната ви RAM и ще има влияние върху производителността.
Но като цяло, ако имате достатъчно RAM, за да покриете количеството данни/индекси, до които очаквате да имате често достъп, ще се оправите.
Редактиране:Отговор на въпрос в коментари
Не съм сигурен, че следя напълно, но ще се опитам да отговоря. Първо, изчислението за работния комплект е „фигура за паркиране на топката“. Второ, ако имате (напр.) 1GB индекс на user_id, тогава само частта от този индекс, до която обикновено се осъществява достъп, трябва да бъде в RAM (например, да предположим, че 50% от потребителите са неактивни, тогава 0,5 GB от индекса ще бъде по-често задължителен/необходим в RAM). Като цяло, колкото повече RAM имате, толкова по-добре, особено тъй като работният комплект вероятно ще нарасне с течение на времето поради увеличеното използване. Това е мястото, където се намесва разделянето - разделете данните на множество възли и можете рентабилно да мащабирате. След това вашият работен комплект се разделя на множество машини, което означава, че повече може да се съхранява в RAM. Имате нужда от повече RAM? Добавете друга машина, на която да се разделите.