- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Расскажите кто знает, как работает поисковая система, которая "сидит" по нескольким (многим) отдельным компьютерам? Допустим средний размер документа на диске - 25к, тогда на 1 нормальный сервер с 200ГБ винтом влезет примерное 4 миллиона документов - 100ГБ под сами копии документов и примерно столько же под индекс. То есть чтобы сделать базу на миллиард документов нужно 250 таких серверов. Но что делать при запросах? Это выходит при каждом запросе весь парк серверов должен опрашиваться? Как оно работает в реальности? :)
При выборке, на сколько я знаю, сначала идёт обращение к индексу, который поменьше самих данных ;)
Или, к примеру можно распределить по первой букве по серверам :)
слова на "А" на одном сервере, на "Б" - на другом... и так далее :)
не знаю как это устроено на самом деле... Но в принципе, наверное, можно организовать какое-нибудь отображение всего этого множества серверов на единое информационное пространство.
http://www.googleguide.com/google_works.html
Вообще, где-то читал статью (кто-то из гугловцев писал), где довольно подробно расписано, что происходит при выполнении запроса. Не могу сейчас быстро найти.
наверное, можно организовать какое-нибудь отображение всего этого множества серверов на единое информационное пространство.
Конечно можно, послав на каждый сервер HTTP-запрос.:D При этом "единым пространством" будет страничка с выдачей. Я именно об этом и спрашиваю.
слишком жестоко... думаю, нужно что-то более низкоуровневое
При выборке, на сколько я знаю, сначала идёт обращение к индексу, который поменьше самих данных ;)
Или, к примеру можно распределить по первой букве по серверам :)
слова на "А" на одном сервере, на "Б" - на другом... и так далее :)
Не может быть индекс сколько-нибудь существенно меньше данных. Скорее всего в общем случае он будет больше.
При разносе индекса по буквам ты подумал как индексатор работать будет? :) Получится, что чтобы разложить 1 страничку в индексы - надо дёрнуть сотню серверов. Думаю врядли так кто-то делает.
Я думаю, что серверы от такой участи спасает кэширование или иерархическая структура.. :)
Структура этого дела такова:
Существует некий маршрутизатор (ногами не бить, так просто будет понятнее), который занимается тем, что запросы на один адрес раскидывает не много серверов. Эти сервера в свою очередь обрабатывают поступивший к ним запрос, и переадресуют его серверу (серверам) на котором есть кеш этого запроса, либо в их компетенции наиболее быстро сформировать на него ответ и занести в кеш.
И отдается результат.
Насамом деле схема сложнее, я просто описал примитивно.
то есть существуют рулежные сервера существуют обрабатывающие (программно) существуют хранилища данных и хранилища индексов, причем распределенные
Внесу ясность, деление на буквы - глупости такого нету.
250 сероверов для миллиарда глупости, лично я засовывал на 1 сервер 83млн документов. Сохранённые копии ужимаются до ~37-45%.
Поиск идёт по нескольким системам векторным и т.д.
запросы на http-сервера конечно не идут, как правило в большой поисковой системе используется своя фалойвая система для сохранения копий одна для индекса - другая, впринципе это можно сравнить как в винде NTFS, FAT32... http-сервер тоже не используется Apache, а свой сервер который работает напрямую с кластером и файловой системой.
Более подробно можно узнать об этом начав ставить nutch в кластер по системе haddop. выглядит это примерно так:
Такой кластер использует поисковая система Google.
Если есть ещё какие то вопросы - задавайте, просто писал в попыхах.
Довольно удивительно, как на 1 сервер можно впихнуть 80 миллионов документов... У него размер диска какой? И какой средний размер документа? Если со всеми архивациями он сильно меньше 10-20к, то это явно какой-то другой интернет индексируется. :)