SQL

Можно ли хранить книги в МуSQL

Я хочу создать базу данных, в которой будут храниться... содержание книг. Чтобы потом можно было производить поиск по ключевым словам и фразам. Объем достаточно большой.

Есть ли вообще смысл в хранении книг в БД? Потянет ли MySQL для этих целей?
Если нет, то какой еще может быть способ хранения с возможностью поиска по всем книгам?
Kgz Б.а.л.а.
Kgz Б.а.л.а.
260
Думаю можно, а вот то, что справиться... даже не скажу, если распределенные сервера... то возможно много загнать.
Заводишь таблицу слов русского языка, где-то 300000 будет или не важно какого языка, просто слова пихать в эту таблицу. Тогда книга 3000 знаков на лист или примерно 900000 символов, где-то 150000 слов-ссылок на таблицу всех возможных слов, что будет 150 килобайт на книгу. Индекс по этим ссылкам. Тогда можно спокойно найти по всем ключевым словам просто ища номер слова в таблице всех возможных слов.
Вот алгоритм поиска по фразам сложнее делать, особенно длинные, не знаю даже на сколько быстра будет эта система.
Петр Алексеевич Данилов
Петр Алексеевич Данилов
61 948
Лучший ответ
учите какой-нить full text search engine
при засовывании книги в базу (и если у вас есть реально текст книги, а не фотокопия), генерите список ключевых слов.
и храните это дело в базе... саму же книгу можете хранить в любом удобном вам виде... в каком-нить "блобе"

кажется нам в "школьную пору" давали задание состряпать что-то типа "википедии"
функция поиска само собой была. разве что мы не сохраняли никаких книг...
А что Вы понимаете под "достаточно большой"? :)

А если без шуток, то выбор реально зависит от объема данных, которые Вы хотите хранить. С точки зрения чистой инженерии правильнее было бы хранить толстые документы в специально под это заточенных базах данных (Cassandra, Couchbase, MongoDB), но у них минимальные требования к аппаратному обеспечению такие, что мало не покажется...
Олег Михалин
Олег Михалин
80 016
Kgz Б.а.л.а. Дело в том, что их нужно выкладывать в интернет. Упомянутые вами БД подойдут для этих целей?
ИМХО абсолютно нет смысла. Храните их в виде файлов: PDF или HTML, удобно для чтения, и + заведите базу, где будут ссылки на файлы. А для поиска, напишите отдельную программу, на любом языке, где есть библиотеки для PDF или HTML.
Сергей Кудрин
Сергей Кудрин
48 987
dev.mysql.com/doc/refman/5.0/en/string-type-overview.html
средняя книга 300-400тыс. знаков, в MEDIUMTEXT точно влезет, даже не средняя и без всяких проблем.
Денис Денк
Денис Денк
11 362
Олег Михалин Стопудово не катит в случае с богато иллюстрированными книгами. И вообще, любое решение, в котором объём единицы хранения ограничен, в наше время стоит с негодованием отметать. :)