Help with sorting and global updates using ProfileService or DataStore2

Hello! I want to create a game where you can add “things” to a list and give it some likes. Let’s call a “thing” a tile. A tile structure would be: tileId = {likes = 14, (add some data here)}
I want to use ProfileService(or DataStore2) for this project.
I would like so:

  1. When you add a tile to the list, it updates globally
  2. The tiles are sorted by likes

The problem:
For the 1), I can maybe use MessagingService but I don’t know if there’s a better way.
For the 2) I can create an OrderedDataStore containing TileId as the key and likes as the content, but there will be rate limits, bunch of API calls, and I don’t want to have a million different datastores with different structures…

What is the most efficient way to do 1 and 2 using ProfileService or DataStore2?

Or maybe I need to learn how to use Firebase because DataStores suck