Няма нищо лошо в запазването на цялата история в базата данни, те са подготвени за такъв вид задачи.
Всъщност можете да намерите тук в Stack Overflow връзка към примерна схема за чат:пример
Ако все още се притеснявате за размера, можете да приложите някои оптимизации към групови съобщения, като например добавяне на буфер към приложението си, който натискате само след известно време (например около 1 минута); по този начин ще избегнете съобщения само с 1 ред