Мне нужно хранить вопросы и ответы в базе данных. Вопросы будут от одного до двух предложений, но ответы будут длинными, по крайней мере, параграф, вероятно, больше.
Единственный способ сделать это прямо сейчас - это база данных SQL. Однако я не думаю, что это хорошее решение, потому что, насколько я видел, эти базы данных не используются для данных такого типа или размера. Это правильный путь или есть лучший способ сохранить эти данные? Есть ли лучший способ хранения необработанных строк?
database
database-design
gsingh2011
источник
источник
Ответы:
Mongodb великолепен, но вы знаете SQL. Нет ничего плохого в хранении длинных ответов в полях. Вы можете хранить изображения или даже файлы в SQL. Я думаю, что максимальный размер поля составляет 2 ГБ.
Я почти уверен, что этот ответ хранится где-то в поле таблицы.
Что касается их тысячи, нет проблем. Даже миллионы не должны быть проблемой. Вы можете рассмотреть возможность использования полнотекстовой индексации, если вы ищете в поле ключевые слова или что-то еще. Но я стараюсь не оптимизировать, пока не увижу проблему. Компьютеры дешевы, хранение в основном бесплатное.
источник
Нет проблем с хранением длинного текста в базах данных (SQL или иначе). Вот как хранится практически каждая запись в блоге (например, Wordpress), новостная статья и пост на форуме (например, phpbb) в Интернете. Я не знаю конкретных деталей настройки обмена стека, но я уверен, что ваш вопрос также хранится в базе данных. Большинство баз данных SQL имеют
TEXT
тип поля или эквивалентный только для хранения текстовых данных любой длины. Многие также имеют полнотекстовые поисковые системы.Принимайте технические решения, основываясь на технических знаниях и понимании, а не на чувствах.
источник
Да, это правильный путь. Хранение строк в базе данных SQL - это то, что вы хотите сделать. В одной из моих таблиц в БД есть данные в виде открытого текста, и она работает нормально.
Если вы беспокоитесь о месте для хранения - помните, что это дешево!
Если вы беспокоитесь о производительности - тогда не беспокойтесь, хорошая база данных может масштабироваться (или уменьшаться) до того количества данных, которое вы хотите добавить в нее.
Последнее, что вы хотите сделать, это начать оптимизировать сейчас ради этого (сжатие строк перед тем, как поместить их в БД или что-то в этом роде), прежде чем это действительно станет проблемой. Вы просто даете себе больше работы.
источник
Нет проблем с хранением больших строк или двоичных данных. Я работал с базой данных, содержащей более одного терабайта двоичных данных, и работал очень хорошо (postgres), и единственной плохой вещью было время резервного копирования.
Большой вопрос: «Вам нужно будет постоянно искать в этом тексте?»
Если вы собираетесь искать строки в тексте, вы можете подумать об одном решении по индексам:
источник