← →Иа
(2009-07-05 20:28)
[40]
> Тут и напрягаться не от чего собственно, т.к. 200 запросов
> на добавление базе в секунду это не нагрузка. Нет, я конечно
> не спорю, что в подавляющем большинстве случаев это вполне
> подходит, но в то же время скорость записи в текстовый файл
> десятки Мбайт/сек при ничтожной загрузке процессора.
У вас логи - десятки мегабайт в секунду? Мы говорим о конкретных системах которые вы пишете или вы теоретизируете? Нет, конечно, бывают и такие нагрузки но мы же не о предельных случаях - и если в каком то конкретном варианте база не работает то это не значит в большинстве своем так не надо делать. Или вы пытаетесь доказать что идеального решения не бывает? так никто и не спорит.
И повторю совет - не пытайтесь заоптимизировать приложение (систему) заранее. То есть думать головой и откровенных глупостей не делать надо но и считать проценты cpu заранее то же не стоит. Это удорожает и удлинняет работу а толку скорее всего не будет - ибо bottle neck (узкое место) окажется так где не ждали.


← →DVM ©
(2009-07-05 20:49)
[41]
> Иа
> У вас логи - десятки мегабайт в секунду? Мы говорим о конкретных
> системах которые вы пишете или вы теоретизируете?
Нет, я примеряю лог в виде базы данных к одной работающей системе (что-то вроде биллинговой системы), в которой каждая запись в логе - это информация о пакете данных между двумя узлами. Информация с маршрутизатора забирается раз в несколько секунд и кладется в текстовый файл. Информации не так уж много (Гигабайт в день в текстовом виде), но очень много записей. Пробовали класть в базу на лету - программа не успевала в результате терялись записи.
В резултате все кладется в текстовый файл, в конце суток файл забирается на другую машину и там не спеша перекладывается в базу данных, попутно данные приводятся к более оптимальному виду.
Это конечно частная ситуация, но именно она теперь заставляет меня задуматься иногда, а стоит ли лог класть сразу в базу.

