Реклама

Показаны сообщения с ярлыком социальные сети. Показать все сообщения
Показаны сообщения с ярлыком социальные сети. Показать все сообщения

декабря 07, 2016

Как Big Data и пара ученых обеспечили победу Трампу и Brexit


В субботу швейцарский журнал Das Magazin опубликовал расследование о том, как технологии персонализированной рекламы в сети Facebook повлияли на итоги выборов в США и референдума о выходе Великобритании из ЕС.
Как отмечает немецкий Spiegel, многие журналисты уже стали называть расследование «текстом года», пишет The Insider.
В нем есть все: и новейшие технологии; и универсальное оружие, которое попало из хороших рук в плохие; и ежедневная слежка за каждым из нас; и таинственные заказчики; и превращение из нищего в принца (и наоборот). The Insider публикует полный перевод текста с немецкого языка.
В половине девятого утра 9 ноября Михал Козинский проснулся в цюрихском отеле Sunnehus. 34-летний ученый приехал для того, чтобы выступить в Федеральной высшей технической школе (ETH) с докладом на конференции об опасности Big Data и так называемой «цифровой революции». С подобными лекциями Козинский разъезжает по всему миру: ведь он является ведущим экспертом в психометрии — разделе психологии, основанном на анализе данных. Включив тем утром телевизор он понял: бомба разорвалась. Дональд Трамп избран президентом США, несмотря на все прогнозы социологов.
Козинский долго смотрит новости о триумфе Трампа, о результатах голосования по разным штатам. Он подозревает, что произошедшее как-то связано с его научными разработками. Козинский вздыхает и выключает телевизор.
В тот же день доселе малоизвестная лондонская фирма рассылает пресс-релиз следующего содержания: «Мы поражены тем, что наш революционный подход к основанным на данных коммуникациям внес такой существенный вклад в победу Дональда Трампа». Пресс-релиз подписан неким Александром Джеймсом Эшбернером Никсом. Ему 41 год, он британец и возглавляет компанию Cambridge Analytica. Никс всегда носит костюм, модные роговые очки, а свои светлые волнистые волосы обычно зачесывает назад.
Задумчивый Козинский, прилизанный Никс и широко улыбающийся Трамп — первый сделал цифровую революцию возможной, второй осуществил ее, последний стал благодаря ей победителем.
Насколько опасна Big Data?
Сейчас каждый, кто не жил на Луне последние пять лет, знаком с термином Big Data. Этот термин значит и то, что все, что мы делаем — в интернете или «офлайн» — оставляет цифровой след. Покупка по кредитке, запрос в Google, прогулка со смартфоном в кармане, каждый лайк в соцсети: все это сохраняется. Долгое время никто не мог понять, для чего хорошего могли бы пригодиться эти данные — ну лишь кроме тех случаев, когда в ленте Facebook всплывает реклама средств от гипертонии, потому что недавно мы искали в Google «как понизить давление». Непонятно было и то, чем же является Big Data для человечества — большой опасностью или большим достижением? Но с 9 ноября мы знаем на это ответ. Ведь и за предвыборной кампанией Трампа в интернете, и за кампанией в поддержку Brexit стоит одна и та же компания, исследующая Big Data: Cambridge Analytica и ее директор Александр Никс. Кто хочет понять природу этих голосований (и природу того, что ожидает Европу в ближайшие месяцы), должен начать с примечательного события, произошедшего в 2014 году в британском Кембриджском университете. А именно, на кафедре психометрии Козинского.
Психометрия, которую иногда зовут психографией, представляет собой попытку измерить человеческую личность. В современной психологии стандартом является так называемый «метод океана» (по буквам OCEAN, анаграмму пяти измерений на английском языке). В 1980-е годы два психолога доказали, что каждая черта характера может быть измерена при помощи пяти измерений. Это так называемая «большая пятерка»: открытость (насколько вы готовы к новому?), добросовестность (насколько вы перфекционист?), экстраверсия (как вы относитесь к социуму?), доброжелательность (насколько вы дружелюбны и готовы к сотрудничеству?) и нейротизм (насколько легко вас вывести из себя?) На основе этих измерений можно точно понимать, с каким человеком имеешь дело, в чем его желания и страхи, наконец, как он себя может вести. Проблема была в сборе данных: чтобы что-то понять о человеке, от него требовалось заполнить огромный опросник. Но потом появился интернет, затем Facebook, затем Козинский.
В 2008 году студент из Варшавы Михал Козинский начал новую жизнь: он поступил в престижный английский Кембридж, в Центр психометрии, лабораторию Кэвендиш, самую первую лабораторию по психометрии в мире. Со своими однокурсниками он придумал и запустил приложение для Facebook под названием MyPersonality. Пользователю предлагалось ответить на огромный список вопросов («легко ли вас вывести из себя в состоянии стресса? Есть ли у вас склонность критиковать окружающих?»), получив затем свой «профиль личности», а создатели приложения получали бесценные личные данные. Вместо ожидавшихся данных по дюжине однокурсников, создатели получили информацию по сотням, тысячам, а затем и миллионам людей. Два докторанта собрали тем самым крупнейший «урожай» данных в истории психологических исследований.
maxresdefault-14
Процесс, который Козинский сотоварищи разработал за последующие несколько лет, достаточно прост. Во-первых, тестируемый получает список вопросов, онлайн-тест. Из ответов на него ученые вычисляют личные ценности испытуемого. Далее, Козинский с командой изучают действия испытуемого: лайки и репосты в Facebook, а также его пол, возраст и место жительства. Так исследователи получают связи. Из простого анализа данных в сети могут получится необычные выводы. Например, если мужчина подписан на страничку бренда косметики MAC, он с высокой вероятностью является геем. Наоборот, сильный показатель гетеросексуальности — если человек поставил лайк хип-хоп группе Wu-Tang Clan из Нью-Йорка. Поклонник Леди Гаги с высокой долей вероятности экстраверт, а человек, ставящий «нравится» философским постам — интроверт.
Козинский и его коллеги беспрестанно совершенствовали свою модель. В 2012 году Козинский доказал, что анализа 68 лайков в Facebook достаточно, чтобы определить цвет кожи испытуемого (с 95% вероятностью), его гомосексуальность (88% вероятности) и приверженность Демократической или Республиканской партии США (85% вероятности). Но процесс идет дальше: интеллектуальное развитие, религиозные предпочтения, пристрастие к алкоголю, курению или наркотикам. Данные даже позволяли узнать, развелись ли родители испытуемого до его совершеннолетия или нет. Модель оказалась настолько хороша, что стало возможным предугадывать ответы испытуемого на определенные вопросы. Опьяненный успехом, Козинский продолжал: скоро модель смогла лучше узнавать личность после десяти изученных лайков, нежели его коллеги по работе. После 70 лайков — лучше, чем друг. После 150 лайков — лучше, чем родители. После 300 лайков — лучше, чем партнер. С еще большим количеством изученных действий можно было бы узнать о человеке лучше, чем он сам. В день, когда Козинский опубликовал статью о своей модели, он получил два звонка: жалобу и предложение работы. Оба звонка были из компании Facebook.
Только для друзей
Теперь на Facebook можно отмечать свои посты как открытые и приватные, «подзамочные»: во втором случае просматривать их могут лишь определенный круг друзей. Но для сборщиков данных и это не проблема. Если Козинский всегда запрашивал соглашения пользователей Facebook, современные тесты требуют доступа к персональным данным как обязательного условия для их прохождения.
Но речь не только об отметках «нравится» в Facebook: Козинский и команда могут оценивать людей по Большой пятерке критериев исходя из их юзерпика, фотографии в соцсетях. Или даже по числе друзей: хороший показатель экстраверсии! Но мы также сдаем личные данные, когда находимся не в сети. Датчик движения в смартфоне показывает, размахиваем ли мы рукой с ним, как далеко ездим (коррелирует с эмоциональной нестабильностью). Как замечает Козинский, смартфон — это огромный психологический опросник, который мы вольно или невольно заполняем. Что особенно важно, это работает и в обратную сторону: можно не только создавать из данных психологический портрет, вы можете искать среди этих портретов нужные. Например, обеспокоенные папаши, озлобленные интроверты, не определившиеся с выбором сторонники демократов. По сути, Козинский изобрел поисковую систему по людям.
Все явственнее Козинский понимал и потенциал, и опасность своей работы.
Всемирная сеть для него всегда казалась даром небес. Всегда хочется «вернуться», «поделиться». Это дух нового поколения, начало новой эпохи без физических границ. Но что случится, думал Козинский, если кто-то решит воспользоваться этой поисковой системой по людям, чтобы ими манипулировать? Он начинает ставить предупреждения на всех своих научных публикациях. Предупреждения о том, что его методы «могут нести угрозу благополучию, свободе или даже жизни людей». Но никто, кажется, не понимал, к чему он ведет.
Примерно в это время, в начале 2014 года, к Козинскому обратился молодой ассистент профессора по имени Александр Коган. У него был запрос от некой фирмы, заинтересованной в методе Козинского. Предложение состояло в том, чтобы проанализировать путем психометрии 10 млн американских пользователей Facebook. С какой целью, собеседник не сказал из соображений конфиденциальности. Козинский сначала согласился, ведь речь идет о больших суммах в пользу его института, но потом начал медлить с согласием. В итоге, он выжал из Когана название фирмы: SCL, Strategic Communications Laboratories («Лаборатории стратегических коммуникаций»). Козинский погуглил название компании. «Мы являемся глобальной компанией по управлению предвыборными кампаниями», — гласил сайт фирмы, предлагая маркетинг на основе психологии и логики. Фокус на влиянии на исход выборов. Козинский недоуменно щелкал по страничкам сайта, раздумывая, чем же может заниматься эта фирма в США.
phoca_thumb_l_dsc_1880
На фото – Александр Коган
Чего Козинский на тот момент еще не знал: за SCL стоит сложная корпоративная система, завязанная на «налоговых гаванях»: позднее это было показано в «Панамских документах» и разоблачениях Wikileaks. Часть этой системы ответственна за кризисы в развивающихся странах, другая помогала НАТО разрабатывать методы психологической манипуляции гражданами Афганистана. Одна из дочерних компаний SCL — та самая Cambridge Analytica, зловещая маленькая компания, организовавшая интернет-кампании в поддержку Brexit и Трампа.
Козинский ничего об этом не знает, но подозревает неладное. Проводив изучение, он узнал, что Александр Коган создал тайную компанию, которая ведет дела с SCL. Из документа, который есть в распоряжении Das Magazin, следует, что SCL получила данные о методе Козинского именно из рук Когана. Внезапно Козинского осенило, что Коган мог скопировать или выстроить заново его систему, чтобы затем продать ее политтехнологам из SCL. Ученый незамедлительно разрывает связь с Коганом и информирует о ситуации своего институтского начальника. Внутри института зреет конфликт, учреждение опасается за свою репутацию. Коган переехал в Сингапур, женился и начал именовать себя доктором Спектром. Козинский переехал в Штаты, начав работать в Стэнфорде.
Больше года все идет спокойно, но в ноябре 2015 года лидер радикальных сторонников Brexit Найджел Фарадж объявил, что его сайт подключает к работе со своей интернет-кампанией некую компанию, специализирующуюся на Big Data, а именно, Cambridge Analytica. Ключевая компетенция фирмы: политический маркетинг нового типа — так называемый «микротаргетинг» — основанный на «методе океана».
Козинский начинает получать множество писем — учитывая слова «Кембридж», «океан» и «аналитика», многие думают, что он как-то с этим связан. Однако только тогда он сам узнает о существовании такой компании. С ужасом он просматривает сайт фирмы. Кошмар стал былью: его методология используется в большой политической игре.
В июле 2016 году, уже после референдума по Brexit, на его голову начинают обрушиваться проклятия. Дескать, посмотрите, что вы сделали! Каждый раз Козинскому приходится оправдываться и доказывать, что к той фирме он не имеет никакого отношения.
Вначале Brexit, затем Трамп
Прошло десять месяцев. На календаре 19 сентября 2016 года, избирательная кампания в США в самом разгаре. Зал нью-йоркского отеля Grand Hyatt, выполненный в темно-синих тонах, наполняют гитарные риффы: играет песня Bad Moon Rising группы Creedence Clearwater Revival. Проходит ежегодный саммит Concordia, мировой экономический форум в миниатюре. Приглашены сильные мира сего, даже действующий президент Швейцарии Йоханн Шнайдер-Амманн. «Прошу приветствовать Александра Никса, директора Cambridge Analytica», — раздается приятный женский голос. На сцену поднимается долговязый мужчина в темном костюме. В зале царит тишина. Многие уже знают, что перед ними новый digital-специалист Трампа. «Скоро вы будете называть меня Мистер Brexit», — таинственно написал Трамп в своем Twitter несколькими неделями ранее. Действительно, политологи уже писали тогда о сходстве программ у Трампа и у сторонников выхода Великобритании из ЕС. И лишь немногие знали о связи Трампа с малоизвестной Cambridge Analytica.
20161024_wp_cambridgeanalytica_01441477450998
Директор Cambridge Analytica Александр Никс
До тех пор digital-кампания Трампа состояла более-менее из одного человека: Брэда Парскейла. Маркетинговый энтузиаст и основатель одного провалившегося стартапа, он создал для Трампа простенький веб-сайт за $1500. 70-летнего Трампа едва ли можно назвать человеком цифровой эпохи: на его рабочем столе даже компьютера нет. Как однажды поведала его персональная ассистентка, нет даже такого явления, как электронное письмо от Трампа. Сама ассистентка приучила его к смартфону — с которого он с тех пор льет потоки мыслей в Twitter.
Хиллари Клинтон, напротив, опиралась на наследие Барака Обамы как первого «президента соцсетей». У нее были адресные листы Демократической партии, миллионы подписчиков, поддержка Google и Dreamworks. Когда в июне 2016 года Трамп нанял Cambridge Analytica, многие в Вашингтоне скорчили мину. Иностранные чуваки в костюмах, которые ничего в этой стране не понимают? Серьезно?
«Это честь для меня, уважаемые дамы и господа, рассказывать вам сейчас о силе Big Data и психометрии в избирательной кампании», — говорил на саммите Никс. За его спиной в тот момент появился слайд с логотипом его фирмы: изображение мозга, составленное из сетей, подобно карте. «Еще пару месяцев назад Тед Круз был одним из наименее одобряемых кандидатов, — говорил блондин с английским акцентом, да таким, что присутствовавшие американцы ощущали себя подобно швейцарцам, которые слышат литературный немецкий. — Всего 40% электората знали его имя». Все присутствовавшие помнили историю стремительного взлета сенатора-консерватора Круза, едва ли не самое необъяснимое событие предвыборной гонки. Последний из серьезных оппонентов Трампа внутри Республиканской партии буквально выскочил из ниоткуда. «Ну и как же так произошло?» — вопрошал Никс. В конце 2014 года Ccambridge Analytica вошла в предвыборную кампанию в США именно как советник Теда Круза, которого финансировал миллиардер Роберт Мерсер. До тех пор, утверждал Никс, предвыборные кампании велись по демографическим критериям: «Глупейшая идея, если всерьез об этом подумать: все женщины получают одинаковый месседж, потому что они одного пола, все афроамериканцы получают другой посыл, исходя из их расы». Таким дилетантским способом (и тут даже Никсу можно ничего не добавлять) вела кампанию команда Клинтон: разделить общество на формально гомогенные группы, подсказанные социологами. Теми самыми, что до самого конца отдавали ей победу.
detail_6370911b7ba15b1f83923482f108d5c0
Cambridge Analytica утверждает, что Тед Круз обязан ей своим успехом
И тут Никс щелкает на другой слайд: пять лиц, каждое соответствует определенному профилю личности, Большая пятерка измерений. «Мы в Cambridge Analytica разработали модель, которая позволит высчитать личность каждого совершеннолетнего гражданина США», — продолжает Никс. В зале полная тишина. Маркетинговый успех Cambridge Analytica основан на трех китах. Это психологический поведенческий анализ, основанный на «модели океана», изучение Big Data и таргетированная реклама. Последнее означает персонализированную рекламу, а также такую рекламу, которая максимально близко подстраивается под характер отдельного потребителя.
Никс искренне объясняет, как его компания этим занимается (лекция доступна на YouTube). Его фирма закупает персональные данные из всех возможных источников: кадастровые списки, бонусные программы, телефонные справочники, клубные карты, газетные подписки, медицинские данные. В США возможно купить почти любые персональные данные. Если вы хотите узнать, допустим, где живут женщины-еврейки, можно спокойно купить базу данных. Затем Cambridge Analytica скрещивает эти данные со списками зарегистрированных сторонников Республиканской партии и данными по лайкам-репостам в Facebook — вот и получается личный профиль по «методу океана». Из цифровых данных вдруг возникают люди со страхами, стремлениями и интересами — и с адресами проживания.
Процедура идентична разработанной Козинским модели. Cambridge Analytica также использует IQ-тесты и прочие небольшие приложения, чтобы получать осмысленные лайки от пользователей Facebook. И компания Никса делает то, от чего предостерегал Козинский: «У нас есть психограммы всех совершеннолетних американцев, это 220 млн человек. Наш контрольный центр выглядит так, прошу внимания», — говорит Никс, щелкая слайды. Появляется карта Айовы, где Тед Круз собрал неожиданно большое число голосов на праймериз. На карте видны сотни тысяч маленьких точек: красные и синие, по партийным цветам. Никс выстраивает критерии. Республиканцы — и синие точки исчезают. Еще не определились с выбором — точек становится меньше. Мужчины — еще меньше, и так далее. В итоге, появляется имя одного человека: с возрастом, адресом, интересами, политическими предпочтениями. Но как Cambridge Analytica обрабатывает отдельных людей своим месседжем?
В другой презентации Никс рассказал, как на примере закона о свободном распространении оружия: «Для боязливых людей с высоким уровнем нейротизма мы представляем оружие как источник безопасности. Вот, на левой картинке изображена рука взломщика, который разбивает окно. А на правой картинке мы видим мужчину с сыном, которые идут по полю с винтовками навстречу закату. Очевидно, утиная охота. Эта картинка для богатых консерваторов-экстравертов».
Как удержать электорат Клинтон от голосования
Противоречивая натура Трампа, его беспринципность и исходящая из этого целая прорва различных сообщений внезапно сыграла ему на руку: для каждого отдельного избирателя свой месседж. «Трамп действует как идеальный оппортунистский алгоритм, который опирается лишь на реакцию публики», — отмечала в августе математик Кэти О’Нил. В день третьих дебатов между Трампом и Клинтон команда Трампа отправила в соцсети (преимущественно, Facebook) свыше 175 тыс. различных вариаций посланий. Они различались лишь в мельчайших деталях, чтобы максимально точно психологически подстроиться под конкретных получателей информации: заголовки и подзаголовки, фоновые цвета, использование фото или видео в посте. Филигранность исполнения позволяет сообщениям находить отклик у мельчайших групп населения, пояснил Das Magazin сам Никс: «Таким способом мы можем дотянуться до нужных деревень, кварталов или домов, даже до конкретных людей». В квартале Маленький Гаити в Майами была запущена информация об отказе Фонда Клинтон участвовать в ликвидации последствий землетрясения в Гаити — чтобы разубедить жителей отдавать свои голоса Клинтон. Это было еще одной целью: удержать электорат Клинтон (например, сомневающихся леваков, афроамериканцев и молодых девушек) от урны для голосования, «подавлять» их выбор, по выражению одного из сотрудников Трампа. Использовались и так называемые «темные посты» Facebook: платные объявления посреди ленты новостей, которые могли попадаться только определенным группам лиц. Например, афроамериканцам показывали посты с видео, на котором Клинтон сравнивала чернокожих мужчин с хищниками.
screen-shot-2015-04-13-at-14-14-51
Хиллари Клинтон оказалась одной из жертв антирекламы Cambridge Analytica
«Мои дети не смогут больше объяснить, что значит рекламный плакат с одинаковым сообщением для всех и каждого», — завершает Никс свое выступление на саммите Concordia, благодарит за внимание и спускается со сцены.
Насколько американское общество в данную конкретную минуту обрабатывается специалистами Трампа, сказать трудно, ведь они крайне редко атакуют на центральных телеканалах, а чаще всего используют социальные сети и цифровое ТВ. И пока команда Клинтон, работавшая по лекалам социологов, пребывает в летаргии, в Сан-Антонио, где располагается «цифровой штаб» Трампа, возникает, по словам корреспондента Bloomberg Саши Иссенберга, «вторая штаб-квартира». Всего дюжина сотрудников Cambridge Analytica получила от Трампа в июле $100 тыс., в августе еще $250 тыс., в сентябре еще $5 млн. По подсчетам Никса, общая сумма оплаты услуг составила $15 млн.
Но и проводимые мероприятия тоже радикальны: с июля 2016 года волонтеры кампании Трампа получили приложение, которое подсказывает политические предпочтения и личностные типы жителей того или иного дома. Соответственно, волонтеры-агитаторы модифицировали свой разговор с жителями исходя из этих данных. Обратную реакцию волонтеры записывали в это же приложение — и данные отправлялись прямиком в аналитический центр Cambridge Analytica.
Фирма выделяет у американских граждан 32 психотипа, сконцентрировавшись лишь на 17 штатах. И как Козинский выяснил, что мужчины-поконники косметики MAC скорее всего являются гомосексуалами, в Cambridge Analytica доказали, что приверженцы американского автопрома однозначно являются потенциальными сторонниками Трампа. Помимо прочего, подобные открытия помогли самому Трампу понять, какие послания где лучше всего применять. Решение предвыборного штаба сконцентрироваться в последние недели на Мичигане и Висконсине было принято на основе анализа данных. Кандидат стал моделью применения системы.
Чем занимается Cambridge Analytica в Европе?
Но насколько велико было влияние психометрии на результат выборов? Cambridge Analytica не спешит предъявлять доказательства успешности своей кампании. Вполне возможно, что это вообще вопрос без ответа. Хотя вот, есть один факт: благодаря поддержке Cambridge Analytica Тед Круз превратился из ничего в серьезнейшего конкурента Трампа на праймериз. Вот рост голосов сельских жителей. Вот сокращение электоральной активности афроамериканцев. Даже тот факт, что Трамп потратил на проект так мало денег, может говорить об эффективности персонализированного продвижения. И даже то, что он пустил три четверти рекламного бюджета в цифровую сферу. Facebook превратился в совершенное оружие и лучшего помощника на выборах, как написал в Twitter один из сподвижников Трампа. К слову, в Германии антиэлитарная «Альтернатива для Германии» имеет в Facebook больше подписчиков, чем ведущие партии ХДС и СДПГ вместе взятые.
Кроме того, ни в коей мере нельзя утверждать, что социологи, статистики, проиграли выборы, потому что сильно ошиблись со своими прогнозами. Верно обратное: статистики выиграли, но лишь те, что использовали новейшие методы. Шутка истории: Трамп постоянно критиковал эту науку, но выиграл во многом благодаря ней.
Второй победитель — компания Cambridge Analytica. Издатель главного консервативного рупора Breitbart Стив Бэннон входит также в совет директоров этой фирмы. Недавно он был назначен старшим стратегом в команде Трампа. Марион Марешаль Ле Пен, активистка французского «Национального фронта» и племянница лидера партии, уже радостно сообщила о сотрудничестве с компанией, на внутреннем корпоративном видео которой изображено совещание по теме «Италия». По словам Никса, сейчас им заинтересованы клиенты со всего мира. Уже были запросы на сотрудничество из Швейцарии и Германии.
1397678721_28530_original
Мари Ле Пен хочет стать следующим клиентом Cambridge Analytica
Все это наблюдает и Козинский из своего кабинета в Стэнфорде. После выборов в США в университете все стоит вверх дном. На развитие событий Козинский отвечаем самым острым оружием из доступных исследователю: научным анализом. Вместе со своей коллегой Сандрой Матц он провел серию тестов, результаты которых скоро будут опубликованы. Некоторые из этих выводов, которыми учены поделился с Das Magazin, шокируют. Например, психологическое таргетирование, подобно тому, что использовали в Cambridge Analytica, повышают число кликов на рекламе в Facebook на 60%. Вероятность же того, что после просмотра персонализированной рекламы люди перейдут к действиям (купят ту или иную вещь или проголосуют за нужного кандидата) возрастает на 1400%.
Теперь мир перевернулся: Brexit состоялся, в Америке скоро будет правит Трамп. Все это началось с человека, который хотел предупредить нас об опасности. Сейчас он снова получает кучу жалоб на рабочую почту. «Нет, — говорит Козинский. — Тут нет моей вины. Это не я соорудил бомбу, я лишь показал, что они существуют».

