If you want to build a large scale, real-time simulation with many participants, you might want to check out some paradigms being used in the game development arena. Particularly concepts like Unity's DOTS/ECS approach.
Ultimately, the task is producing a good model of your domain and then organizing the data in such a way that you can quickly mutate a very large number of instances with each tick (if you are seeking real-time).
If you are not seeking real-time, you could probably do whatever the hell you want.