Задать вопрос
bitrix24info
@bitrix24info
Эксперт Битрикс24

Стоит ли хранить HTML документ в базе?

Привествую!
Представим, что у нас есть база данных документов в формате HTML. У каждого документа есть ряд характеристик, которые я храню в базе данных: название, дата создания. справочники повторяющихся элементов,...

Стоит ли хранить HTML документ в среднем размеров 1-2 страниц формата А4, приблизительно? Ну убьет ли это скорость базы данных? Думаю, что фильтрация по по атрибутам для выборки листа документов более важно, и не стоит отегащать огромными объемами текста базу данных?

Возможно стоит хранить в базе ссылки на файлы в которых храниться сам HTML? Как лучше поступить. Таблица документов сейчас примерно около 1,000,000, но конечная цифра будет примерно 30 млн.
Как лучше поступить?
  • Вопрос задан
  • 335 просмотров
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ответы на вопрос 3
nykakdelishki
@nykakdelishki
Системный аналитик
Практика хранить html в базе данных - нормальная.

Вопрос с производительностью в первую очередь решается не размером поля, а репликацией, партиционирование, шардингом и индексацией.

Стоит провести тестирование на 30 млн записей со средним размером А4, если результаты устроют, то ОК, если подумайте над партиционированием/шардированием.

Ну а уже после тестирования если результаты неудовлетворительные(в чем сомневаюсь 30 млн записей, это не очень много) можете попробовать Postgres + S3/mongo
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
Когда говорят о базе данных, то 99% имеется в виду классическая реляционная БД типа Postgres/MySQL e.t.c.
Такие базы данных создавались для эффективного соединения кортежей и сортировок. Длина DataRow
при этом обычно не больашя (до 8К целый блок таких строк). Эта цифра имеет корни еще в 20м веке.
И если заставить их хранить html (обычно 5-100К) то такая деятельность может быть не очень
удобная для БД. Это как микроскопом гвозди забивать. Очень умная система будет использоваться как
файловое хранилище. Возникает идея - просто взять что-то ориентированное на файлы. Например S3,
BlobStorage, GoogleDrive.
Это было-бы дешевле с точки зрения стоимости владения и бэкап делать
проще.

Я понимаю что мы живем в странное время, когда вместо расчета в калькуляторе - запускают гугл или вместо
расчета в MathCad спрашивают ChatGpt, но все-таки программист должен быть немного хозяйственник
и должен брать простые и дешевые решения там где они достаточны.
Ответ написан
saboteur_kiev
@saboteur_kiev
software engineer
Базу это естественно не убьет.
Вопрос как хранить влияет на то, как часто и кто будет запрашивать документы, как часто добавлять новые.
Но даже сейчас мне кажется, что 1-2 страницы А4 в HTML будет занимать меньше место в базе, чем отдельными файлами.
Можно посмотреть в сторону монги, и то не факт что имеет смысл.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы