Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Чтение/редактирование огромного файла на php, оптимизация и минимизация затрат ресурса 
:(
    Опции темы
Ипатьев
Дата 1.3.2010, 15:45 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Не, ну "упорядоченные-то и отсортированные" строки и на пхп любой дурак сделает.
Но проблема в том, кто эти строки упорядочивать будет...
PM MAIL   Вверх
gcc
Дата 1.3.2010, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: -1
Всего: 17



IZ@TOP, автор может легко переписать на php

я не нашел вариант на php, по этому написал такой вариант который я видел

вариант на php, я видел даже на этом форуме, но найти не смог...

просто мне сейчас такой алгоритм не нужен, если автору нужен, то он может же переписать из существующих скриптов?

Добавлено @ 18:15
Ипатьев, это скорее всего учебное задание. ну memcache придумали как раз чтобы минимизировать запросы к СУБД, чтобы она не жрала память, а чтобы можно было быстро найти по ключам закешированные данные и отдать их...

Это сообщение отредактировал(а) gcc - 1.3.2010, 18:38
PM WWW ICQ Skype GTalk Jabber   Вверх
Zmiuko
  Дата 3.3.2010, 17:07 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: 2
Всего: 2



Цитата(IgorIV @  27.2.2010,  20:05 Найти цитируемый пост)
А это случайно не видеофайл?  


C видеофайлом намного проще, там можно использовать фреймы.

Цитата(IZ@TOP @  1.3.2010,  11:55 Найти цитируемый пост)
gcc, это было круто, однако у человека задача сделать сие на PHP, а поскольку задача скорее всего учебная, то другой язык не подойдет. 


Цитата(Ипатьев @  1.3.2010,  15:45 Найти цитируемый пост)
Не, ну "упорядоченные-то и отсортированные" строки и на пхп любой дурак сделает.
Но проблема в том, кто эти строки упорядочивать будет... 


Проблема не сколько в упорядоченных и отсортированных строках. Проблема в их количестве. 

Цитата(gcc @  1.3.2010,  18:12 Найти цитируемый пост)
IZ@TOP, автор может легко переписать на php


Благодарю. С чтением огромный файлов разобрался.

Но никак не могу разобраться с алгоритмом редактирования-изменения-удаления конкретной строки... 
Чтение файла можно изобразить как и в мускул - посредством простого деления и кеширования данных.
Но вот редактирование. Можно добавить в конец или начало - тут также понятно все, а вот чтобы распарсить файл весом в 2 гб, найти искомое, заменить и обратно сохранить - проще ответить что на php сие не возможно. Но подобный ответ заранее неприемлем.

Добавлено через 8 минут и 47 секунд
Посмотрел различные решения, но нигде, кроме как на иностранных источниках подробно не затронута данная проблема. Хотя заметим php-интерпретатору не первый год. Легче переложить все на плечи драйверу СУБД, нежели разобраться в реализации.

Что характерно, все пишут про проблему чтения файла весом в 2-300гб, но нигде не могут полноценно ответить на вопрос о его изменении.

Кроме того ответ: не надо подобные задание не давать - не решать... а что насчет PEAR или каких-либо классов, что насчет постоянного поиска подобных скриптов - gif-анимация на php, округление углов png-альфа канал, различные хитрости и прочее? Почти каждый имел дело с поиском какого-либо решения. И я полагаю каждый php-программист получал в ответ: на php это нереализуемо! Что на самом деле опровергалось простым анализом и использованием стандартных методик, правда, года через два.

PM MAIL WWW ICQ Skype Jabber   Вверх
Ипатьев
Дата 3.3.2010, 17:19 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



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

Цитата(Zmiuko @  3.3.2010,  17:07 Найти цитируемый пост)
Проблема не сколько в упорядоченных и отсортированных строках. Проблема в их количестве. 

Цацку-то снимите, про крутого программиста, не позорьтесь.
PM MAIL   Вверх
Zmiuko
  Дата 3.3.2010, 17:24 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: 2
Всего: 2



Как бы то не было: позицию огромного файла можно сравнить с позицией тяжелой и массивной sql базы данных. Думаю, при постоянном обновлении и огромном количестве информации работа с тем и другим приобретает характер некой сравнительной одинаковости - то есть что так, что там - позиция что "а не надо подобное в подобном хранить да в таком количестве и все будет - окей" уже используется не столько в адрес использования файла, сколько уже и в адрес СУБД в целом.

На данный момент это у меня учебное задание: реализовать на php сохранение-изменение-удаление строк/строки  в обычный файл, количество строк в файле должно быть более 100 тысяч при редактировании (использовать стандартные функции)..

Пока противопоставить нечего.

Добавлено через 3 минуты и 53 секунды
Цитата(Ипатьев @  3.3.2010,  17:19 Найти цитируемый пост)
Цацку-то снимите, про крутого программиста, не позорьтесь. 


Простите, не понял. К чему сказанное? Ежели оскорбление - смысла не вижу. Если про подпись - обновите страницу. В любом случае, я бы про "по3орность" не заикался. На всем форуме мало кто решит данную проблему! И вообще, любезный, а вы мои проекты видели? 

Ну не могу я самостоятельно решить как мне файл большой отредактировать. Ну и что? Это для php программиста позор? Это смертельно? ))

Извиняюсь, что ушел от темы.

Добавлено через 7 минут и 35 секунд
Цитата(Ипатьев @  3.3.2010,  17:19 Найти цитируемый пост)
что значит невозможно?
возможно на любом языке программирования. 
это стандартная операция, которая производится на любом компьютере миллионы раз в день


Пардон, так я как раз за этим. Как мне на php отредактировать-изменить или удалить конкретную строку в файле где их мильон? 

Вопрос не про то: подскажите мне функции file() , fopen(), explode(). 

Вы меня не совсем поняли.

Вопрос как использовать эти функции по отношению к обычному файлу где строки, а к огромному файлу, где их аж на 2 гб, да еще так чтобы php и апач выдержали бы, да еще чтобы ХОТЯ Б за 20 секунд. Вот о чем вопрос-то.
PM MAIL WWW ICQ Skype Jabber   Вверх
Ипатьев
Дата 3.3.2010, 17:40 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Для программиста, у которого висит во все пузо бляха "я - крутой", позор - писать вот эти слова:
Цитата(Zmiuko @  3.3.2010,  17:07 Найти цитируемый пост)
Проблема не сколько в упорядоченных и отсортированных строках. Проблема в их количестве. 

а проекты мне смотреть неинтересно.
Цитата(Zmiuko @  3.3.2010,  17:07 Найти цитируемый пост)
Что характерно, все пишут про проблему чтения файла весом в 2-300гб, но нигде не могут полноценно ответить на вопрос о его изменении.

ну разумеется. потому что никто, будучи в здравом уме и твердой памяти, не будет этим заниматься вручную, если все за него сделает база данных. поэтому никто и не пишет. не "не могут", а "никому это нафиг не нужно". 
Цитата(Zmiuko @  3.3.2010,  17:07 Найти цитируемый пост)
Кроме того ответ: не надо подобные задание не давать - не решать... а что насчет PEAR или каких-либо классов, что насчет постоянного поиска подобных скриптов - gif-анимация на php, округление углов png-альфа канал, различные хитрости и прочее? Почти каждый имел дело с поиском какого-либо решения. 

ой, только не надо вот этого кликушества.
не надо путать сложные задачи с дурацкими.

Цитата(Zmiuko @  3.3.2010,  17:24 Найти цитируемый пост)
На данный момент это у меня учебное задание: реализовать на php сохранение-изменение-удаление строк/строки  в обычный файл, 

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

Добавлено @ 17:50
Ну вот опять. 
Налицо все признаки синдрома, который называется нехорошим словом:
- нигде не могут полноценно ответить
- вы меня не совсем поняли
- а вы мои проекты видели? 

Виноваты все вокруг. Писатели в интернете, собеседники на форуме. Кругом одни посредственности. Которым не дано оценить величие духа истинного гения и грандиозность стоящих перед ним задач.

Давайте, что ли, посмотрим ваши проекты, ели вам там хочется.
положите на какой-нибудь из них в корень файлик vingrad.htm со словом "Позор неверующим".




Это сообщение отредактировал(а) Ипатьев - 3.3.2010, 17:51
PM MAIL   Вверх
Zmiuko
  Дата 3.3.2010, 17:53 (ссылка)   | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: 2
Всего: 2



Уважаемый Ипатьев, мне бы не хотелось участвовать в Вашем офтопе и набивании постов. Но отчего же эта идея дурацкая? Вы очевидно слишком умны, так уж дабы не опускаться до непримирения, то давайте оставим Вашу любовь к правильности ведения архитектуры баз данных. Не стоит кричать! Базы данных, СУБД, очень хорошо, никто их тут не противится, никто их тем более не отрицает. Вопрос конкретный и не про СУБД. Почему тыкаете носом в сторону них, мне не понятно. Топик не касался SQL ни коим образом. У Вас предвзятое отношение?