августа 20, 2011

ВКонтакте: как устроена социальная сеть vkontakte.ru.

Без малого 100 миллионов пользователей — такова аудитория ВКонтакте, которую надо обслуживать. Быстро и без перебоев. Долгое время подробности технической реализации ВКонтакте оставались секретом. Но недавно самая популярная в России социальная сеть пролила немного света на то, как она все-таки устроена. В конце октября в Москве состоялась конференция HighLoad++, на которой представители ВКонтакте в лице Павла Дурова и Олега Илларионова, наконец, рассказали кое-что об архитектуре социальной сети. 

Парней буквально завалили вопросами по совершенно различным аспектам работы ВКонтакте, в том числе и техническим. Еще бы. Легко представить нагрузку на серверную часть сервиса: как много людей ты знаешь, которые не пользуются этой социальной сетью? А сколько времени ты там проводишь, тратя бесценные часы своей жизни на общение с друзьями, просмотр видео, игры, музыку? Математика довольно проста: баснословное количество пользователей * масса проведенного времени на ресурсе = запредельное количество запросов к веб-серверам и базе данных + терабайты постоянно загружаемых и просматриваемых фотографий, видео и аудио.

Взаимодействие участников социальной сети происходит практически в режиме реального времени: все друзья должны немедленно узнавать о том, что произошло с каждым из участников. Сайт должен быть доступен 100% времени. Как это удается?
              Статистика ВКонтакте

                            100 миллионов учетных записей (уже больше).
                            40 миллионов активных пользователей во всем мире (сопоставимо с аудиторией интернета в России).
                            11 миллиардов запросов в день.
                            200 миллионов личных сообщений в день.
                            Видеопоток достигает 160Гбит/с.
                            Более 10 тысяч серверов, из которых только 32 — фронтенды на nginx (количество серверов с Apache неизвестно).
                            30-40 разработчиков, 2 дизайнера, 5 системных администраторов, много людей в датацентрах.
                            Каждый день выходит из строя около 10 жестких дисков.
              Платформа

