Det är inget fel med att spara hela historiken i databasen, de är förberedda för den typen av uppgifter.
Du kan faktiskt hitta här i Stack Overflow en länk till ett exempelschema för en chatt:exempel
Om du fortfarande är orolig för storleken kan du tillämpa vissa optimeringar på gruppmeddelanden, som att lägga till en buffert till din applikation som du bara trycker på efter en tid (som 1 minut eller så); på så sätt skulle du undvika att bara ha 1 rad meddelanden