Подписка на RSS

Метка «Digg»

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

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

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

Если вы посмотрите на первые дни этого блога, когда веб-масштабируемость была еще в пьянящем расцвете юности, многие статьи имели дело с применением MySQL и Memcached. Увлекательные времена. Используйте шардинг MySQL, чтобы справляться с высокими нагрузками на запись; кэшируйте объекты в Memcached, чтобы справляться с высокими нагрузками на чтение; и напишите кучу склеивающего кода, чтобы заставить все это работать вместе. Это было последнее слово техники, так это тогда делалось. Архитектура многих основных сайтов все еще следует этому образцу сегодня, в значительной степени потому что при достаточно больших усилиях это работает.
Несколько недель назад, обдумывая какую систему регистрации/обнаружения сервисов использовать для платформы развертывания масштабируемых приложений, я осознал, что для организаций среднего размера со сложным набором сервисов единственный вариант — построение с нуля.

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