Для нас, конечно, особый интерес представляет именно архитектура проекта: как взаимодействуют основные компоненты системы, какие собственные разработки потребовались, какими трюками пришлось воспользоваться. Но прежде, чем перейти к ней, необходимо ознакомиться с базовыми вещами — используемыми технологиями и продуктами.

В качестве основной операционной системы используется Debian Linux — решение, проверенное временем, один из самых старых и стабильных современных дистрибутивов. Для балансировки нагрузки между серверами приложений используется HTTP-сервер nginx, работающий в режиме reverse proxy. В его обязанности входит держать соединение с браузером пользователя и передавать запросы серверам, ответственным за исполнение PHP-кода, а также контролировать попадание результата обратно в браузер. PHP-код исполняется посредством модуля mod_php для Apache — альтернативных вариантов довольно много, особенно на основе протокола FastCGI, но руководство ВКонтакте пошло по более консервативному пути в этом вопросе, воспользовавшись самым проверенным временем решением. Никаких особых систем оптимизации производительности PHP-кода не используется (например, в Facebook написали свой компилятор из PHP в C под названием HipHop), единственной внешней оптимизацией является кэширование оп-кода посредством всем доступного решения XCache.

Ситуация с хранением данных выглядит достаточно размыто: с одной стороны, активно используется собственная система управления базами данных, написанная на C и созданная "лучшими умами" России, с другой — часто упоминалась MySQL в роли основного хранилища. Подробнее про собственную базу данных ВКонтакте я расскажу ниже. Говоря о хранении данных, нельзя не упомянуть о таком важном аспекте, как кэширование часто используемой информации (расположение её в оперативной памяти для быстрого доступа). Для этого используется очень популярный продукт в этой области — memcached. Если ты не слышал: эта система позволяет осуществлять очень простые атомарные операции, такие как расположение и получение произвольных данных по ключу. Основной фишкой является молниеносно быстрый доступ и возможность легкого объединения оперативной памяти большого количества серверов в общий массив для временного хранения "горячих" данных.

