2011-01-14 3 views
2

У меня есть большие объемы текста (файлы журналов), которые могут быть очень большими (до гигабайт). Они связаны с объектами, которые я храню в базе данных, и я пытаюсь выяснить, следует ли хранить их в базе данных SQL или во внешних файлах.Опции для хранения больших блоков текста в/с базой данных SQL?

Похоже, что хранилище в базе данных может быть ограничено до 4 ГБ для полей LONGTEXT в MySQL, и, предположительно, другие БД имеют аналогичные ограничения. Кроме того, хранение в базе данных, по-видимому, исключает любой поиск при просмотре этих данных - мне придется загрузить полную длину данных, чтобы отобразить любую ее часть, не так ли?

Так что, похоже, я склоняюсь к хранению данных из БД: мои опасения по поводу хранения больших капель в базе данных действительны, и если я собираюсь их хранить из базы данных, то есть любые рамки/библиотеки, чтобы помочь с этим?

(я работаю в Python, но я заинтересован в технологиях и на других языках)

ответ

2

Ваши опасения действительны.

DB's приобрел способность обрабатывать большие двоичные и текстовые поля несколько лет назад, и после того, как все мы попытались, мы сдались.

Проблема связана с тем, что ваши операции с большими объектами имеют тенденцию сильно отличаться от ваших операций над атомными значениями. Таким образом, код становится сложным и непоследовательным.

Таким образом, большинство ветеранов просто хранят их в файловой системе с указателем в db.

0

Я знаю, PHP/MySQL/Oracle/PROB более позволяет работать с большими объектами базы данных, как если у вас есть указатель на файл, которая затрагивает проблемы памяти.

+0

Можете ли вы предоставить ссылку на некоторую информацию о том, как этот файловый доступ выполняется для mysql? – kdt