Спроектируйте схему базы данных и стратегию репликации/шардирования для масштабируемого чат‑приложения, где требуется строгая согласованность сообщений в диалогах, быстрый полнотекстовый поиск по истории и дешёвая архивация старых сообщений; обоснуйте выбор SQL vs NoSQL, индексов, механизмов транзакций и компромиссов между согласованностью и доступностью