Презентация Джереми Заводни из Craigslist о технологиях хранения данных на Craigslist доступна в виде видео и дает захватывающее представление о том, почему Craigslist выбрал различные технологии.
Первоначально презентация Заводного была сделана на конференции Percona Live MySQL 2012 в Санта-Кларе. На этом веб-сайте используются как SQL (MySQL), так и NoSQL (Redis, MongoDB и memcached), а Zawodny обсуждает, что используется, где, почему и почему нет.
Вы можете посмотреть видео ниже:
Заводный говорит, что MySQL используется по разным причинам — черт их знает, очень надежен, и у них есть много навыков администратора и разработчика для его использования. Другие причины выбора MySQL — надежность, репликация и поддержка.
Memcached имеет высокую оценку, потому что, по словам Задоуни, он невероятно быстрый, стабильный, практически не требует администрирования и легко существует с сервисами, интенсивно использующими процессор. В ответ на проблему с многоядерностью он говорит: запускайте больше экземпляров!
Redis был выбран из-за производительности, гибкости и отличного, но простого API. Такое же решение предлагается и для многоядерного вопроса.
Причины выбора MongoDB начинаются с того факта, что это бесплатная схема. Другие причины включают активное сообщество наряду с коммерческой поддержкой. Клиент Perl является плюсом, но Заводный оставляет за собой самые восторженные похвалы за простоту масштабирования (ура, за встроенную поддержку сегментирования) и меньшее количество единичных точек отказа из-за «потрясающих» наборов реплик.
Задоуни также рассматривает причины выбора Sphinx и Filesystem и приходит к выводу, что, отвечая на вопрос о реляционном и нереляционном, на практике Craigslist часто просто не заботится, добавляя, что NoSQL — это глупый ярлык.