Простите за флуд, но у человека какие-то иллюзии и неприязнь. Это не правильно и для меня не приятно.
 smile

Добавлено через 4 минуты и 17 секунд
Цитата(Ипатьев @  3.3.2010,  17:40 Найти цитируемый пост)
Давайте, что ли, посмотрим ваши проекты, ели вам там хочется.
положите на какой-нибудь из них в корень файлик vingrad.htm со словом "Позор неверующим".


Уважаемый, Вам делать нечего?  smile

Добавлено через 8 минут и 36 секунд
Цитата(Ипатьев @  3.3.2010,  17:40 Найти цитируемый пост)
Виноваты все вокруг. Писатели в интернете, собеседники на форуме. Кругом одни посредственности. Которым не дано оценить величие духа истинного гения и грандиозность стоящих перед ним задач.


Вам бы сходить на кухню, чай заварить горячий с малиной и лимоном - успокаивает. И не флудить всего что мимо темы. Чем-то Вас обидел, уж извините, не хотел. А оскорблять не стоит. 

Что касаеться Вашей претензии - то пересмотрите не архитектуру СУБД, а архитектуру этого форума... Форум->Тема->Вопрос->Ответы, и более не путайте топики, и тем более на хамите, если у Вас просто плохое настроение.

Прошу прощение у модераторов за офтоп - человек не в духе.

PM MAIL WWW ICQ Skype Jabber   Вверх
Ипатьев
Дата 3.3.2010, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



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

Цитата(Zmiuko @  3.3.2010,  17:53 Найти цитируемый пост)
опик не касался SQL ни коим образом.

А кто говорил слово SQL?

послушайте, скажите мне название организации, в которой дают такие учебные занания тем, кто не понимает разницы между словами "SQL" и "база данных". Мы пойдем туда вместе и взорвем к чертовой бабушке это никчемное заведение.
PM MAIL   Вверх
Zmiuko
  Дата 3.3.2010, 18:04 (ссылка)  | (голосов:5) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: 2
Всего: 2



Цитата(Ипатьев @  3.3.2010,  17:40 Найти цитируемый пост)
Которым не дано оценить величие духа истинного гения и грандиозность стоящих перед ним задач.

 smile

Добавлено через 3 минуты и 13 секунд
Ипатьев, Вы попросите администрацию данного форума, может для Вас сделают исключение и поставят чат?.. Что-Почему-Зачем? не слишком ли много? "Гений", "Я- Крутой"? Это Вы вообще о чем? Уже нельзя зайти на форум и спросить у людей помощи в алгоритме?

Хочу сказать, Вы слишком чем-то озабочены, не могу только понять чем же.
PM MAIL WWW ICQ Skype Jabber   Вверх
Ипатьев
Дата 3.3.2010, 18:12 (ссылка) |   (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Я озабочен только одним.
Осмысленностью вопроса, в котором у меня просят помощи. 
мне кажется, что для человека, просящего других об услуге, не должно являться такой трудностью честно и подробно рассказать о решаемой задаче и событиях, которые привели к именно такой постановке. 
Не бывает задач в вакууме. Даже учебных. 
плюс к тому, я не имею привычки, как многие другие посетители этого форума, выдумывать за автора правдоподобные объяяснения. А предпочитаю, чтобы автор хотя бы смог их придумать без подсказки.

А когда начинаются басни, то я озабочен тем, чтобы указать автору на их несостоятельность.
Все очень просто и логично.
PM MAIL   Вверх
Zmiuko
Дата 3.3.2010, 18:13 (ссылка)  | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: 2
Всего: 2



Цитата(Ипатьев @  3.3.2010,  18:04 Найти цитируемый пост)
послушайте, скажите мне название организации, в которой дают такие учебные занания тем, кто не понимает разницы между словами "SQL" и "база данных". Мы пойдем туда вместе и взорвем к чертовой бабушке это никчемное заведение. 


Вы молодец. Редко кто оживлен своей принципиальностью и способен на какой-либо, пускай бессмысленный спор. Оставайтесь идейным - в наше время очень мало таких людей.  smile 
PM MAIL WWW ICQ Skype Jabber   Вверх
Zmiuko
Дата 3.3.2010, 19:46 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: 2
Всего: 2



Цитата(Ипатьев @  3.3.2010,  18:12 Найти цитируемый пост)
Я озабочен только одним.
Осмысленностью вопроса, в котором у меня просят помощи. 
мне кажется, что для человека, просящего других об услуге, не должно являться такой трудностью честно и подробно рассказать о решаемой задаче и событиях, которые привели к именно такой постановке. 
Не бывает задач в вакууме. Даже учебных. 
плюс к тому, я не имею привычки, как многие другие посетители этого форума, выдумывать за автора правдоподобные объяяснения. А предпочитаю, чтобы автор хотя бы смог их придумать без подсказки.

А когда начинаются басни, то я озабочен тем, чтобы указать автору на их несостоятельность.
Все очень просто и логично. 


Басни? Я не скрываю, что это у меня учебное задание. Даже вопрос возникает: коим образом может повлиять на решение задачи предпосылки ее возникновения; пускай даже если я с потолка взял вопрос и пытаюсь на него найти решение. Вы никогда не занимались самопознанием? ))) прескорбно. Можно подумать, что все ответы на вопросы, описанные реализации у программистов, а тем боле у php-программистов воплощаются в жизнь.

