Большие объемы данных хранят точно так же, как и маленькие.
Любые отступления от этого правила должны быть продиктованы очень серьезными причинами. А не нелепыми страхами, как в вашем случае.
Сделайте нормальную таблицу. В которую заливайте денные нормальным способом, без всяких блобов.
Если нет возможности увеличить max_allowed_packet - заливайте частями.
Алексей Коновалов, понимаете, вопрос получаю ошибку "MySQL server has gone away". не имеет никакого отношения к вопросу "Как хранить данные?". И если ответить на первый, то этот топик будет полностью бесполезен тем, кого интересует ответ на второй.
А если ответить на второй, то проблема останется ровно та же самая. Потому что вопросы "Как хранить" и "как исправить ошибку" - совершенно разные.
А вопрос "как читать JSON чтобы не падать по памяти" - это уже третий , который не имеет никакого отношения к первым двум.
ну так это просто значит, что вы неправильно "монтируете вольюмы".
потому что при нормальном монтировании ничего не затирается.
Всегда задавайте конкретный вопрос по конкретной проблеме. А не ходите вокруг да около.
Приведите конфиг контейнера, в котором у вас все затирается
Slash, мне кажется, вы чего-то не понимаете. нагрузка будет такой же, если обработать 9999999999 за один раз или 10 раз обрабатывать по 999999999 файлов. Вам это не очевидно? Это транзитивность умножения, её проходят во втором, что ли, классе.
В последнем случае получится даже немного дольше из-за накладных расходов.
Что значит "не хочу нагрузить сервер"? "Хозяин жалел собаку, и отрезал ей хвост не сразу весь, а по частям".
Если вам все равно надо обработать все файлы, то сделаете вы все за 1 раз, или разобьете на 10 - нагрузка будет та же самая.
Вы можете сформировать свои страдания как-то более внятно?
Что значит "длина строки слишком длинная"? Какой строки, какая конкретно длина и почему вы считаете, что она "слишком длинная"?
Сергей delphinpro, ну вот так и надо всегда делать, указывать конкретный заголовок, если запрос приходит с конкретного апстрима. А не брать все подряд что попало
причем лучше это делать сразу в конфиге
Сергей delphinpro, это одно и то же.
если getenv('REMOTE_ADDR') всегда возвращает 127.0.0.1, то надо или нанять админа с прямыми руками, чтобы пробрасывал IP адрес нормально, или у админа же узнать конкретный заголовок, в который кладется IP клиента.
А не перебирать все возможные НТТР заголовки, чтобы любой придурок мог вообще без труда подделать IP
Любые отступления от этого правила должны быть продиктованы очень серьезными причинами. А не нелепыми страхами, как в вашем случае.
Сделайте нормальную таблицу. В которую заливайте денные нормальным способом, без всяких блобов.
Если нет возможности увеличить max_allowed_packet - заливайте частями.