Couchbase Móvil

Cómo sentirse cómodo con Couchbase Mobile: Couchbase Server a través de la línea de comandos

The Couchbase Mobile Stack

Introducción

Este será el tercer post de una serie sobre la Couchbase Móvil pila. Puede encontrar el primer y segundo post aquí y aquírespectivamente. Cubren la instalación de Servidor Couchbase y algunas partes interesantes de Consola web de Couchbase. En este post hablaremos sobre cómo trabajar con Couchbase Server desde la línea de comandos.

Fondo

Para sentirse cómodo con toda la pila, es genial instalar y ejecutar todo en su máquina de desarrollo. En esta serie de entradas, voy a caminar a través de los pasos para empezar con cada componente. También mostraré cómo explorar un poco más por el camino.

Sólo haré una configuración mínima. Esto no pretende explicar lo que necesitas para un entorno de producción. Asumo que estás familiarizado con algunos conceptos básicos de NoSQL, tienes alguna comprensión de Couchbase, y sabes cómo construir aplicaciones en algo como Java, Android o iOS. Si quieres leer más sobre bases de datos NoSQL o Couchbase, puedes encontrar un montón de recursos en la web Couchbase sitio.

Couchbase es de código abierto. Todo lo que usaré aquí es gratis para probar. Mira al final del post para más recursos si necesitas ayuda.

Línea de comandos

Couchbase Server tiene un buen número de herramientas de línea de comandos. También tiene una extensa API REST. Echemos un vistazo a algunos puntos interesantes.

Utilidades de línea de comandos

En un Mac, normalmente puedes encontrar las herramientas de línea de comandos en /Applications/Couchbase Server.app/Contents/Resources/couchbase-core/bin.

Puede encontrar las ubicaciones de los comandos para Linux y Windows aquí: https://developer.couchbase.com/documentation/server/current/cli/cli-intro.html

couchbase-cli: la herramienta de gestión de clústeres por línea de comandos

Esta herramienta puede funcionar en nodos individuales o en clusters enteros. Admite comandos para todo, desde la manipulación de buckets hasta las réplicas entre centros de datos. He aquí algunos ejemplos.

Lista de servidores

El siguiente comando devolverá una breve lista de los servidores de un clúster.

Salida

Como era de esperar, esto muestra que tenemos un servidor activo ejecutándose localmente.

(Nota: por brevedad, en adelante omitiré las opciones de cluster, nombre de usuario y contraseña. Sin embargo, las necesitarás para los comandos reales).

Recogida de registros

Podemos activar el registro. Hay opciones para cargar automáticamente los datos para el soporte.

Salida

A continuación, comprueba el estado.

Salida

Y deja de talar.

Salida

Los archivos de registro son extensos. La muestra aquí contenía muchos archivos y más de un megabyte de información. Es todo texto que puedes mirar. Si alguna vez necesitas soporte para una instalación de CB Server, es bueno saber cómo obtener estos datos.

cbq: Shell de línea de comandos para N1QL

La otra herramienta que veremos es cbq, el intérprete de comandos interactivo para ejecutar consultas N1QL.

En este caso, el comando se ejecutará en bucle pidiéndonos información. Empieza ejecutándolo sin opciones.

Inmediatamente debería ver un par de avisos y el símbolo del sistema.

Crear un índice primario

Para realizar consultas, necesitarás al menos un índice primario. Algunas versiones de los datos de la muestra de cerveza vienen con uno, otras no.

Salida

Consultas en curso

He aquí un ejemplo de consulta bastante simple.

Salida

Hemos extraído todas las cervezas que tienen "Imperial" como parte de su descripción de estilo.

Fíjese en las marcas traseras alrededor de la muestra de cerveza. Son necesarias debido al guión del nombre.

N1QL debería resultarte familiar si conoces SQL. N1QL es un superconjunto de SQL. Los datos JSON a menudo no son planos como los datos relacionales. N1QL tiene extensiones para hacer cosas como desenrollar matrices. Puedes leer más sobre N1QL aquí.

Para comprender N1QL en mayor profundidad, recomiendo probar este estupendo tutorial interactivo.

Puedes encontrar un útil post de Nic Raboy sobre características más avanzadas de cbq aquí.

API REST

Couchbase Server dispone de un amplio conjunto de Puntos finales REST. La mayoría tienen que ver con la gestión de las implantaciones.

