Практика хранить html в базе данных - нормальная.
Вопрос с производительностью в первую очередь решается не размером поля, а репликацией, партиционирование, шардингом и индексацией.
Стоит провести тестирование на 30 млн записей со средним размером А4, если результаты устроют, то ОК, если подумайте над партиционированием/шардированием.
Ну а уже после тестирования если результаты неудовлетворительные(в чем сомневаюсь 30 млн записей, это не очень много) можете попробовать Postgres + S3/mongo