Алгоритм работы с большим файлом базы данных

Статус
В этой теме нельзя размещать новые ответы.

mustafa

Новичок
да что тут думать, перегоняй все в бд и будит тебе счастье, только сделай это правильно!
 

dimagradov

Новичок
dimagolov
А ядро-то тут причем?
Linux 2.6.9-78.0.22.EL #1 Thu Apr 30 19:03:25 EDT 2009 i686 i686 i386 GNU/Linux
Я же до этого писал, у меня Centos 4
Редакторами пользуюсь старинными, vim не люблю, нравится joe и jed
На php уж я справлюсь с перегоном в mysql через insert в таблицу с одним полем
с postgresql никогда не работал
 

dimagradov

Новичок
Автор оригинала: *****
А откуда тут насилие-то?
Так скрипту через fseek постоянно приходиться менять позицию в файле на нужную, винт хрустит при этом постоянно!
Да и по времени тоже. У меня есть подозрение, что с базами данных будет такое же насильственное обращение к винту
 

Фанат

oncle terrible
Команда форума
Что значит "все время"? Как часто требуются эти строки?

-~{}~ 06.08.09 13:34:

Каков объем индексного файла?
 

dimagradov

Новичок
Автор оригинала: *****
Что значит "все время"? Как часто требуются эти строки?
Каков объем индексного файла?
*****
Объем файла почти 2 гигобайта, строки длиной 200-1000 символов, т.е. в одном файле миллиона 2 строк.
У меня таких файлов 10. для каждой задачи.
Для каждой задачи используется только один файл.

Строки требуются время от времени, за раз нужно выдать несколько тысяч строк, конечно это не быстро, иначе бы не спрашивал.
 

dimagradov

Новичок
Автор оригинала: *****
Каков объем индексного файла?
Что понимается под индексным файлом? я вроде бы написал файл в котором находятся строки 2 гигобайта. Таких файлов 10 штук. Я не могу сделать один файл из 20 гигобайт, т.к. в php ограничение на открытие файла больше 2 гигобайта
 

Alexandre

PHPПенсионер
сорри за оффтоп
sed - тоже текстовый редак
phprus и ты на sed сможешь написать грамотно регулярки, которые переработают данные в кучу инсертов по разным таблицам, вычислить состав вхождения индексного файла и пр...
не забывай что структура не однородная, границы неоднородности плавают...

времени на создание преобразования для седа потребуется в раз в пять больше, чем простая программа с fseek/fread + strtok ->insert
не думаю что они справятся с файлом в пару гигов.
EmEditor вполне откроет
к теме о седе...
открыть-то откроет, а что будет делать-то с этой информацией????
 

dimagradov

Новичок
ссори туплю
от 18 до 28 мегобайт
максимальное количество строк 2689942

-~{}~ 06.08.09 14:39:

Кстати, ведь любая база данных это те же самые файлы, только просто оптимизированные, я вот и хотел как-то оптимизировать файл, чтобы из него было проще извлекать нужную строку
 

Фанат

oncle terrible
Команда форума
Вот винт у тебя насилует не основной файл, а индексный.
Клади в БД.
 

dimagradov

Новичок
Автор оригинала: *****
Вот винт у тебя насилует не основной файл, а индексный.
Клади в БД.
Нет, индексный я в массив запихиваю и все

Автор оригинала: mustafa
с ОДНИМ полем...
жесть.
А сколько же полей в таблице-то должно быть? одна строка, ну можно еще второй элемент это номер строки
 

Фанат

oncle terrible
Команда форума
Кстати, да. поля надо два.

dimagradov, ты сам-то как свои строки идентифицируешь?

-~{}~ 06.08.09 14:52:

dimagradov
Еще раз. Винт у тебя насилует индексный файл.
Клади свою многогигабайтную инфу в БД.
 

dimagradov

Новичок
Автор оригинала: *****
Кстати, да. поля надо два.

dimagradov, ты сам-то как свои строки идентифицируешь?
По порядковому номеру от начала файла) больше никак) мне этого хватает
Я представляю как разрастется база данных, сижу и думаю какое поле использовать text или mediumtext
 

Фанат

oncle terrible
Команда форума
не понял. какая связь между разрастанием базы данных и типом поля?
 

dimagradov

Новичок
dimagradov
Еще раз. Винт у тебя насилует индексный файл.
а как он может насиловать индексный файл, если он его быстро весь обходит и запихивает в оперативку, а винт потом еще минут 30 трещит?
 

Фанат

oncle terrible
Команда форума
Но самого главного я не понял. Как программа выборки определяет, какая строка ей нужна в данный момент? Чем для
 

dimagradov

Новичок
А разве место на винте не забивается от разного типа поля? хотя тут я может уже чушь порю
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху