What about this: Use SQLite.
Make it one SQLite file per user. All the read/write are parallelized per user. Backup db file would be smaller, easier. Each service node can handle N users, less for heavy follow users. Should be easier to scale horizontally the with user count by adding system nodes and Storage, networks, web handling process.