Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Программная инженерия > Компьютерное железо
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.07.2016, 11:14   #1
ak167
Пользователь
 
Аватар для ak167
 
Регистрация: 24.01.2010
Сообщений: 92
По умолчанию Организация дома сервера для своей поисковой системы

Всем привет!
Вчера загорелся желанием создать свой поисковик. К счастью, кое-какие наработки в этой области уже имеются. Однако, рынок уже переполнен и в нём главенствуют Гугл с Яндексом. Но не всё потеряно! Я долго думал, как создать отличный поисковый алгоритм и, наконец, придумал. Тут пригодятся мои наработки в области искусственного интеллекта. Фишка будет заключаться в том, что в алгоритм будет встроен самообучающийся скрипт, который способен сам себя менять и учиться. С каждой тысячей запросов он будет думать всё лучше и лучше, и качество выдачи будет расти. Он будет видеть, что нужно пользователю и в следующий раз выдавать именно то, что нужно. Так рано или поздно он по качеству выдачи обгонит гугл. Но для этого нужно совершить миллионы абсолютно разных запросов. Где их взять? Это проблема номер 1.

Когда-то я работал в компании «Уралсиб». Это крупная федеральная корпорация, которая включает в себя банк, лизинг, страхование и т.п. Я был по части страхования, а именно проводил осмотр битых авто, считал сумму убытка, фотографировал и т.п. Клиентов было мало, поэтому у меня было много свободного времени на работе, и я периодически читал анкеты клиентов. Было интересно, что за люди и где они работают. Если человек был нужной мне профессии, то я с ним знакомился поближе. Так я за время своей работы успел надружить юристов, инструкторов по парашютному спорту, каратистов (а что? Вдруг кого-нибудь поколотить нужно будет), полицейских, программистов, администраторов сайта «Вконтакте», фотомоделей и т.п. Но вот однажды к нам приехал один человек в очках и на дорогом авто. Я, конечно, ради интереса глянул его анкету, а там место работы «ЯНДЕКС» ОАО или ЗАО (уж точно не помню). Я решил с ним подружиться и когда пошёл осматривать с ним его машину после ДТП, то действовал по отработанной схеме, а именно пожал ему руку, представился и начал общаться как с приятелем. Ему это понравилось и он ответил мне тем же. Так завязался разговор и наше с ним знакомство. Когда у него случилось ещё одно ДТП и он во второй раз приехал к нам, то, увидев меня, он уже говорил со мной как со старым приятелем: «Ооо, Лёха! Привет Как делишки? Как на личном? Что нового?». Так мы постепенно сдружились.
И вот однажды я решил, как бы невзначай, спросить у него как устроен Яндекс. Конечно, весь алгоритм он бы мне не сказал, так как это корпоративная тайна, но хотя бы парочку фишек о том, как он так хорошо ищет, я надеялся узнать. Тем более уже тогда у меня было хобби веб-программирование и меня эта тема очень интересовала. Тогда я зашёл из далека. Сначала спросил несколько других вопросов а именно «Сложно ли вообще программирование?» (прикинулся дурачком), «Как этому научиться?» и только потом задал вопрос: «А как Яндекс так хорошо ищет?». Тогда-то он мне и раскрыл пару фишек алгоритма Яндекса! Оказывается, он устроен гораздо сложнее, чем я тогда думал. Теперь эти знания мне очень пригодятся в построении своего поисковика.
На первых парах мой поисковик будет искать как древний Яндекс началах нулевых годов. Ведь я уверен, что знание одних только этих фишек де даст 100%-ую гарантию, что он будет искать, как Яндекс наших дней, но это всёравно значительно улучшит поиск. Какие именно фишки он мне раскрыл, я по понятным причинам не скажу.