Mostraré ejemplos usando curl. Hay una herramienta muy buena que recomiendo como reemplazo de curl, httpie. Es un poco más fácil de usar y crea una salida coloreada. No lo usaré aquí ya que curl es más común.

Me parecen interesantes otros puntos finales para ver lo que producen, pero para nuestros fines voy a centrarme en las consultas.

Ver consultas

En un post anterior sobre la Consola web de Couchbasehemos echado un vistazo a las vistas. Las vistas crean un índice estático que puedes utilizar para recuperar información. Puedes controlar la respuesta con una serie de opciones. Gran parte del valor de las vistas proviene de cómo se definen las funciones map/reduce, pero estas opciones mejoran aún más el uso de las vistas para consultar datos. El filtrado por clave es especialmente útil. Veámoslo.

Se accede a las vistas mediante URI de la forma

Para nuestra muestra de cerveza, podemos obtener toda la información sobre la fábrica y la cerveza de esta manera.

El resultado es una gran cantidad de información. He aquí una breve muestra de la salida.

Puede ver la información clave. Podemos utilizarla para limitar los resultados. He aquí un ejemplo utilizando una sola clave.

Y el resultado.

Fíjate que he añadido la opción -g. Curl por defecto permite ciertos tipos de coincidencia de patrones (globbing). Esto funciona utilizando los caracteres especiales {} y []. Los necesitamos para especificar la clave en JSON. La forma más fácil es desactivar globbing. No olvide también las comillas simples alrededor del parámetro.

Ese ejemplo filtraba por una clave. Aquí hay uno que muestra cómo obtener resultados que coincidan con más de una a la vez.

Observa que la salida no está ordenada.

Más allá del uso en la depuración (o simplemente entender lo que está pasando con) puntos de vista, he visto algunas cosas interesantes escritas sólo con secuencias de comandos de shell y este tipo de consulta.

Consultas N1QL

Resulta que también se pueden ejecutar consultas N1QL desde la línea de comandos. He aquí un ejemplo sencillo que extrae todo del cubo de muestras de cerveza.

La salida incluye algunas estadísticas y los documentos completos. (Las estadísticas se envían a stderr en un Mac).

The N1QL command must have certain characters encoded to work properly. In this case, you can probably guess that %20 is the encoding for a single space. You can read more about that on this Stack Overflow post.

Próximos pasos

Hemos dedicado bastante tiempo a Couchbase Server. A continuación nos adentraremos en el mundo móvil con una inmersión en Pasarela de sincronización. Seguiré más o menos el mismo formato. En el caso de Sync Gateway, sin embargo, veremos que hay mucho más que hacer utilizando las API REST. Esto incluirá algunos trucos para ayudar a diagnosticar problemas comunes. Después veremos Couchbase Lite, y terminaremos viendo cómo se mueven los datos de extremo a extremo a través de la pila completa. Permanece atento.

[buttongroup][button style="btn-link btn-lg" icon="fa-arrow-left" align="left" iconcolor="#dd3333″ type="link" target="false" title="Anterior: Consola web de Couchbase" link="https://www.couchbase.com/blog/confortable-couchbase-mobile-couchbase-web-console/" linkrel=""][button style="btn-link btn-lg" icon="fa fa-arrow-right" align="left" iconcolor="#dd3333″ type="link" target="false" title="Siguiente: Instalación de Sync Gateway" link="https://www.couchbase.com/blog/getting-comfortable-couchbase-mobile-installing-sync-gateway/" linkrel=""][/buttongroup]

Posdata

Consulte más recursos en nuestra portal para desarrolladores y síganos en Twitter @CouchbaseDev.

Puede enviar preguntas a nuestro foros. Y participamos activamente en Stack Overflow.

Puede seguirme personalmente en @HodGreeley

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Hod Greeley

Hod Greeley es desarrollador de Couchbase y vive en Silicon Valley. Tiene más de dos décadas de experiencia como ingeniero de software y director de ingeniería. Ha trabajado en una variedad de campos de software, incluyendo física computacional y química, seguridad informática y de redes, finanzas y móviles. Antes de unirse a Couchbase en 2016, Hod dirigió las relaciones con desarrolladores para móviles en Samsung. Hod es doctor en física química por la Universidad de Columbia.

2 Comentarios

  1. [...] Anterior: Instalación de Couchbase Server Siguiente: Couchbase Server a través de la línea de comandos [...]

  2. [Anterior: Couchbase Server a través de la línea de comandos Siguiente: Sync Gateway a través de la línea de comandos [...]

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.