Dengan dirilisnya struktur data MemoryStoreHashMap, Roblox menghapus semua batasan yang ada untuk struktur data individu dan menggantinya dengan satu batasan "per-partisi" global. Batasan yang tepat berfluktuasi berdasarkan nilai internal dan cara proses pemartisian otomatis mendistribusikan data Anda, tetapi secara umum memungkinkan penggunaan yang jauh lebih tinggi sebelum terhambat, terutama untuk hash map. Batasan baru ini memungkinkan penggunaan fleksibel dari penyimpanan memori di semua struktur data.
Partisi
API MemoryStores menyimpan data pada partisi, yang merupakan subdivisi dari penyimpanan. Setiap kali Anda menulis item ke penyimpanan memori, item tersebut disimpan pada satu partisi saja. Partisi sepenuhnya dikelola oleh API MemoryStores; Anda tidak perlu mengelolanya sendiri.
Penugasan partisi
Penyimpanan partisi berbeda sesuai dengan struktur data tempat item disimpan. Untuk peta terurut dan antrean, setiap struktur data diberikan satu partisi sahaja.
Sebagai contoh, pertimbangkan permainan karnaval dengan peta terurut bernama PlayerScores dan antrean bernama PlayerLine dari pemain yang menunggu untuk bermain game:

Berbeda dengan peta terurut dan antrean, hash map diberikan beberapa partisi, dan data secara otomatis didistribusikan di seluruh partisi ini. Jika Anda menambahkan hash map bernama Prizes, partisinya mungkin terlihat seperti ini:

Perhatikan bagaimana hash map ada di semua partisi, dan setiap partisi memiliki beberapa subset item.
Batasan
Memiliki batasan per-partisi memungkinkan throughput yang lebih tinggi untuk semua struktur data. Ini juga menguntungkan hash map, karena mereka didistribusikan di seluruh partisi.
Sebagai contoh, pertimbangkan contoh batasan per-partisi sebesar 50.000 permintaan per menit (RPM):
- Dalam kasus terbaik, peta terurut dan antrean dibatasi hingga 50.000 RPM, karena masing-masing berada di satu partisi.
- Permintaan untuk hash map tersebar di seluruh kunci item, yang sendiri tersebar di seluruh partisi, sehingga hash map dapat memiliki batas yang jauh lebih tinggi sebelum terhambat, berkali-kali lipat dari struktur data lainnya dengan asumsi permintaan tersebar di banyak kunci item.
- Meskipun hash map dapat mencapai throughput keseluruhan yang lebih tinggi dengan menyebarkan permintaan di seluruh partisi, kunci item individu tetap dibatasi untuk menjaga stabilitas sistem. Jika sebagian besar lalu lintas Anda menargetkan satu kunci item, kunci tersebut mungkin masih terhambat.
- Untuk berskala secara efektif dan menghindari batasan per-kunci ini, implementasikan sharding kunci. Sebarkan pembacaan dan penulisan secara merata di seluruh banyak kunci item untuk mengurangi kemacetan dan mempertahankan kinerja yang lancar.

Oleh karena itu, jika Anda tidak memerlukan penyortingan atau fungsi "pertama masuk, pertama keluar", hash map biasanya adalah pilihan terbaik untuk struktur data penyimpanan memori. Untuk informasi lebih lanjut, lihat praktik terbaik.