Другие языки программирования и технологии
Новый быстрый поиск Вконтакте. Как это сделано?
"Мы завершили работу над новым поиском по людям. Теперь можно в сотые доли секунды искать людей из 33 млн пользователей по десяткам критериев одновременно, обновляя результаты поиска в режиме реального времени", сообщил руководитель "В Контакте"Павел Дуров в своем блоге.Вот что меня удивило: "Теперь можно в сотые доли секунды искать людей из 33 млн пользователей".Это каким образом сделано?Какие же алгоритмы используются?
Ничего принципиально нового. Просто сделали оптимизацию кода. А 33 млн итераций - это очень мало. Если сравниваются строки - то конечно. Но никто не мешает вместо длинных строк сравнивать контрольную сумму. Так что сотая доля секунды - вполне обычный показатель.
Вся информация Вконтакте хранится в базе данных MySQL поэтому поиск по имени, фамилии и т. д. происходит именно по базе это гораздо быстрее нежели в текстовом файл, далее автоматически генерируются динамические страницы и информация выдаётся вам на экран.
Помоему вы переоцениваете возможности баз данных. Выборка из 33 млн. записей, хранящихся на винте - очень трудноподъёмная операция.
это очень сложная конструкция. если Вы программы пишете, то должны знать. кста, если не знаете Павел Дуров--это псевдоним. на самом деле, контакт делался не одним человеком, а группой людей. каждый из них работал над какой-нибудь одной функцией. Тем более, все они специалисты! Не факт, что Павла Дурова не существует, но один человек контакт не сделает, поверьте. Хотя контакт и делался по шаблону. но что касается поиска, то там легко всё разобрать. не понятно только, что Вам не понять в этом поиске-то)
Вся информация Вконтакте хранится в базе данных MySQL поэтому поиск по имени, фамилии и т. д. происходит именно по базе это гораздо быстрее нежели в текстовом файл, далее автоматически генерируются динамические страницы и информация выдаётся вам на экран. Ничего принципиально нового. Просто сделали оптимизацию кода. А 33 млн итераций - это очень мало. Если сравниваются строки - то конечно. Но никто не мешает вместо длинных строк сравнивать контрольную сумму. Так что сотая доля секунды - вполне обычный показательэто очень сложная конструкция. если Вы программы пишете, то должны знать. кста, если не знаете Павел Дуров--это псевдоним. на самом деле, контакт делался не одним человеком, а группой людей. каждый из них работал над какой-нибудь одной функцией. Тем более, все они специалисты! Не факт, что Павла Дурова не существует, но один человек контакт не сделает, поверьте. Хотя контакт и делался по шаблону. но что касается поиска, то там легко всё разобрать. не понятно только, что Вам не понять в этом поиске-то)
ну вообще мне и самому интересно. .
ещё интересно как происходит определение ну синтаксический анализ который определяет где имя, фамилия, отчество, а то что поиск ещё является и динамической структурой т. е. обновляется в реальном времени то это вообще не совсем ясно как сделано так быстро. . возможно конечно использованы к примеру специальные структуры ну дерево которое изменяется добавлять туда быстро можно. . но всё равно хотелось бы услышать людей реально приложивших к этом руку нормальный ответ. .
33 000 000 пользователей. . это не так мало. . поэтому если делать последовательно то это долго если в дереве то это за Log происходит поиск поэтому в принципе теоретически это возможно, но просто хотелось бы узнать у самих разработчиков как они его реализовывали
по поводу первого поста))))))))))) полный бред о Павле Дурове)))
ещё интересно как происходит определение ну синтаксический анализ который определяет где имя, фамилия, отчество, а то что поиск ещё является и динамической структурой т. е. обновляется в реальном времени то это вообще не совсем ясно как сделано так быстро. . возможно конечно использованы к примеру специальные структуры ну дерево которое изменяется добавлять туда быстро можно. . но всё равно хотелось бы услышать людей реально приложивших к этом руку нормальный ответ. .
33 000 000 пользователей. . это не так мало. . поэтому если делать последовательно то это долго если в дереве то это за Log происходит поиск поэтому в принципе теоретически это возможно, но просто хотелось бы узнать у самих разработчиков как они его реализовывали
по поводу первого поста))))))))))) полный бред о Павле Дурове)))
Похожие вопросы
- Создала ВКонтакте сообщество про кошек, как сделать его популярным?
- как сделать поиск по сайту?
- хочу сделать свой новый персональный сайт, старый более менее раскручен. Вопрос, если я перетащу счётчики прежнего на н
- Есть сайт. Нужно сделать новый и залить на тот же адрес ?
- проблема вконтакте!
- Хочу сделать сайт. По поводу Ucoz меня раскритиковали. Подскажите, что мне по изучать, чтобы сделать сайт с поиском?
- Лоханулся Вконтакте !!!
- Говорят что готовые алгоритмы сортировок и поиска мало эффективны и не пригодны в использовании
- кто может спрограммировать поиск как в висте?
- Что мне надо сделать чтоб открылась ссылка вконтакте, выдает мне ошибку и требует смс?