Loading large list of guilds from DataStore

Hi all, I’m working on a project in which I want to have a list of every player-made guilds (for leaderboard purposes, but also a searchable list of guilds). I am unsure how to make this happen as I cannot use an OrderedDataStore because non-integer information is required (as in shown in the images below, the name and leader are pulled).

image
image

As a result, I made a system in which I utilised the DataStore:ListKeysAsync() function, and then pulled a table of guild information from the DataStore using DataStore:GetAsync() for each key that the function returned, caching it on the server. However, this could be reasonably request-intensive (1 get request per faction, and all get requests in the same minute), so I am wondering if anyone has any ideas on how to make a system less likely to cut a large hole out of the request limit?