I see a place for both, as relays are hubs and there can be different sized hubs, or one hub could be a set of relays.
Discussion
exactly, the only real question is how to divvy up the data you push to the relays
it's a sharding problem, really, we don't have an easy solution for that but making all records into events is part of teh solution
i was already building a relay as a "cache server" a year ago
What Nostr solved for is for the need for every hub to be the same size and contain the same information. Nostr is useful, even if you only store your own notes in it.
That makes it extremely useful for storage that can be very tiny or very large, like git or a UNIX file server.
yep, you can make it more capable by concurrency and faster hardware, but it doesn't change the fact you have atomized the database by making it smart enough to do subscriptions and storage