Подписка на RSS

Рубрика «Реальные истории»

James Turner взял очень содержательное интервью у Joe Stump (технический директор SimpleGeo и ведущий разрработчик архитектуры Digg), в котором Joe, как обычно, дал несколько инсайдерских комментариев о своем опыте использования Cassandra и MySQL. Так как Digg начинал с использованием MySQL-ориентированной архитектуры и недавно на полной скорости начал переходить на Cassandra, то его наблюдения, выученные уроки и мотивы для перехода особенно ценны.

Последние шесть месяцев были очень интересными для команды разработчиков Digg. Мы решили все переписать с нуля. Мы не только переписывали весь код приложения, но и запускали новую серверную и клиентскую архитектуру. Ну и, чтобы не мелочиться, мы заодно меняли большую часть нашей инфраструктуры и переезжали с LAMP.

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

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

Приложение Photos – это одна из самых популярных возможностей Facebook. На данный момент пользователи загрузили более 15 миллиардов фотографий, что делает Facebook крупнейшим сайтом в этом направлении. Для каждой загруженной фотографии Facebook генерирует и хранит 4 изображения различного размера, таким образом получается 60 миллиардов изображений и 1.5PB хранилище. Текущая скорость роста – 220 миллионов новых фотографий в неделю, т.е. каждую неделю потребляются дополнительные 25TB хранилища. В пиковые моменты в секунду обслуживаются 550,000 изображений. Эти числа ставят существенную задачу перед инфраструктурой хранения фотографий Facebook.
Redis — одно из самых интересных NoSQL решений. Redis намного больше, чем простое key-value хранилище, здесь значениями могут быть не только простые строки, но и структуры данных. Redis сейчас поддерживает списки, множества и отсортированные множества. Этот пост предоставляет пример использования Redis-кого типа данных множества, который я реализовал для weplay (наша социальная сеть о спорте).
Один из разработчиков Twitter Райан Кинг говорит о причинах, повлиявших на переход этого сервиса к использованию Cassandra. Райан отвечает на вопросы о критериях выбора БД, преимуществах NoSQL и рассказывает о процедуре динамического переноса данных.

Ссылка: Перевод от moradan blog.

Оригинал интервью.

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

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

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

Comet — слово, которое на слуху, прямо как Ajax, и даже еще немного больше. Суть Comet в том, что сервер может пушить новые данные клиенту как только они появились.
В этом посте я покажу вам как реализовать действительно быстрый поллинг средствами C, и libevent, memcached и nginx. Производительность сервера (неоптимизированный Mac Book) более 2400 запросов в секунду на . Это 144,000 запросов в секунду.
Серверы тикетов не интересны сами по себе, но они являются важным блоком в построение Flickr. Главными темами о которых мы поговорим будет шардинг и мастер-мастер архитектуры. Серверы тикетов дают нам глобально (на Flickr) уникальные целые числа, которые являются первичными ключами в нашей распределенной системе.