Теперь ещё одна проблема – это железо и некоторый софт!
По моим подсчётам весь индекс рунета будет занимать от 5 до 25 Терабайт. Максимальный объём жёстких дисков, имеющихся в продаже в данный момент – это 10 Тб. Если его не хватит, то придётся исключить из поиска часть страниц с уровнем вложенности более 5. Так я отсею старую и неактуальную информацию новостных порталов, блогов и им подобных сайтов. Но что если и этого не хватит? Придёться ставить 2 жёстких диска. Как тогда распределить базу сайтов на них? С одним то проблем не было, а вот с двумя… Может лучше сделать 2 базы? Например, одна для сайтов с доменными зонами .ru и .su, а другая для .com. Так кстати и искать будет быстрее и это даст меньшие нагрузки на сервер. Хотя, если использовать одну базу данных но с вложениями, то думаю, что скорость будет одинаковая. Или я не прав?
Кроме того, встаёт ещё один вопрос: Какой нужен процессор, чтобы он обрабатывал такой объём информации? Предположим, на первых парах у моего поисковика будет 1000 посетителей в сутки, каждый задаёт по 2-3 запроса, это уже получается 3000 запросов в день. Справиться, например, Core i3? Скорости жёсткого диска равной 7200 оборотов в минуту хватит ли? Конечно, в базе будет включено индексирование, но хватит ли этого?
Ещё одной проблемой является размещение железа. Дело в том, что я живу с родителями, так как при моей зарплате в 40.000 снимать квартиру за 20.000 слишком накладно, ведь мне бы пришлось отдавать половину зп за жилье. А мой отец старый маразматик, который помешан на безопасности. Если видит, что что-то постоянно включено, когда меня нет, то начинает ругаться и тут же вырубает это из розетки. Так у нас дома постоянно выключен Wi-Fi-роутер, пока я не приду домой, стационарный телефон и т.п. Хорошо, что хоть холодильник не выключает. А теперь представьте, как я буду дома держать постоянно включённый сервер с поисковиком? Он будет шуметь, в нём светятся светодиоды! Стоит лишь отцу заглянуть в мою комнату, когда меня нет, и сервер будет обречён! Варианты решения этой проблемы, конечно, есть. Можно поставить бесшумный блок питания с пассивным охлаждением (такие есть, правда всего на 400 Вт), видеокарту использовать встроенную либо поставить простенькую Ge-Force 210 с одним только радиатором, все светодиоды заклеить изолентой и так далее. Но вот можно ли поставить пассивное охлаждение на процессор? У меня Core i7, 6 ядер! У него тепловой пакет 140! Тут одним радиатором не отделаешься, мне кажется. Есть правда ещё и второй комп, там старенький Core 2 DUO, такой можно и без кулера охлаждать. Но тут опять же встаёт вопрос о мощности. Потянет ли он хотя бы 3000 запросов в день?
Конечно, можно было бы просто арендовать сервер у какого-нибудь хостинг-провайдера, но это значит дать им доступ к моему поисковому движку. Представьте, что было бы, если б Яндекс хранил свой скрипт поиска не у себя, а на сторонних серверах. Какой-нибудь Вася Пупкин просто взял бы и скопировал его, а потом продал бы. Такое уже случалось, например, с сайтом Одноклассники. Их скрипт можно без проблем найти в интернете.
Как быть в такой ситуации?

Последний раз редактировалось ak167; 28.07.2016 в 12:45.
ak167 вне форума Ответить с цитированием
Старый 28.07.2016, 11:21   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Мега-орхиваторы уже не в моде?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 28.07.2016, 11:53   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,708
По умолчанию

Цитата:
По моим подсчётам весь индекс рунета будет занимать от 5 до 25 Терабайт.
Для начала сделайте индекс на 1000 страниц, чтобы можно было по разным словам находить, с ранжированием и прочим. Потом вернемся к цифре.

Цитата:
Максимальный объём жёстких дисков, имеющихся в продаже в данный момент – это 10 Тб.
Как бы самсунг уже на 16 тб дает и ссд, вы же не хотите тормозов?

Цитата:
Если его не хватит, то придётся исключить из поиска часть страниц с уровнем вложенности более 5.
Да можно вообще только титульники индексить.

Вы про мощности для паука не забыли, продвинутый вы наш? А канал от провайдера у вас какой? 1 Гб/с я надеюсь? А ай-пи белый или нат?

+ еще много вопросов, но смешно даже их упоминать, учитывая последние абзацы.
p51x вне форума Ответить с цитированием
Старый 28.07.2016, 12:07   #4
ak167
Пользователь
 
