Always, always, always use a single table, if possible.
Only use multiple tables if:
- Each of the tables have different numbers of GSI
- Tables have local secondary indices
- You want to manually control scaling
- You have DDB Cognito/federate permission integration
- Different tables have different permissions/owned by different services
- Some of the data should be replicated between regions but other data not
Otherwise, you should merge tables without thinking about it.