2016-03-01 3 views
1

Я не могу найти документацию для этого. Я знаю, что в cqlsh есть команда согласования, но нет различия между согласованностью чтения и записи. Как установить разные уровни согласованности для чтения и записи?как установить консистенцию чтения и записи cassandra

Кроме того, упоминается уровень согласованности по умолчанию. Где этот набор по умолчанию? и это для чтения или записи?

+0

Оформить документацию для драйвера, который вы используете, например, драйвер java: https://docs.datastax.com/ru/drivers/java/2.0/com/datastax/driver/core/class-use/ConsistencyLevel.html –

+0

так ... где вы можете найти, как это делается? google не помогает – JSelser

ответ

2

По умолчанию уровень согласованности является ОДНОМ для всех операций R/W.

Установка CL делается на на запрос (чтение или upsert) основе, добавив USING CONSISTENCY XXXX синтаксис на запрос, как показано здесь:

https://cassandra.apache.org/doc/cql/CQL.html#INSERT

И

https://cassandra.apache.org/doc/cql/CQL.html#ConsistencyLevel

-1
  1. Конфигурация по умолчанию устанавливается в файле cassandra.conf. Он предназначен для чтения и записи.

  2. Вы можете установить согласованность для каждого запроса, добавив опцию USING в запрос.

+0

3 ответа. Я не вижу ответа ни в одном из них. мой вопрос заключается в том, как установить отдельные согласования чтения и записи. Поэтому я верю, что правильный ответ заключается не в том, чтобы больше использовать «использование», а скорее в использовании команды согласования, но мой вопрос заключается в том, как установить другой уровень для чтения или записи? – bhomass

+0

вы просто повторили мой комментарий, не отвечая на вопрос. Я смущен, это таинственная загадка. Не может быть, что вы вынуждены устанавливать одинаковый уровень согласованности как для чтения, так и для записи. Это не имеет смысла. – bhomass

+0

Использование cqlsh вы не можете установить. Но в java-программе вы можете установить. В java-драйвере программы вы найдете Write conf и Read Conf, а также можете создать два разных кластера и один сеанс для чтения и один для записи. –

0

Уровень согласованности уже не установлен с предложением CQL USING. См. CASSANDRA-4734 для пояснения.

Вместо этого, используя CQLSH, вы должны использовать команду CONSISTENCY: см. here.

Обратите внимание, что уровень согласованности по умолчанию изменен во всех водителей DataStax от ONE до LOCAL_ONE: см python driver documentation подробности - однако, несмотря на использование драйвера питона за кулисами, CQLSH все еще имеет консистенцию по умолчанию ONE).

+0

"ONE to LOCAL_ONE". Не уверен, что я согласен с этим; согласованность по умолчанию без установки чего-либо из cqlsh - ONE (вывод «Текущий уровень согласованности - ONE»). – Rdesmond

+1

Вы правы, теперь драйвер python по умолчанию имеет значение LOCAL_ONE, но cqlsh по умолчанию имеет значение ONE: https://github.com/apache/cassandra/blob/trunk/bin/cqlsh.py#L757 – adutra

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