2013-09-16 2 views
3

Я, наконец, получаю завивку Кассандры, частью проблемы было изучение/уважение различий между Thrift и CQL3.Cassandra 1.2: Является ли CQL предпочтительным для клиентов на основе бережливости

Многие из обучающих программ, которые я нахожу в Интернете, предназначены для CQL3. Мой вопрос: действительно ли CQL3 является предпочтительным методом, и разве не поощряется Thrift? Причина, о которой я прошу, я потратил пару дней, пытаясь получить то, что мне нужно, через Pycassa, которая не поддерживает Cassandra 1.2, и это основано на модели Thrift.

+1

В случае, если вы не знаете об этом, этот драйвер является лучшим вариантом для работы с CQL3 через python: https://github.com/datastax/python-driver. (Я автор этого и сопровождающий пикасса.) –

ответ

5

Является ли CQL3 по-настоящему предпочтительным методом, и разве не поощряется Thrift?

Короткий ответ да.

Longer Ответ:

CQL3 предпочтение следует отдавать по многим причинам:

  1. платформы агностиком язык: CQL3 выглядит как SQL и проще в обращении, что чистый код Бережливость API.

  2. Более высокий уровень абстракции: для конечных пользователей с CQL3 проще обрабатывать данные, а не манипулировать с помощью низкоуровневого Thrift API, хотя существуют некоторые хорошие рамки абстракции (Hector for Java, Pycassa for Python. .. =

  3. легче управлять для оперативных групп: при создании новой таблицы или добавления новых ссылочного данные, то проще написать CQL3 сценарии, OPS команда может понять, проверить и выполнение, а не скрытая Кассандра кли скрипты (set cf [rowKey] [columnName] = ...). Я переношу все наши скрипты cassandra-cli на CQL3, потому что это боль в заднице, чтобы поддерживать их

  4. И последнее, но не менее важное: CQL3 облегчает жизнь сторонним разработчикам фреймворка. Я разработал Achilles, менеджер постоянства с открытым исходным кодом для Cassandra. Версия бережливость была мучительно реализовать, версия CQL3 был кусок пирога escpecially, потому что он использует драйвер Java от Datastax

Это, как говорится, CQL3 не ложе из роз либо. До , используя всю мощность языка запросов, вам нужно понять, как работает механизм хранения Cassandra. Язык дает вам иллюзию, что все легко и будет работать как SQL, но простой истины нет. Есть несколько важных различий в семантике, особенно при использовании предложения WHERE.

1

Короткий ответ: Да

Однако, учитывая то, как новый он сравнивается с клиентами секонд основе можно с уверенностью предположить, что существует гораздо больше бережливость клиентов в производстве.

Учитывая Datastax теперь производят свой собственный драйвер, который поддерживает Java исключительно CQL3 это, вероятно, хорошая идея, чтобы следовать свита: https://github.com/datastax/java-driver

Смежные вопросы