Сторонние проекты, не являющиеся ключевыми для ВКонтакте, часто реализуются либо с использованием довольно экзотических решений, либо, наоборот, на самых простых технологиях. Например, сервис мгновенного обмена сообщениями реализован на node.js (подробнее об этой разработке можно прочитать в статье "Серверный JavaScript"   08/2010) с использованием протокола XMPP aka Jabber (мы еще к нему вернемся). Конвертирование видео реализовано на самой простой и эффективной библиотеке — ffmpeg, на ней же работает очень популярный видео-плеер VLC.


Основные используемые технологии
                            Debian Linux — основная операционная система
                            nginx — балансировка нагрузки
                            PHP + XCache
                            Apache + mod_php
                            memcached
                            MySQL
                            Собственная СУБД на C, созданная "лучшими умами" России
                            node.js — прослойка для реализации протокола XMPP, живет за HAProxy (haproxy.1wt.eu)
                            xfs — файловая система для хранения изображений и отдачи пользователю
                            ffmpeg — конвертирование видео


Архитектура

Самым заметным отличием от архитектуры многих других крупных интернет-проектов является тот факт, что сервера ВКонтакте многофункциональны. Т.е. нет четкого разделения на серверы баз данных, файловые серверы и т.д. — они одновременно используются в нескольких ролях. При этом перераспределение ролей происходит в полуавтоматическом режиме с участием системных администраторов. С одной стороны, это оптимизирует эффективность использования системных ресурсов, что хорошо, но с другой — повышает вероятность конфликтов на уровне операционной системы в рамках одного сервера, что влечет за собой проблемы стабильности. Впрочем, несмотря на использование серверов в разных ролях, вычислительные мощности проекта обычно используются менее чем на 20%.

