ограничения cql

Я могу использовать erlacassa для связи между Cassandra и Eralng. Это клиент CQL. Итак, мне было интересно, каковы ограничения CQL (язык запросов cassandra) по сравнению с cassandra, доступ к которому осуществляется экономно?

Например, я нашел в Интернете, что:

CQL имеет некоторые текущие ограничения и не поддерживает такие операции, как GROUP BY, ORDER BY.


person Daniel    schedule 29.05.2012    source источник


Ответы (2)


Это частично зависит от версии Cassandra, которую вы используете. Например, CQL не поддерживал составные столбцы до CQL 3.0 (который доступен в Cassandra 1.1, но не включен по умолчанию). Но по большей части все основные функции доступны как в Thrift API, так и в CQL.

Что касается group by, то это не поддерживается ни CQL, ни thrift API. Order by есть в CQL 3.0, но он используется только для указания обратного порядка (это то же самое ограничение, которое вы имели бы через Thrift). Похоже, что статья, которую вы нашли, сравнивала Cassandra с традиционной базой данных SQL.

person psanford    schedule 29.05.2012
comment
CQL 3 поддерживает order by там, где это было бы эффективно, для чего бы это ни стоило. - person the paul; 31.05.2012
comment
Да, вы правы, что order by находится в CQL (см. CASSANDRA-3925 ). Я обновил ответ, чтобы лучше отразить, как это работает. - person psanford; 31.05.2012

Помимо различий в синтаксисе, самая большая разница заключается в том, что CQL претендует на роль SQL, тогда как экономные API не делают таких претензий. Разработчики увидят SQL и сделают реляционные предположения, которые просто неприменимы к Cassandra. Например, здесь обсуждается использование заказа по. В мире Cassandra гораздо лучше денормализовать материализованные представления всех способов доступа к данным, чем изменять запрос.

Не поймите меня неправильно. Я вижу большую ценность в замене экономичного интерфейса на DSL, такой как http://glennengstrand.info/nosql/cassandra/cql, но я считаю, что знакомство с SQL как способом доступа к реляционным данным приведет разработчиков к использованию Cassandra способами, которые просто не будут масштабироваться.

person Glenn    schedule 10.03.2013