Принципы организаци базы СпайЛога

Фанат

oncle terrible
Команда форума
Причём, как легко отличить ламера от человека, действительно заблуждающегося.
Второй прочтёт, что написано, устыдится, пойдёт учить матчасть.
А вот первый начнёт плакаться: "ах, тут все такими умными себя считают"
Да, считают.
мне разработка спайлога не по зубам. Но я хотя бы представляю себе этот факт.
А ты настолько низко стоишь, что для тебя без разницы - гостевая книга на хомяке, или датайентр, обрабатывающий десятки тысяч запросов в секунду.

Я не удивлюсь, кстати, что следующим твоим вопросом будет "посоветуйте хостинг".
 

Pin

Новичок
А кто за язык тянет? Нет так нет.

Alexandre
Понятно.. более-менее сформированное мнение...

Посоветуйте хостинг ;)
[напиши еще эпос про песочницу...]

А если есрьезно, кто-нибудь пытался сделать подобное? Кроме автора ответа №3...
 

Alexandre

PHPПенсионер
Pin
еслибы я проектировал аналог спайлога масштаба РуНет, то мои требования по железу как минимум:
три сервака, желательно двухпроцессорные
- сервер входных запросов (запросы от счетчиков)
- сервер статистики ( страницы статистики)
- сервер БД ( в качестве БД рекомендовал бы Оракл).

на серваке входных запросов, написал бы расширение для апача, которое обрабатывало входные запросы и клало их в соответсвующие таблицы. Можно использовать Fast CGI или ява. Пхп сильно уступает в скорости запроса (ИМХО) , хотя я бенчмарки не проводил и утверждать не буду (прошу к фразе не придираться).

Можно написать мини-систему, т.е. все на одном серваке, БД Мускул, тогда большая вероятность того, что система будет затыкаться на кол-ве юзеров более 10 000 - хотя это мое мнение, исследований я не проводил.

Не повторяй ошибок HotLoga, который потерял часть клиентов.. когда стал затыкаться, из-за того что набрал море клиентов, во время предоставления бесплатной статистике.
Да и статистика Нот и Спай логов - сильно отличается...


Может ребятам из спайлога - мои рассуждения покажутся и смешными...
если есрьезно, кто-нибудь пытался сделать подобное
у меня есть зкнакомый, который внедрил аналог спайлога в Американском рунете. возможно он возмется :) я ему покажу этот топик, пиши в личку прибизительный бюджет

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

естественно хостинг за 5уе для такого проета явно не подойдет
 

AnToXa

prodigy-одаренный ребенок
так, позвольте маленький ликбез для собственных понтов :)

Alexandre
1. учитывайте количество модленных клиентов, апач тут вообще умрет, prefork точно, threaded apache2 на линуксе - тоже, на фри - аналогично, просто потому что шедулить 2-3 тысячи процессов в системе - это не игрушки, а их буддет гораздо больше.

2. пхп не уступает в скорости (слово обработки вами пропущено) запроса другим скриптовым языкам, если нормально писать и юзать ZPS.

3. на каждый хит писать в реальном времени в базу - вообще самоубийство.

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

5. надежность: фронтенд упал, что делать? система должна работать, следовательно как минимум - балансировщик нагрузки, лучше два.

т.е. как минимум
балансировка -> фронтенды(nginx/thttpd/etc.) -> демоны обсчета статистики, возможно предобработка и преаггрегация -> базы -> обсчет статистики, путей хождения по сайту и проч(очень тяжелые расчеты) -> аггрегация, хранение и архивация статистики <-> генерация отчетов и проч.
плюс: картиночные сервера, вебы для просто показа сайта самого спайлога, админка, резервирование.

что я там еще забыл?
 

Alexandre

PHPПенсионер
AnToXa
т.е. от нагрузки апач упадет - что писать собственный демон??

балансировщик нагрузок (я еще слышал термин - распылитель ) - я тоже имел ввиду, но предъявил малые требования... один сервер на запросы, конечно лучше два или четыре.

писать весь лог запросов в БД - это действительно самоубийство...часть расчетов должны быть на уровне БД (хранимых процедур) - формирование сводных таблиц.
возможно структура основной табл. должна быть:
страница ! час (время) ! колво запросов

нужны еще промежуточные табл - которые формируют пути хождения и время задержке на странице....

короче тут море еще чего продумывать надо.
 

Demiurg

Guest
Alexandre
неужели ты думаешь, что апач - единственный веб-сервер ?
 

Фанат

oncle terrible
Команда форума
часть расчетов должны быть на уровне БД (хранимых процедур)
это, видимо, снижает нагрузку на БД =)
писать весь лог запросов в БД - это действительно самоубийство...часть расчетов должны быть на уровне БД
а данные для этой части расчётов будут браться, видимо, из воздуха. поскольку лог в неё не пишется =)
а что порекомендуешь в этом случае?
почитать антохин пост =)
 

440hz

php.ru
Автор оригинала: Alexandre
балансировщик нагрузок (я еще слышал термин - распылитель ) - я тоже имел ввиду, но предъявил малые требования... один сервер на запросы, конечно лучше два или четыре.
балансировщики есть у Cisco хорошие. и нечего тут обычные тачки ставить. юзать под балансировку веб-сервера - рсточительство, когда ндо просто пакеты перенаправить
 

AnToXa

prodigy-одаренный ребенок
балансировщики есть у Cisco хорошие. и нечего тут обычные тачки ставить. юзать под балансировку веб-сервера - рсточительство, когда ндо просто пакеты перенаправить
где тут кто говорил про веб-сервер под балансировщик нагрузки?! веб-сервер - это вообще программа, которая _обрабатывает_ запросы клиентов.

только вот балансировщик, циска та же, как раз раскидывает нагрузку на вебы.

ты опять не в теме, иди лучше жди ответа от support mysql team по поводу group by.
 

Alexandre

PHPПенсионер
AnToXa
так какой ВЭБ-сервер лучше использовать в данном случае,
или все же лучше использовать распылитель нагрузки
на три-четыре сервака
 

AnToXa

prodigy-одаренный ребенок
так какой ВЭБ-сервер лучше использовать в данном случае,
или все же лучше использовать распылитель нагрузки
на три-четыре сервака
1. в самом первом посте были написаны предложения по вебсерверу, читаем не наискосок.

2. ты понял что спросил-то? какие задачи у load-balancer и web-server понимаешь?
 

Alexandre

PHPПенсионер
ты понял что спросил-то? какие задачи у load-balancer и web-server понимаешь?
AnToXa все понимаю... (не правильно сформулировал вопрос)
разобьем вопрос на две части... и ответь пожайлуста на первую
если делать систему мастштаба рунета, то так какой web-server предпочтительней использовать для "сервера входящих запросов"
 
Сверху