Балансировка нагрузки между серверами происходит по многоуровневой схеме, которая включает в себя балансировку на уровне DNS (домен обслуживается с помощью 32 IP-адресов), а также маршрутизацию запросов внутри системы, причем разные сервера используются для разных типов запросов. Например, генерация страниц с новостями (теперь это принято называть микроблогом) работает по хитрой схеме, использующей возможности протокола memcached по параллельной отправке запросов на получение данных по большому количеству ключей. В случае отсутствия данных в кэше, аналогичный запрос отправляется системе хранения данных, а полученные результаты подвергаются сортировке, фильтрации и отбрасыванию лишнего уже на уровне PHP-кода. Похожим образом этот функционал работает и в Facebook (они недавно обменивались опытом), только вместо собственной СУБД в Facebook используют MySQL.

В стенах ВКонтакте было разработано большое количество софта, который более точно удовлетворяет потребностям проекта, чем доступные opensource и коммерческие решения. Помимо упоминавшейся собственной СУБД у них есть система мониторинга с уведомлением по СМС (Павел сам помогал верстать интерфейс), автоматическая система тестирования кода и анализаторы статистики и логов.

В проекте используется достаточно мощное оборудование, ориентировочно были названы следующие характеристики серверов:
8-ядерные процессоры Intel (по два на сервер, видимо);
64 Гб оперативной памяти;
8 жестких дисков;
RAID не используется (репликация и резервное копирование осуществляется на программном уровне).

