Где хранить текст?

В приложении имеется сущность "Статья" у статьи есть название и текст. Вот тут у меня возник вопрос, можно ли хранить большой текст в БД? Под большим я имею ввиду 10000-30000 символов. Или есть какие-то другие способы? Приложение на ASP.NET Core. Я подумывал выгружать его куда-то, а в БД сохранять ссылку. Но как это реализовать?)


Ответы (2 шт):

Автор решения: Blackmeser

Делайте в БД, будут проблемы - выносите из БД, тестируйте, сравнивайте.

→ Ссылка
Автор решения: Alexander Petrov

Хранить файлы в БД или файловой системе? - этим вопросом задаются на протяжении многих лет. И неоднократно делались разные тесты на эту тему.

To BLOB or Not To BLOB: Large Object Storage in a Database or a Filesystem - можно ознакомиться с одним из них.

Кратко: Хранение файлов в БД выгоднее до размеров примерно 256 кб, от мегабайта и выше - в файловой системе. Наибольшее влияние оказывает фрагментация. Кроме того, соединение с БД уже установлено, а файл ещё нужно открыть - на это тоже уходит время.

Тестирование проводилось на HDD, OS Windows, файловая система NTFS, Sql Server.

На SSD результаты могут существенно отличаться, т. к. фрагментирование влияет намного меньше.
На другой ОС, а вернее, на другой файловой системе результат тоже может быть другим.
Естественно, многое зависит от движка базы данных.

Кроме того, в некоторых СУБД есть специфические возможности. Например, в Sql Server есть FILESTREAM. Работаете с этим типом, как с обычной колонкой, а файл будет храниться не в таблице, а в файловой системе. При этом сохраняются все удобства СУБД: транзакционная целостность и т. п.

→ Ссылка