Многопоточная работа с файлом ~100к-1кк строк

ustas

Client
Регистрация
29.12.2010
Сообщения
260
Благодарностей
19
Баллы
18
Покурил форум. Вродь как основные рекомендации сводятся к тому что бы разбить на куски по 1к и привязывать рандомный файл к списку / таблице.

Мб есть вариант сделать с одного файла - посредством "своего кода" или чего еще ?

Шаб до безобразия прост, основная нагрузка идет у меня как раз сейчас с выдергиванием строк с файлов.

Буду очень благодарен за пинок в нужное направление.
 

surrealmix

Client
Регистрация
07.03.2013
Сообщения
715
Благодарностей
409
Баллы
63

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Ну 1К это мало, можно хотя бы разбить по 50К и уже лучше должно быть
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
для чтения лочить ресурс не нужно.
для редактирования - нужно.
проще то наверно разбить файл на несколько частей и подгружать как обычные списки.
работа с большими файлами, особенно редактирование может потребовать от вас много сил и времени.
 
Последнее редактирование:

ustas

Client
Регистрация
29.12.2010
Сообщения
260
Благодарностей
19
Баллы
18
работа с большими файлами, особенно редактирование может потребовать от вас много сил и времени
это вы к чему ? :D

ps я походу затупил когда делал привязку к одному файлу и брал строки с удалением без редактирования самого файла :ci: и это в многопотоке - получается что каждый поток обрабатывал свой дубликат.

чот потестить надо варианты
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
я не нашел более менее универсального решения для работы с большими файлами, особенно при изменении. Поэтому для поиска решения прийдется потратить время, а для реализации силы...
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
ps я походу затупил когда делал привязку к одному файлу и брал строки с удалением без редактирования самого файла :ci: и это в многопотоке - получается что каждый поток обрабатывал свой дубликат
это преступление! :-)
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
еще хочу кое что сказать по поводу больших текстов.
если хочется хорошей стабильной работы а так же иметь быстрый способ поиска, сортировки, изменения, выборки данных, не говоря уже про стабильность многопотока я считаю лучше всего переносить их в бд. Проблема импорта данных решается один раз и забыается.
экспорт выборки или всей базы в ту же таблицу так же решаем.
 

danni

Client
Регистрация
01.07.2012
Сообщения
373
Благодарностей
6
Баллы
18
У меня вопрос по теме. Вот ключевые слова я разбил на файлы 100-500кб, тут вроде нормально. А вот сохраняю урлы все равно в один файлы(точнее 3, по форматам:хтмл,ббкод и еще 1 там). Т.е. у меня идут 3 списка, в которые сохраняются строки, обычно я останавливаюсь на 200к строках(30мб) и дальше начинаю постить с тех же файлов. Когда написал это, подумал что я все делаю весьма неправильно, так?) С таблицами не работал, если можно списками - скажите через них, но есть таблицами круче, то тоже скажите.
В принципе, могу с этими файлами так поступить: сохранять в 3 папки рандомные файлы с именем ранд1-100, потом так же брать их шаблонами для постинга, если это сильно поменяет суть. Скорость у меня итак норм, но если можно быстрее, то конечно нужно)) да и нагрузка мб меньше будет, я не знаю, в общем подскажите, моя идея норм или есть еще круче?)
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)