re: Designing Facebook Messenger - Grokking the System Design Interview
Would an alternative solution be to use an in-memory DB like Redis to store recent messages (e.g. last day) and periodically move older messages to wide-column store in case the user wants to scroll older messages.