К тому же, исходя из старых постов и топов, не касающихся данной темы форума ЛИЧНО У ВАС помощи не просил, боле того: хотел бы, что бы Вы оставляли мои топики в покое. Хамски? Да хамски: не более чем Вы пытаетесь навязать свое мнение. Проследите свои вопросы-ответы по форуму и надеюсь найдете первопричину данной проблематики. Слишком много умных слов и воды, причем в основном попытка навязательства "А вам это ненужно, поскольку не нужно мне".
Да, рейтинг и репутация играют не последнюю роль и не только на данном форуме. Думаете нет людей умнее Вас? Я шесть лет занимаюсь только одним php. Мне не надо писать "вы дурак, поскольку себе то и то напридумывали": я далеко в программировании "не мальчик", более того НЕЭТИЧНО так поступать - тем боле что мы с Вами не знакомые люди. Вы все себе позволяете?

Насчет басней: да! Я хочу написать Вконтакте на текстах! Более того взять во внимание предложенный алгоритм и продовать его тыщ за писят.   Вы довольны?

Я уже получил 1 предупреждение на этом форуме, когда хотел указать на правила поведения при ведении постов, указать человеку, что не нужно хамить. Очень грустно, что это не берется во внимание и закрываются глаза на уважение и этику друг к другу.
PM MAIL WWW ICQ Skype Jabber   Вверх
Ипатьев
Дата 3.3.2010, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37




Модератор: Сообщение скрыто.

PM MAIL   Вверх
smartov
Дата 3.3.2010, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259




 ! 
smartov
Ипатьев, прошу не флеймить не по делу.


Добавлено через 1 минуту и 46 секунд
Zmiuko, на stackoverflow подсказывают что если уж вы зажаты в рамки поставленной задачи, то можно воспользоваться вызовом стандартных UNIX утилит типа sed.
PM MAIL   Вверх
Ипатьев
Дата 3.3.2010, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



smartov, я не согласен с тем, что это "флейм" и "не по делу".
Я подробно описал в скрытом сообщении - почему.

У любой задачи может быть множество решений. Выбрать нужное можно только основываясь на анализе исходных данных.
Решать же такие заведомо бессмысленные задачи "в лоб" - вот это, как раз, и будет "не по делу".

Тут же дыры лезут изо всех щелей - какое предложение ни возьми.
что, например, должна означать фраза
Цитата(Zmiuko @  3.3.2010,  17:24 Найти цитируемый пост)
чтобы php и апач выдержали бы, да еще чтобы ХОТЯ Б за 20 секунд.

?
что должны выдержать апач и пхп? При нужных параметрах процесс будет висеть до завершения перезаписи. Но какой в этом смысл?

И так с каждым объяснением автора. 
Вместо того. чтобы перебирать их по одному, я сразу указываю на корень проблемы - негодно сформулированнюу задачу.

Добавлено @ 20:44
Приведенное вами решение не удовлетворяет поставленным условиям - делать обязательно на РНР и размер файла по приведенной ссылке гораздо скромнее - в 1000 раз.

Это сообщение отредактировал(а) Ипатьев - 3.3.2010, 20:50
PM MAIL   Вверх
Закрытая темаСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1016 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.