Nostr is not that scalable. As you seen with the spam, relays were designed poorly.
Nostr is literally websockets and json, things that make up the web already. Relays are just databases, things that make up applications already. Just because you don't know how to scale them doesn't make them not scalable, and as far as I know there's only one developer actually working on scaling it @Doug Hoyte Scale will come quickly ones its made a priority.
Not quite, no. Relays relay, the clue is in the name. The content is a text string. Only thing that scales rn, is #ditto. That's the path.
Relays are no different than postgres in a traditional stack, they "relay" data across time in (conjunction with middleware) Ditto is right because it introduces proper middleware rather than clients speaking equivalent to SQL directly, and relegates the relay back to its core database functionality. The mastodon influence im not a fan of, but it's directionally correct to have application middleware between clients and the database (relay)