AutoBlogger

AutoBlogger
Рейтинг
128
Регистрация
05.10.2011
siv1987:
Primary key + ключ на эти четыре поля (если я правильно понял) и все это должно летать.

Так и делал, ибо других вариантов нет. Не взлетело. Повторюсь, железо 10-летней давности, да и на тот момент оно топовым не было. Около сотни тысяч "просмотров" в день. Выдача на каждый просмотр - несколько сотен тысяч айтемов (оформлялись либо в виде HTML таблицы, либо в виде RSS фида).

Dinozavr:
AutoBlogger, я вас правильно понял, что вы загружаете файл, читаете его полностью, делаете выборку?

Если файл не в memory cache, то читаю полностью.

Dinozavr:
и это быстрее чем MySQL?

Не то что быстрее. Оно просто работает. А мускуль на том железе просто умирал при более-менее высоком количестве "просмотров".

P.S. Это не вопрос веры. Это факт из реальной жизни.

Винт работает только если нет кэширования в памяти. То же самое касается и работы мускуля.

Файл содержит полный список айтемов и грузится по уникальному ID (совпадает с его именем). По содержимому уже делается выборка и вывод результатов (четыре поля на запись). Очень похоже на то, что хочет реализовать ТС, только у него еще проще, ибо не нужно парсить записи внутри текстового файла.

Да какая там структура. Самая простая линейная таблица - по четыре поля на запись. Соответственно, была простая выборка из таблицы по этим самым четырем полям (прямой как дверь sql селект с WHERE field1 = 'param1' OR field2 = 'param2' и т.д.) Вот и оформил это дело в виде пятисот текстовых файлов: по файлу на таблицу, каждый файл - несколько сотен тысяч строк (айтемов). Ибо нужна была высокая производительность. И все зашуршало, ибо мускуль - реальный тормоз. Только не пытайтесь меня переубедить в этом )

Я повторяюсь, что этот метод хорошо работает именно на простых структурах данных. Например, на тех, что описал ТС (один конфиг на одного юзера с уникальным именем). Можно и с куками, но это уже привязка к браузеру.

Mad_Man:
Дорогой балабол, открой для себя оперативу и индексы. А ещё вот это, прежде чем снова открывать отверстие, произнося слово "файл".

Обалдеть, ты знаешь о кэшировании в памяти! Да на меня прям озарение снизошло. Ты по жизни такой клоун или прикидываешься? Я там выше конкретный пример привел, кстати.

anton000:
Какой смысл, тогда? если у вас браузер зависает? пользователь не придёт в восторг от такого сайта.

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

Мускуль неизбежен если нужна работа с серьезными базами, состоящими из многочисленных связанных таблиц. Если же нужно обработать одну единственную, прямой как дверь строковой список (или конфиг, уникальный для каждого юзера), то по простоте работы и оптимизации нагрузки, никакой равноценной замены обычным файлам тупо не существует.

Dinozavr:
AutoBlogger, ключевое слово "всегда".
ну и расскажите, где вы это применяли, посещаемость сайта и насколько это помогло

Есть сайт на котором генерится динамическая выдача списков (по несколько сот тысяч айтемов на страницу). Посещаемость 10k уников в день (просмотров почти на порядок больше). При использовании мускуля, сайт ложился на раз. После перехода на текстовые файлы, проблема исчезла "сама собой". Все работает без перебоев уже почти 10 лет на допотопном сервере. История из реальной жизни, так сказать.

З.Ы. При открытии такого списка у меня браузер может легко завистнуть, а самому сайту, на котором шуршит скрипт все пофигу.

Dinozavr:
AutoBlogger, товарисчь, вы бы не говорили так категорично о вещах, в которых судя по всему слабо разбираетесь, ладно?

А если подробнее? :)))

---------- Добавлено 09.07.2013 в 17:23 ----------

ivan-lev:
o_O Мемкэш? Кэш в БД? Неее.. не слышал.
p.s. не буду оригинальным.. ссылка из гугла.

Да ради бога. Можно хоть в облаке кэш хранить. Извращенцев всегда хватало :)

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

Куда еще проще-то?

З.Ы. А файлы всегда помогут нагрузку сократить. Не зря системы кэширования сайтов тоже сохраняют страницы в виде файлов, а не в виде записей в мускуле.

rerighter:
Минусы обычного INT, когда Вам в базе нужно хранить булевое значение в том, что INT выжирает больше памяти.

IMT памяти занимает больше, зато работает (читается/пишется) быстрее. На уровне машинного кода.

Всего: 440