itman

Рейтинг
64
Регистрация
26.05.2001

а что такие недешевые девелоперы. Это в России такие обитают? :-)

kostich:
Да... истину глаголите... эти девелоперы, по 3.5k$ + бонус, они же сумашедшие порой бывают. Железом надо грамотно обставлять... все же дешевле, если на годовой бюджет пересчитать. Хотя всё от задачи зависит, т.к. админы по 3.5k$ + бонус, тоже... 😂 Как зарядят, что без CSS тут никак, а балансер на коленке это невозможно...

PS. Все упирается в деньги.

На самом деле все зависит от того, как разложить данные в MySQL. Вон недавно была статейка от Google BigTable, где рассказывается в частности про то, что поисковый индекс (по-крайней мере его часть) лежит в индексном файле. Ну MySQL будет менее производительным, но при умелом сочетании хранения в MySQL и plaintext разница будет небольшая. Ну раза в два-три в худшем случае. Для небольших поисковых сервисов, дешевле, железок накупить, чем устранять эту разницу. Вот если бы разница была в в более чем 10-20 раз, как в случае с прямым раскладыванием индекса в реляционные таблицы, тогда имеет смысл и покумекать.

Если мы поиск обсуждаем, то выплевывать приходится промили от того, что приходится лопатить для получения результата. Речь все-таки изначально шла о поиске?

kostich:
Ну военные тайны это такие вот конкуретные преимущества... если все будут делать хостинг на Plesk и Virtuozzo, то это будет не рынок а спам какой-то. И т.д. и т.п. если все будут знать как устроен Google, то будут клоны.

320MB это производительность SCSI интерфейса, контроллера и т.д... т.е. SCSI-160 160mb/s, SCSI 320 320Mb/s, потом там оптика уже вроде идёт... сейчас уже до нескольких гигабайт в секунду где-то есть.. надо знания как-то освежить, а то как-то сейчас под другие задачи себя направляю.

По производительности сервера надо уже как-то более практически думать.. если речь идёт про online сервис, то проще от клиентских мегабит считать.. если надо выплевывать 1гб/с в инет, то стораджа на SCSI 320 вполне достаточно, а там уже в харды упирается.

А что вы все военные тайны поминует всуе? :-)

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

Интересная тема. Ну про 60-80 мегов в рейде это понятно. А вот 320 - это интересно. Это на интеле??? Или все-таки, на сане?

Если брать классический ИФ, то там действительно для эффективной работы, нужно чтобы все кешировалось. Примерно по гигабайту ОЗУ на один миллион средних веб-документов. Или даже больше, если индекс не очень хорошо сжат. Но, вообще, говоря вдруг есть что-нибудь более эффективное чем классический индекс? Это вроде как факт пока недоказанный.

alexf2000:
Конечно можно: http://en.wikipedia.org/wiki/Google

Какую именно? :)
Вы кстати так и не привели никаких расчётов в поддержку вашего высказывания (чуши, если угодно) про 80 миллионов документов на 1 обычном сервере.

Причём тут это? Я и про NegaScout слышал и что? :) Речь шла о полном опросе индекса, без всяких скидок и оптимизаций.
snoopckuu:
alexf2000,
Можно ссылку на первоисточник?

Кто вам такую чушь сказал?
И ещё вопрос вы что нибудь о поиске с прунингом слышали?

Кстати, Гугл, использует прунинг (эшелонирование). Страшный сон вебмастеров: страницы попали во второй эшелон (supplemental results)

Да что же тут невозможного-то???? Даже если это будет HTTP?

Каждый запрос идет с таймаутом. Кто не успел, тот опоздал. В результате, выборка иногда может зависить от того, кк сложились звезды. Так оно, обычно, и бывает.

alexf2000:
Квадратный корень из этого даёт 50 - столько запросов должен сделать каждый сервер, чтобы за 2 шага опросить все сервера - задача если и реальная, то на грани возможного, если запросы делаются по http... Так что ясности пока не прибавилось. :)

Мы спорим, потому что Вы высказались в духе, что обычный сервер по 80 млн документам не может выполнять запросы. Вам объяснили, почему он это может делать.

По поводу архитектуры. Тут ИМХО два измерения.

1) Протокол опроса: corba, soap, собственный

2) Топология опроса. Варианты: линейная, когда один фронтенд сервер опраошивает все машины с индексами. Подоходит для средних сетей. Когда линейная не проходит, то нужно вводит машины второго или даже третьего эшелона, которые будут собирать промежуточные результаты. Типа, есть тысяча серверов поиска, 10 фронтенд машин и 100 промежуточных серваков, каждый из которых опрашивает 10 машин. Тогда фронтенд опрашивает десять промежуточных машин. В частности, наверное, логично, чтобы все такие машины были в одной подсети (физически в одном хабе). Тогда и задержки тоже будут минимальные.

alexf2000:
Я не понимаю, о чём мы тут спорим? Средний размер веб документа на диске = 25к. Про это я с самого начала написал, и потом это подтвердили цитатами яндексоидов и вебальтистов.
А вопрос совсем про другое был - как происходит опрос множества независимых серверов, хранящих части целого индекса.

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

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

monstring:
В принципе snoopckuu все абсолютно правильно сказал.
Единственное что стоит дополнительно заметить, что работа всегда идет не с оригинальными документами, а с результатами их анализа (индексами) и индексами этих индексов. Индекс по определенному параметру, величина ничтожная по сравнению с размером документа. Оригиналы обычно если и сохраняются, то архивируются достаточно эфективными методами чтоб существенно снизить размер.
Каждый сервер обычно хранит собственные данные (наиболее критичные целиком загоняются в память) и методы работы с этими данными. Т.е. грубо говоря быстродействие заключается в том, что за момент пока один сервер обрабатывает индекс по кейворду, второй обработает индекс по тематике, третий по ссылкам, и т.д.
Всего: 444