Объявляем об общедоступном Couchbase Ruby SDK 3.0!
Автор: Арун Виджайрагаван
« Мы рады объявить об общедоступной версии Couchbase Ruby SDK 3.0! “
Полезные ссылки
- Читать документацию Couchbase Ruby SDK 3.0
- Читать документацию Couchbase Server 6.5.0
- Поделитесь своими мыслями на форумах Couchbase
- Посмотреть все блоги о Ruby Couchbase
- Понимание областей действия и коллекций
- Ruby SDK 3.0 — Справочник по API
Введение
Couchbase Ruby SDK позволяет вам подключаться к кластеру Couchbase из Ruby, используя упрощенный и высокопроизводительный API, который является расширением собственного Ruby. Наш SDK написан с учетом будущих функций сервера, обеспечивая поддержку таких возможностей, как Scopes и Collections, которые станут новым способом управления данными.
Совместимость
Couchbase Ruby SDK 3.0 — это
- Совместим с любой версией MRI Ruby выше 2.5.0 включительно.
- Полностью поддерживается для версии сервера Couchbase выше 6.0.0 включительно.
Более подробную информацию о совместимости можно найти здесь.
Установка
Вы можете установить Ruby, выполнив шаги, указанные на официальном Веб-сайте Ruby.
После установки Ruby установить версию Ruby SDK для Couchbase очень просто. В окне терминала просто введите следующую команду:
gem install couchbase
Мы также предоставляем репозитории gem с предварительно скомпилированными расширениями. Используйте их в случае, если компилятор C/C++ не может быть установлен на поле для сборки расширения во время установки gem. Дополнительные инструкции см. на этой странице: Примечания к выпуску и архивы Couchbase Ruby
Подключение к кластеру Couchbase
Соединение с кластером Couchbase Server представлено объектом Cluster. Кластер обеспечивает доступ к корзинам, областям и коллекциям, а также к различным службам Couchbase и интерфейсам управления.
Подключиться к Couchbase Cluster очень просто, все, что вам нужно сделать, это импортировать библиотеку cockbase и вызвать метод подключения для объекта кластера, передав учетные данные с помощью Параметры кластера, как показано ниже.
require "couchbase" # import couchbase library include Couchbase options = Cluster::ClusterOptions.new options.authenticate("Administrator", "password") cluster = Cluster.connect("couchbase://localhost", options)
Функции
Этот новый драгоценный камень поставляется с множеством новых и улучшенных функций, которые просты и менее многословны.
Ниже вы найдете основные моменты некоторых функций, проиллюстрированных примерами, которые используют Couchbase Server версии 6.5.1 в режиме предварительного просмотра для разработчиков с добавленными ведрами «путешествие-образец» и «пиво-образец».
Полный набор функций см. в нашей документации.
Операция "ключ-значение"
Операция «ключ-значение», также известная как служба данных, предлагает самый простой и быстрый способ извлечения или изменения данных, если известен ключ документа.
В примере используется коллекция Travel-Samples по умолчанию,
- Создайте новый документ (обновите, если документ уже существует) с ключом "foo" .
- Получите документ.
- Удалить/удалить документ.
require 'couchbase' include Couchbase options = Cluster::ClusterOptions.new options.authenticate("Administrator", "password") cluster = Cluster.connect("couchbase://localhost", options) bucket = cluster.bucket("travel-sample") collection = bucket.default_collection res = collection.upsert("foo", {"bar" => 42}) res = collection.get("foo") puts res.content res = collection.remove("foo") puts res cluster.disconnect
Операции с вложенными документами
Операции с вложенными документами можно использовать для эффективного доступа к частям документов с использованием путей к вложенным документам. Они могут быть быстрее и эффективнее в сети, чем полный документ такие операции, как upsert, replace и get, потому что они передают по сети только те разделы документа, к которым осуществляется доступ. Эти операции также являются атомарными, что позволяет безопасно изменять документы с помощью встроенного контроля параллелизма.
В приведенном ниже примере используются пути вложенных документов факс, электронная почта для изменения документа с ключом "customer123".
require 'couchbase' include Couchbase options = Cluster::ClusterOptions.new options.authenticate("Administrator", "password") cluster = Cluster.connect("couchbase://localhost", options) bucket = cluster.bucket("default") collection = bucket.default_collection document = { name: "Douglas Reynholm", email: "[email protected]" } collection.upsert("customer123", document) res = collection.mutate_in("customer123", [ MutateInSpec.upsert("fax", "311-555-0151"), MutateInSpec.replace("email", "[email protected]"), ])
Запрос
Вы можете запрашивать документы в Couchbase, используя язык запросов N1QL, язык, основанный на SQL, но предназначенный для структурированных и гибких документов JSON. Запросы могут решать типичные задачи программирования, такие как поиск профиля пользователя по адресу электронной почты, логину в Facebook или идентификатору пользователя.
В приведенном ниже примере именованные параметры используются для извлечения 10 документов типа "hotel" из корзины `travel-sample`.
require 'couchbase' include Couchbase options = Cluster::ClusterOptions.new options.authenticate("Administrator", "password") cluster = Cluster.connect("couchbase://localhost", options) options = Cluster::QueryOptions.new options.named_parameters({type: "hotel"}) res = cluster.query("SELECT * FROM `travel-sample` WHERE type = $type LIMIT 10", options) res.rows.each do |row| puts "#{row["travel-sample"]["country"]}. #{row["travel-sample"]["name"]}" end
Аналитика
Служба аналитики Couchbase предоставляет возможность выполнять сложные специальные запросы для сбора информации об операционных данных, не препятствуя рабочим нагрузкам. Синтаксис запроса практически такой же, как у N1QL, что позволяет вам использовать свои знания SQL для выполнения аналитических запросов к данным JSON.
В приведенном ниже примере позиционные параметры используются для получения `количества аэропортов` во Франции из airports dataset
created в сегменте `travel-sample`.
require 'couchbase' include Couchbase options = Cluster::ClusterOptions.new options.authenticate("Administrator", "password") cluster = Cluster.connect("couchbase://localhost", options) options = Cluster::AnalyticsOptions.new options.positional_parameters(["France"]) result = cluster.analytics_query('SELECT COUNT(*) AS airport_count FROM airports WHERE country = ?',options) puts "Airports in France: #{res.rows.first["airport_count"]}"
Вывод
Надеюсь, вы уже взволнованы и готовы создать свое следующее приложение, используя этот новый драгоценный камень!
Если у вас есть какие-либо вопросы или отзывы, загляните в наше сообщество разработчиков. Мы хотели бы услышать от вас. Вы также можете проверить SDK на GitHub.
Удачного программирования!!!
Арун Виджайрагаван — главный менеджер по продуктам SDK и соединителей в Couchbase. Как лидер, ориентированный на клиентов, он стремится формировать будущее продуктов, принимая важные решения между производительностью, функциями и временем выхода на рынок. У него есть продемонстрированные способности и 20-летний опыт предоставления стратегических рекомендаций компаниям по запуску платформ для разработчиков и новых продуктов, чтобы объединить единое видение максимизации ценности продукта для бизнеса. Арун имеет двойную степень магистра в области физики и информационных технологий.