Примечательно, что сервера не брендированные, а собираются специализированной российской компанией. Сейчас оборудование проекта расположено в 4 датацентрах в Санкт-Петербурге и Москве, причем вся основная база данных располагается в питерском датацентре, а в Москове хостится только аудио и видео. В планах сделать репликацию базы данных с другим датацентром в Ленинградской области, а также использовать Content Delivery Network для повышения скорости скачивания медийного контента в регионах.

Многие проекты, сталкивающиеся с большим количеством фотографий, часто изобретают собственные решения по их хранению и отдаче пользователям. Об этом был первый вопрос, заданный Павлу из зала: "Как вы храните изображения?" — "На дисках!". Так или иначе, представители ВКонтакте заявили, что вся эта куча фотографий всех цветов и размеров просто хранится и отдается с файловой системы (используют xfs) большого количества серверов, без дополнительных изысков. Смущает разве что тот факт, что у других крупных проектов такой подход не сработал — наверное, они не знали волшебного слова :).

Не менее волшебной представляется та самая собственная база данных на C. Этому продукту, пожалуй, было уделено основное внимание аудитории, но при этом почти никаких подробностей о том, что он, собственно говоря, собой представляет, так и не было обнародовано. Известно, что СУБД разработана "лучшими умами" России, победителями олимпиад и конкурсов TopCoder, а также что она используется в самых высоконагруженных сервисах ВКонтакте:
Личные сообщения
Сообщения на стенах
Статусы
Поиск
Приватность
Списки друзей