Аватар для ak167
 
Регистрация: 24.01.2010
Сообщений: 92
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Да можно вообще только титульники индексить.
p51x, не, ну это вообще ерунда тогда получиться.

Цитата:
Сообщение от p51x Посмотреть сообщение
Вы про мощности для паука не забыли, продвинутый вы наш?
p51x, не забыл, для него у меня уже есть комп, который я буду запускать раз в неделю для индексации сайтов на диск.

Цитата:
Сообщение от p51x Посмотреть сообщение
А канал от провайдера у вас какой? 1 Гб/с я надеюсь? А ай-пи белый или нат?
p51x, 365 мегабит.

Цитата:
Сообщение от p51x Посмотреть сообщение
+ еще много вопросов, но смешно даже их упоминать, учитывая последние абзацы.
p51x, не спорю, пробелы в построении серверов есть и большие. До этого пользовался всегда обычным хостингом и проблем не знал, но сейчас встал сложный вопрос, поэтому и написал в форуме с надеждой, что помогут советом.
ak167 вне форума Ответить с цитированием
Старый 28.07.2016, 12:10   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,708
По умолчанию

Догнать яндекс и гугл с пауком, запускаемым раз в неделю... )) Вы сделали мой день. Про GFS, MapReduce, highload и другие страшные слова я даже заикаться не буду.
p51x вне форума Ответить с цитированием
Старый 28.07.2016, 12:13   #6
ak167
Пользователь
 
Аватар для ak167
 
Регистрация: 24.01.2010
Сообщений: 92
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Догнать яндекс и гугл с пауком, запускаемым раз в неделю... )) Вы сделали мой день. Про GFS, MapReduce, highload и другие страшные слова я даже заикаться не буду.
p51x, при скорости 365 мегабит в сек это получается 9,8 терабайт данных в сутки при том, что база рунета весит 5-25 Тб! Конечно, там еще время отклика и прочее, но за неделю он точно справиться. Что вас смущает?
ak167 вне форума Ответить с цитированием
Старый 28.07.2016, 12:17   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

То, что яндекс уже давно проиндексировал эту тему
https://yandex.ru/search/?text="%20О...вой%20системы"
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 28.07.2016, 12:20   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,708
По умолчанию

1. у вас калькулятор сломался, там 64. Только это максимум на вашем тарифе, помимо зугрузки данные надо обработать и прочее...
2. откуда цифры о 5-25 Тб? на глазок?
3. инет это статическая книга, зайдите на сайты новостей и посмотрите время добавления
и т.д.
p51x вне форума Ответить с цитированием
Старый 28.07.2016, 12:21   #9
ak167
Пользователь
 
Аватар для ak167
 
Регистрация: 24.01.2010
Сообщений: 92
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
То, что яндекс уже давно проиндексировал эту тему
https://yandex.ru/search/?text="%20О...вой%20системы"
Alex11223, вот поэтому я делаю всё не втихаря у себя дома, а задаю вопросы в форуме, чтобы люди подсказали как можно это улучшить и где мои ошибки (где я не прав). За то, что подсказали по индексу спасибо. Буду думать, как сделать так же быстро. Но боюсь на первых парах не выйдет, буду индексировать раз в неделу или хотя бы пару раз в неделю.
ak167 вне форума Ответить с цитированием
Старый 28.07.2016, 12:24   #10
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,708
По умолчанию

Тогда на вашем проекте можно ставить крест. Паук должен висеть круглосуточно в несколько потоков + иметь разное время для обновления разных страниц + уметь понимать, что новостные сайты надо чаще перепроверять и т.д.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# Разработка информационно-поисковой системы (windows forms) natali75675 Фриланс 7 11.04.2016 22:01
Написать движок поисковой системы SilverLord Фриланс 0 14.05.2012 18:12
Организация многопоточности сервера игры для соц. сети Willer55 Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 07.12.2011 10:02
Создание поисковой системы L_Anya Помощь студентам 1 28.10.2011 23:18
Создание поисковой системы для программистов tarpedo Свободное общение 21 16.07.2009 16:22