If your concern is storage, meaning that you fear that a single (database) machine will not be able to keep all your data, you better design in a way that will enable you to scale out by sharding your data.
Sharding means that each database machine will hold only part of your data, each atomic part is called a 'shard', with database nodes holding one or more shards, each shard has one or more replicas.
The idea behind sharding is that, given that you know on which shard the relevant data is, you query only a server which might have the data. Writing data is also done only in the relevant nodes, which minimizes database locks. Some NoSQL databases support this out of the box (like elastic search).
Not all data can be sharded, since it breaks if you want to query the whole dataset, or if you can't figure out reliably and idempotently on which shard your data should be, but if your data is isolated (for example - you have many users, but each user is interested only in his own data) - it could be done quite easily.