В отличие от MySQL используется нереляционная модель данных, а большинство операций осуществляется в оперативной памяти. Интерфейс доступа представляет собой расширенный протокол memcached. Специальным образом составленные ключи возвращают результаты сложных запросов (чаще всего специфичных для конкретного сервиса).

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

Интересные факты о ВКонтакте


Процесс разработки близок к методологии Agile с недельными итерациями (циклами), в рамках которых проходят все этапы разработки: планирование, анализ требований, проектирование, разработка и тестирование.
  • Ядро операционной системы модифицировано (на предмет работы с памятью), есть своя пакетная база для Debian.
  • Фотографии загружаются на два жестких диска одного сервера одновременно, после чего создается резервная копия на другом сервере.
  • Есть много доработок над memcached, в.т.ч. для более стабильного и длительного размещения объектов в памяти; есть даже версия, обеспечивающая сохранность данных.
  • Фотографии не удаляются для минимизации фрагментации.
  • Решения о развитии проекта принимают Павел Дуров и Андрей Рогозов, ответственность за сервисы — на них и на реализовавшем его разработчике.
  • Павел Дуров откладывал деньги на хостинг с 1 курса :).
Подпроекты

Сервисы аудио и видео являются побочными для социальной сети, на них создатели проекта особо не фокусируются. В основном это связано с тем, что они редко коррелируют с основной целью использования социальной сети — общением, а также создают большое количество проблем. Видеотрафик — основная статья расходов проекта, плюс всем известные проблемы с нелегальным контентом и претензиями правообладателей. 1000—1500 серверов используются для перекодирования видео, на них же оно и хранится. Медиа-файлы банятся по хэшу при удалении по просьбе правообладателей, но это неэффективно и планируется усовершенствовать этот механизм. Очевидно, речь идет о разработке более интеллектуального алгоритма распознавания аудио- и видео-контента по тегам, как это, к примеру, реализовано в YouTube, где загруженный видеоролик, нарушающий лицензию, может быть автоматически удален уже через несколько минут после загрузки.

Как известно, некоторое время назад появилась возможность общаться на ВКонтакте через протокол Jabber (он же XMPP). Протокол совершенно открытый и существует масса opensource реализаций. По ряду причин (среди которых проблемы интеграции с остальными сервисами ВКонтакте) было решено за месяц создать собственный сервер, представляющий собой прослойку между внутренними сервисами ВКонтакте и реализацией XMPP протокола. Реализован он на node.js — выбор обусловлен тем, что JavaScript знают практически все разработчики проекта, к тому же это хороший набор инструментов для реализации задачи. Сложным моментом стала работа с большими контакт-листами. У многих пользователей количество друзей ВКонтакте измеряется сотнями и тысячами, высока активность смены статусов: люди появляются и исчезают из онлайна чаще, чем в других аналогичных ситуациях. К тому же необходимо было реализовать тесную интеграцию с внутренней системой обмена личными сообщениями ВКонтакте. В результате на сервисе 60-80 тысяч человек онлайн, в пике — 150 тысяч. TCP/HTTP-балансировщик нагрузки HAProxy обрабатывает входящие соединения и используется для распределения запросов по серверам, а также развертывания новых версий.

