Подписка на RSS

Метка «Cassandra»

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

Во время учебы в средней школе, мне повезло иметь доступ к миникомпьютеру Data General Nova. В отличие от других «космических» компьютеров, Новы были действительно очень крутыми. У них была возможность непрямой адресации, которая означала, что вы можете сделать любой адрес как непрямой, что заставит использовать этот адрес аппаратно как адрес адреса. Эта возможность делала вызовы и передачу параметров очень быстрой. Единственным недостатком была возможность зависания машины, если вы заставляли адрес ссылаться на самого себя).

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

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

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

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

Если вы посмотрите на первые дни этого блога, когда веб-масштабируемость была еще в пьянящем расцвете юности, многие статьи имели дело с применением MySQL и Memcached. Увлекательные времена. Используйте шардинг MySQL, чтобы справляться с высокими нагрузками на запись; кэшируйте объекты в Memcached, чтобы справляться с высокими нагрузками на чтение; и напишите кучу склеивающего кода, чтобы заставить все это работать вместе. Это было последнее слово техники, так это тогда делалось. Архитектура многих основных сайтов все еще следует этому образцу сегодня, в значительной степени потому что при достаточно больших усилиях это работает.
Один из разработчиков Twitter Райан Кинг говорит о причинах, повлиявших на переход этого сервиса к использованию Cassandra. Райан отвечает на вопросы о критериях выбора БД, преимуществах NoSQL и рассказывает о процедуре динамического переноса данных.

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

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

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

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

Краткое резюме по базам данных, часть из которых отстойные, по крайней мере для моих задач, а другую часть я пока исследую.