Статьи

Couchbase N1QL: запрашивать или анализировать? Часть 2

Когда вам нужно запросить документы с использованием SQL, в Couchbase есть две опции. Служба запросов и сервис Analytics . Наш блог, N1QL: запрашивать или анализировать?предоставляет подробный обзор обеих услуг. Я настоятельно рекомендую прочитать его до этого. Эта статья призвана расширить предыдущий блог, добавив несколько конкретных, практических примеров. Для каждого примера мы рассмотрим, как написать запрос в обеих службах, и рассмотрим различия в производительности. Цель состоит в том, чтобы читатели ушли с большим количеством знаний, чтобы помочь быстро идентифицировать образцы и варианты использования, которые лучше всего соответствуют каждой услуге.

Резюме

Прежде чем прыгать в примеры. Давайте освежимся на основных характеристиках двух сервисов.

Сервис запросов
Аналитическая служба
Используется для манипулирования данными в логике приложения. Используется для отчетов, анализа (исторического, интерактивного) и информационных панелей.
Наиболее эффективен для коротких оперативных запросов, которые извлекают или обрабатывают меньшие объемы данных. Наиболее эффективен для более длинных, сложных специальных запросов, которые обычно извлекают и обрабатывают большие объемы данных.
Поддерживает операции SELECT, INSERT, UPDATE, DELETE, MERGE. Поддерживает только операции SELECT.

См. Https://dzone.com/articles/n1ql-to-query-or-to-analyze для полной таблицы.

Настроить

В этом руководстве мы будем использовать Couchbase 6.5 и примеры данных, представленные в пользовательском интерфейсе администратора Couchbase. Моя среда — это 3-узловый кластер Couchbase 6.5 с 1536 МБ, выделенным для службы аналитики. Все остальные настройки являются настройками по умолчанию. Если у вас нет доступа к кластеру, вы можете быстро запустить Couchbase 6.5 в контейнере Docker, выполнив следующую команду:

 docker run -d --name db -p 8091-8096:8091-8096 -p 11210-11211:11210-11211 couchbase:enterprise-6.5.0

Если вы идете по маршруту Docker, перейдите по адресу http: // localhost: 8091 в браузере после запуска контейнера и настройте экземпляр Couchbase, используя параметры по умолчанию на каждом шаге. Неважно, какое имя вы дадите своему экземпляру Couchbase.

Отказ от ответственности за исполнение

Мы рассмотрим время отклика для следующих примеров. Важно отметить, что ваша производительность может сильно различаться в зависимости от настроек среды Couchbase. Однако вы все равно сможете наблюдать аналогичные различия между службами Query и Analytics независимо от вашей среды.

Установить образец ковша для путешествий

На панели администратора Couchbase перейдите в «Настройки» -> «Образцы». Установите ковш с образцом путешествия. Подробную документацию о том, как это сделать, можно найти на нашем сайте документации .

Настройка службы запросов

Установка Sample Bucket также создает необходимые индексы. Это означает, что никакая дополнительная настройка не требуется для службы запросов.

Настройка службы аналитики

Для Службы аналитики нам нужно заполнить наборы данных для каждого «типа» документа в нашей корзине. Перейдите в Analytics Workbench и выполните следующие запросы для создания наборов данных:


SQL