2015-08-16 1 views
1

Мы собираемся создать новый проект на cassandra с php или java.бережливость или CQL3 для широких рядов кассандры?

Как мы оцениваем, для кластера cassandra будет 20K req/sec.

Специально широкоформатная функция столбца важна для этого проекта, но я не могу четко прояснить: должен ли я предпочитать бережливый API или CQL3-библиотеку, такую ​​как php-driver и т. Д.?

Есть сообщение, в котором говорится, что «Thrift API не будет получать новые функции» в этом link. Поэтому я не уверен насчет бережливости.

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

Итак, какой из них лучше всего для моего случая?

ответ

0

Thrift - это устаревший интерфейс в Кассандре. Все новые разработки должны использовать собственный интерфейс CQL.

Я не совсем понимаю, почему вы думаете, что вам нужно будет часто менять таблицу. Как правило, вы определяете схему один раз и редко, если когда-либо используете таблицу alter.

+0

http://www.datastax.com/dev/blog/does-cql-support-dynamic-columns-wide-rows, на этой странице datastax показан пример использования широких строк. они сказали, что если вы хотите добавить данные с новым именем столбца, вы должны сначала добавить этот столбец в структуру таблицы. – mst

+0

Эта статья в блоге выглядит устаревшей. В CQL вы обычно определяете нужные столбцы при создании таблицы и не переименовываете их. –

+0

Я так думаю, но когда пытался добавить новую строку с новым именем столбца, cassandra выдает исключение «Неизвестный идентификатор k1», где «k1» - это новое имя столбца. – mst