Запрос N1QL, охватывающий несколько сегментов

Два вопроса, связанных с Couchbase ...

  1. Я использую Java SDK 2.2.0 на Couchbase 4.0 RC0 для выполнения некоторых запросов N1QL, которые объединяют более одного ведра. В Java SDK запрос - это функция, предоставляемая интерфейсом корзины. Итак, если я хочу запустить запрос N1QL, объединяющий более одного ведра, для какого ведра я должен получить дескриптор (т.е. какое имя ведра следует передать при вызове Cluster.openBucket (...)). Такие операции, как вставка, вставка, удаление и т. Д., Привязанные к корзине, имеют смысл, потому что они работают с документом в корзине, но не должен ли запрос быть более общим?
  2. Создают ли CouchbaseCluster.create () и Cluster.disconnect () необходимые подключения к кластеру? Если да, то что делает открытие и закрытие ведра?

person swish41ffl    schedule 10.09.2015    source источник


Ответы (1)


  1. Это правда, что N1QL немного менее привязан к Bucket, чем остальные операции в API, но мы добавили туда метод запроса, потому что мы полагали, что большинство людей, уже использующих SDK, привыкли иметь дело с Bucket и, вероятно, многие варианты использования N1QL будут охватывать только 1 ведро.

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

  1. Cluster.create() составит список начальных узлов для начальной загрузки и подготовит ConfigurationManager, чтобы SDK мог получать обновления из кластера. Фактическое соединение, танец аутентификации и установление основных ресурсов выполняются при вызове openBucket.
person Simon Baslé    schedule 11.09.2015