2015-09-10 3 views
1

Два связанные Couchbase вопросы ...N1QL запрос, охватывающий несколько ведер

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

ответ

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

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

  1. Cluster.create() скомпилирует список семенных узлов для начальной загрузки и подготовки ConfigurationManager, чтобы SDK мог получать обновления из кластера. Фактическое соединение, танец аутентификации и создание основных ресурсов осуществляется при вызове openBucket.
Смежные вопросы