По каким причинам использование Thrift API для доступа к Cassandra нежелательно?

Пожалуйста, перечислите причины, почему не рекомендуется использовать интерфейс Thrift для Cassandra? Каковы возможные преимущества и недостатки?


person Rajat Gupta    schedule 19.01.2011    source источник


Ответы (2)


Если вы используете необработанный API Thrift, минусы будут:

  • нет пула соединений
  • нет мониторинга
  • нет объектно-ориентированного интерфейса (не совсем так)
  • нет поддержки отработки отказа
person Schildmeijer    schedule 19.01.2011

Продолжая хорошее начало Шильдмейера:

  • Нет пакетного интерфейса.
  • Нет фрагментации get_range_slice() или get_indexed_slices(), так что вы можете легко затопить Cassandra
  • Нестроковые типы должны быть упакованы в двоичные строки самостоятельно.
  • Вы, вероятно, испортите точность отметки времени
  • Сообщения об исключениях обычно бесполезны
  • Thrift по умолчанию не работает на некоторых языках. См., например, расширение PHP C.
  • Поскольку код сгенерирован, он не интуитивно понятен, особенно в отношении суперстолбцов, SlicePredicates и batch_mutate().
  • Команды модификации схемы не ждут согласования схемы между всеми узлами в кластере.
person Tyler Hobbs    schedule 19.01.2011