Напишу просто некоторые свои мысли.
По-моему, с точки зрения хранения информации не должно быть разницы между диалогом между двумя или тремя и более пользователями. Вопрос лишь в количестве участвующих сторон (n>1).
Защита данных пользователей
Сегодня принято осуществлять шифрование пользовательских данных. Мне кажется, что архитектура БД может сильно зависеть в зависимости от того насколько сильно важна защита данных ваших пользователей. Нужно подойти к этому вопросу основательно и ни в коем случае не использовать самопальные алгоритмы.
Можно защищать не только данные переписки, включая медиа, но и сохранять анонимность участников. Идентификаторы участников (хеш, а не primary ID) можно привязывать к идентификаторам пользователей.