Подписка на RSS

Метка «facebook»

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

Приложение Photos – это одна из самых популярных возможностей Facebook. На данный момент пользователи загрузили более 15 миллиардов фотографий, что делает Facebook крупнейшим сайтом в этом направлении. Для каждой загруженной фотографии Facebook генерирует и хранит 4 изображения различного размера, таким образом получается 60 миллиардов изображений и 1.5PB хранилище. Текущая скорость роста – 220 миллионов новых фотографий в неделю, т.е. каждую неделю потребляются дополнительные 25TB хранилища. В пиковые моменты в секунду обслуживаются 550,000 изображений. Эти числа ставят существенную задачу перед инфраструктурой хранения фотографий Facebook.
Несколько недель назад, обдумывая какую систему регистрации/обнаружения сервисов использовать для платформы развертывания масштабируемых приложений, я осознал, что для организаций среднего размера со сложным набором сервисов единственный вариант — построение с нуля.

Я также обнаружил, что многие пользователи AWS/EC2 уже используют S3 и SimpleDB для публикации/обнаружения сервисов. Это исследование в конечном счете привело меня к рассмотрению Cassandra в качестве хранилища данных для реестра сервисов в корпоративной сети.

Все знают, что чем быстрее интернет, тем он лучше. В Facebook мы стараемся сделать наш сайт как можно более дружелюбным; мы провели эксперименты, которые показали, что пользователи просматривают больше страниц и получают больше пользы от нашего сайта, когда он работает быстрее. Google и Microsoft заявили о схожих выводах относительно их задач на 2009 O’Reilly Velocity Conference.

Итак, как же сделать Facebook быстрее?

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

  Если бы настоящее фермерство было бы настолько уже удобно, как в мегахите FarmVille от Zynga, тогда моя семья никогда бы не покинула суровые зимы Северной Дакоты. Ни одна из тех жутких историй про фермерство, которые мне рассказывала бабушка на ночь, не имеет ничего общего с FarmVille. Фермеры зарабатывают деньги, растения растут, а животные никогда не посещают красный амбар. Как же в FarmVille масштабировали веб приложение, чтобы справиться с 75 миллионами игроков? К счастью, Luke Rajlich из FarmVille согласился посвятить нас в некоторые их проблемы и секреты.
Одна из важнейших вещей в Facebook -это быстрая работа. За последние 6 лет у нас много раз был повод поблагодарить PHP за то ускорение разработки, которое он предлагает. Как язык программирования PHP очень прост. Его легко изучить, на нем легко писать, легко читать и легко отлаживать. С PHP мы можем увеличивать количество новых инженеров в Facebook намного быстрее, чем с другим языком программирования. Это позволяет нам вводить инновации быстрее.