Подписка на RSS

Cassandra: Факт против вымысла

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

  • Вымысел: «Cassandra полагается на высокоскоростное оптоволокно между датацентрами» и не может реплицироваться между датацентрами, latency между которыми более чем несколько мс.
    Факт: Репликация между несколькими датацентрами одна из самых первых возможностей Cassandra и она несомненно является наиболее протестированной в боевых условиях среди NoSQL проектов. Facebook развернул Cassandra в датацентрах на восточном и западном побережьях перед тем как открыть ее в open source. Кластер Сassandra SimpleGeo занимает 3 зоны доступности EC2, и Digg тоже развернул систему на обоих побережьях. Утверждения о том, что это не может работать, являются отличным признаком, что вы читаете статью того, кто не знает о чем говорит.
  • Вымысел: «Не возможно определить когда реплики Cassandra будут обновлены.»
    Факт: Cassandra обеспечивает согласованность когда R + W > N (read replica count + write replica count > replication factor), чтобы использовать Dynamo словарь. Если вы производите и запись, и чтение с QUORUM, например, вы можете ожидать согласованность данных, как только количество доступных узлов станет достаточно для quorum. Cassandra также предоставляет восстановление при чтении и антиэнтропию, поэтому даже чтение при ConsistencyLevel.ONE будет согласованным после любого из этих событий.
  • Вымысел: У Cassandra маленькое сообщество.
    Факт: Хотя популярность никогда не была хорошим показателем для определения корректности, справедливо, что при использовании передовых технологий, хорошо делать это в компании. На момент написания этой статьи в USA поздняя ночь, и есть 175 человек на irc канале Cassandra, 60 на HBase, 32 на Riak и 15 на Voldemort. (6 месяцев назад числа были 90, 45, 12 для Cassandra, HBase и Voldemort. Я еще не посещал #riak тогда.) Участие в списках рассылок показывает похожие результаты. Также интересен тот факт, что создатели Thrudb и Dynomite используют сейчас Cassandra, это показывает, что предсказанная консолидация NoSQL начинается.
  • Вымысел: «Cassandra поддерживает только одно пространство ключей а установку.»
    Факт: Это не правда уже почти год (с июня 2009).
  • Вымысел: Cassandra не может поддерживать Hadoop или инструменты поддержки такие как Pig.
    Факт: Всегда было ясно посылать выходные данные Hadoop работ в Cassandra, и Facebook, Digg и другие используют Hadoop подобным образом как Cassandra bulk-loader примерно год. Для версии 0.6, я предоставил Hadoop InputFormat и связанный с этим код для того, чтобы позволить Hadoop работам обрабатывать также данные из Cassandra, кооперируюясь с Hadoop, чтобы продолжать обработку на тех узлах, на которых реально есть данные. Также в версии 0.6 Stu Hood предоставил Pig LoadFunc.
  • Вымысел: Cassandra достигает высокой производительности жертвуя надежностью (иными словами: Cassandra хороша только для тез данных, которые вы можете себе позволить потерять).
    Факт: В отличии от некоторых NoSQL баз данных (особенно MongoDB и HBase), Cassandra предлагает полную стойкость отдельного сервера. В случаях, когда вы не можете позволить себе потерять данные, недостаточно полагаться на репликацию; если ваш датацентр теряет питание, вы с большой вероятностью потеряете данные, которые не были синхронизированы с диском, неважно сколько у вас при этом есть реплик. И если вы работаете с большими системами в продакшене достаточно долго, вы осознаете, что нельзя игнорировать перебои с питанием, как результат комбинации сбоев оборудования и человеческой ошибки. Но Cassandra со своим fsync commitlog решением может защитить вас и в этом случае тоже. Что делать после того, как ваши данные сохранены (например бэкапами и снэпшотами), я здесь не описываю, но это освещается на странице wiki.

Автор статьи: Jonathan Ellis
Дата: 7 апреля 2010
Оригинал статьи

Leave a Reply

Your email address will not be published. Required fields are marked *