Есть ли разница между CassandraCSharpDriver и YugaByteCassandraCSharpDriver?

Я обнаружил, что в диспетчере пакетов NuGet есть YugaByteCassandraCSharpDriver, а в документах официального сайта yugabyte показал с помощью CassandraCSharpDriver.

какой из них мы должны использовать для С#?

в чем разница между YugaByteCassandraCSharpDriver и CassandraCSharpDriver?


person Ali Zeinali    schedule 21.01.2020    source источник


Ответы (1)


Вы должны использовать YugaByteCassandraCSharpDriver, потому что политика разделения YugabyteDB отличается от Cassandra. В результате, несмотря на то, что драйверы совместимы с API (для общей функциональности), использование драйвера YugabyteDB даст преимущество в производительности, поскольку в общем случае запросы могут быть перенаправлены на правильный/оптимальный узел.

Драйвер YugabyteDB также поддерживает дополнительные функции, которых нет в Cassandra (например, тип данных JSONB).

Документация устарела и будет обновляться.

person dorian YB    schedule 21.01.2020
comment
И это 4 правила верны и для YugaByteCassandraCSharpDriver? - person Ali Zeinali; 21.01.2020
comment
@AliZeinali да. Все операции являются атомарными и транзакционными. - person dorian YB; 21.01.2020
comment
Хорошо, спасибо. У меня много разных вопросов по поводу этого югабайта :) . где я могу их спросить? - person Ali Zeinali; 21.01.2020
comment
Я точно искал функцию JSONB в драйвере YB, но не смог ее найти. Не могли бы вы привести пример? - person Ali Zeinali; 22.01.2020
comment
@AliZeinali см. использование в тестах github.com/yugabyte/cassandra-csharp-driver/blob/master/src/ - person dorian YB; 22.01.2020
comment
Поддерживает ли YugaByteCassandraCSharpDriver транзакции? - person Ali Zeinali; 19.02.2020
comment
@AliZeinali все DML являются транзакционными при создании таблицы с документами transactions = { 'enabled' : true } .yugabyte.com/latest/api/ycql/ddl_create_table/ - person dorian YB; 19.02.2020
comment
Я имею в виду, можем ли мы НАЧАТЬ и ЗАВЕРШАТЬ транзакции с драйвером без написания CQL? - person Ali Zeinali; 19.02.2020
comment
Я думаю, вы имеете в виду транзакции с несколькими запросами, как в YSQL? В настоящее время все транзакции могут охватывать только 1 запрос (например, автоматическая фиксация в YSQL/Postgresql). - person dorian YB; 19.02.2020
comment
Я не уверен, что такое транзакции с несколькими запросами. Я просто ищу что-то вроде это - person Ali Zeinali; 22.02.2020
comment
Это невозможно в YCQL (только в YSQL). У вас не может быть транзакций, контролируемых клиентом. Вы должны поместить весь свой DML в 1 строку запроса. - person dorian YB; 23.02.2020