При выборе системы хранения данных думали о нереляционных системах хранения данных (в частности, о MongoDB), но в итоге решили воспользоваться привычной MySQL. Сервис функционирует на 5-ти серверах разной конфигурации, на каждом из которых работает код на node.js (по 4 процесса на сервер), а на трех самых мощных — еще и MySQL. Интересной особенностью является отсутствие связи между группами друзей в XMPP с группами друзей на сайте — сделано по просьбе пользователей, которые не хотели, чтобы их друзья из-за плеча видели, в какой группе они находятся.

Важным подпроектом является также интеграция с внешними ресурсами, которую в условиях высоконагруженного сервиса реализовать далеко не так просто. Все чаще на страницах сторонних проектов можно увидеть виджеты "Мне нравится", позволяющими быстро поделиться интересным постом со своими друзьями, а также небольшие блоки "Мы ВКонтакте" с данными о пользователях внутри привязанной группы. Основные шаги, предпринятые в этом направлении, с небольшими комментариями:
Максимальная кроссбраузерность для виджетов и IFrame-приложений на основе библиотек easyXDM и fastXDM, обеспечивающих взаимодействие между сторонним ресурсом и программным интерфейсом ВКонтакте. Таким образом была решена проблема кроссдоменного взаимодействия и вопрос работы во всех браузерах.
Кросс-постинг статусов в Twitter, реализованный с помощью очередей запросов. 
Кнопка "поделиться с друзьями", поддерживающая openGraph-теги и автоматически подбирающая подходящую иллюстрацию (путем сравнивания содержимого тега title и атрибутов alt у изображений. 
Возможность загрузки видео через сторонние видео-хостинги (YouTube, RuTube, Vimeo, и т.д.).

Не секрет

Завеса тайны насчет технической реализации ВКонтакте была немного развеяна, опубликовано куча интересных аспектов, но все же многие моменты по-прежнему остаются секретом. Возможно, в будущем появится более детальная информация о собственной СУБД ВКонтакте, которая, как оказалось, является ключом к решению всех самых сложных моментов в масштабируемости системы. Сейчас, как бы кто ни относился к ВКонтакте, сервис является очень интересным с точки зрения построения высоконагруженных систем. Все-таки 11 миллиардов запросов в день, высочайший аптайм и почти 100 миллионов пользователей — дорогого стоят.

Далеко не все крупные проекты публично раскрывают аспекты построения архитектуры.Даже примерная информация о том, что у них происходити как они работают, часто держится в секрете. Источником информации чаще всего оказываются либо выступления представителей проектов на конференциях, либо различные интервью/публикации сотрудников. Информация для этого материала была собрана автором из этих же источников и не является официально подтвержденной со стороны ВКонтакте.
источник: Xakep Online



и атрибутов alt у изображений. <br>Возможность загрузки видео через сторонние видео-хостинги (YouTube, RuTube, Vimeo, и т.д.).</p> <p> <br></p> <span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; background-color: rgb(255, 255, 255); "><strong>Не секрет</strong><br><br>Завеса тайны насчет технической реализации ВКонтакте была немного развеяна, опубликовано куча интересных аспектов, но все же многие моменты по-прежнему остаются секретом. Возможно, в будущем появится более детальная информация о собственной СУБД ВКонтакте, которая, как оказалось, является ключом к решению всех самых сложных моментов в масштабируемости системы. Сейчас, как бы кто ни относился к ВКонтакте, сервис является очень интересным с точки зрения построения высоконагруженных систем. Все-таки 11 миллиардов запросов в день, высочайший аптайм и почти 100 миллионов пользователей — дорогого стоят.<br><br></span><p> </p> <div> <span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; background-color: rgb(255, 255, 255); "><div style="text-align: center;"> Далеко не все крупные проекты публично раскрывают аспекты построения архитектуры.</div> <div style="text-align: center;"> Даже примерная информация о том, что у них происходит </div> <div style="text-align: center;"> и как они работают, часто держится в секрете. Источником информации чаще всего </div> <div style="text-align: center;"> оказываются либо выступления представителей проектов на </div> <div style="text-align: center;"> конференциях, либо различные интервью/публикации сотрудников. </div> <div style="text-align: center;"> Информация для этого материала</div> <div style="text-align: center;">  была собрана автором из этих же источников и не</div> <div style="text-align: center;">  является официально подтвержденной со стороны ВКонтакте.</div> </span><span class="Apple-style-span" style="color: rgb(170, 170, 170); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background-color: rgb(255, 255, 255); ">источник: <a href="http://xakep.ru/" target="_blank" style="color: rgb(153, 153, 153); ">Xakep Online</a></span><span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; background-color: rgb(255, 255, 255); "><div> <br></div> </span></div>