You are wrong to consider the system chat.
In chat rooms there are rooms, inside the rooms, messages and participants.
Tete-a-tete is a private room with 2-mi participants.
participant (party chat)
roster (list of participants in the chat)
history (message history)
- type (type of message, sometimes you need the system messages from bots)
And now forward - learning JOINS you!
On the load - with proper design of the application, the load on the database will be minimal, mostly checking who belongs to a room and recording a story.
Any significant load will be under 10K people online. Believe me, this is a very large attendance.
With a larger attendance your problem will be solved by horizontal scaling (sharding the database).