+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 22/01/13 в 07:23 |
grozny: только 700 гиг в базу на выходе она будет совсем другой.
|
|
|
|
С нами с 14.02.12
Сообщения: 26
|
Добавлено: 22/01/13 в 08:41 |
а че не поставить рейд масив? у меня файл 3 гига парсится мгновенно..
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 22/01/13 в 09:10 |
я скрипт не нашел, видимо похерел после переезда, сорри
|
|
|
|
С нами с 15.07.11
Сообщения: 3076
Рейтинг: 198
|
Добавлено: 22/01/13 в 12:37 |
Даже тупо прочитать/записать 700 Гигов это порядка 4 часов. А сколько sort отрабатывает интересно?
|
|
|
|
С нами с 22.05.04
Сообщения: 268
Рейтинг: 251
|
Добавлено: 22/01/13 в 15:38 |
как вариант, если нужна только уникальность, в один "проход" при достаточной памяти
- выделяется общая для всех потоков/процессов область памяти под задачу, адреса в однозначном соответствии с crcXX по заданному правилу, значение бита памяти 0/1 в зависимости от того есть строка или нет (если требуется атомарность то 2 бита) (для crc32 потребуется 4гб(8гб))
- указывается максимум N фрагментов, на которые делится исходный файл для обработки, как вариант - автоматом с указанием Y кб на 1 фрагмент
- поток/процесс берет Nую часть по порядку, считывает заданное кол-во байт с общего файла начиная с рассчетного оффсета с первого найденного конца строки (или начала файла для первой по порядку) до последнего конца строки с учетом заданной длины фрагмента, и инкриментирует порядковое число взятых в обработку фрагментов на 1 (атомарно)
- поток/процесс считает crcXX строки, проверяет соответствующее значение бита в памяти, если 0 - меняет на 1 (если нужна атомарность реализует через второй бит) и пишет в общий файл уникальных записей, если 1 - игнорит
- потоки/процессы плодятся до оптимальной загрузки, отслеживаемой или в реалтайме, или до изначально заданного максимума потоков/процессов
|
|
Нестандартные задачи. Кастом программинг на ПХП. Оптимизация стороннего кода. Недорого, недешево.
|
1
|
|
|
С нами с 27.09.03
Сообщения: 5454
Рейтинг: 2506
|
Добавлено: 22/01/13 в 20:13 |
Дартаньян писал: | grozny: только 700 гиг в базу на выходе она будет совсем другой. |
ну будет больше, не вижу проблемы. если постоянно нужно - надо винтов добавить есессно.
|
|
|
|
Самый добрый бегемот
С нами с 24.06.03
Сообщения: 954
Рейтинг: 574
|
Добавлено: 24/01/13 в 12:32 |
сори, с ребенком дома сидел, в сеть не выходил.
в файликах разное кол-во строк. ну в среднем около 1.5-2 миллиарда.
там народ интересовался сколько времени sort отрабатывает - около 3 суток. сейчас заметили интересную вещь, файлики можно сортить параллельно =)
т.е. можно запускать 4 сорта на 4 разных файла. при этом нагрузка на винты не растет, т.к. каждый файл положили на отдельный диск.
в принципе теперь получается приемлемая скорость, наверное.
спасибо всем. рад что есть люди, которые любят нестандартные решения =)
еще раз всем спасибо
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |