Cargando



Trabajando con el SDK de Couchbase

En este tutorial vamos a estar trabajando con el SDK que nos ofrece Couchbase, de forma que podamos aprender cómo implementarla en nuestro lenguaje preferido.


may 05 2015 01:19
Profesional
may 05 2015 01:22
Un SDK o Software Development Kit es un grupo de herramientas que nos permiten tener una cantidad de elementos que nos faciliten la vida para desarrollar aplicaciones bajo una plataforma definida, por ejemplo si queremos hacer una aplicación en Android tenemos un SDK que nos incluye un IDE, varios emuladores de dispositivos, así como las clases y proyectos base que necesitaremos.

En el caso de herramientas como Couchbase también tenemos SDKs que nos facilitan la vida, a diferencia de otros, este SDK está divido en varias partes según el lenguaje que deseemos, así de esta forma cada desarrollador puede elegir lo que le interese de manera modular.

Las herramientas que debe incluir son varias pero quizás lo que más nos interesa son los módulos y clases que nos permiten hacer tanto las conexiones como métodos que nos dan la oportunidad de interactuar con nuestras estructuras de datos en Couchbase.

Comportamiento del SDK


Lo primero que debemos entender es cómo se comporta en líneas generales el SDK de Couchbase, esto nos permitirá ver las ventajas que nos ofrece y cómo podemos sacar el máximo provecho de la tecnología que pone a nuestra disposición.

¿Cómo funciona?
Al momento que inicializamos un cliente con el API se crea una conexión persistente al cluster de Couchbase, de esta forma cuando hay un cambio sobre el mismo, es decir, se elimina o se añade un nodo y se emite un mensaje en formato JSON que es recibido por nuestro cliente. Este enfoque hace que Couchbase difiera de la mayoría de motores de Bases de Datos relacionales y no relacionales que existen en el mercado, ya que evita el uso de un punto central donde concentrar las comunicaciones.

Por ende, este funcionamiento evita la formación de un cuello de botella al momento en el cual existe una gran carga de consultas entre los diferentes clientes que hayamos instanciado en nuestras aplicaciones. Esto hace que por ejemplo una estructura cluster de Couchbase de 4 nodos pueda atender hasta 1 millón de consultas u operaciones por segundo, algo muy impresionante si tomamos en cuenta que este número solo ocurre en aplicaciones de uso intermedio.

vBucket
Adicionalmente, la conexión entre cliente y cluster no es directa, si no que se utiliza una estructura llamada vBucket, el cual es un repositorio virtual de información que permite realizar las operaciones y este luego las traslada al cluster sin necesidad de la intervención del desarrollador. Así no importa cuántos nodos existan siempre existirá el mismo número de vBuckets reduciendo en gran parte la complejidad del desarrollo de nuestras aplicaciones.

Operaciones básicas


Cuando nos enfrentamos a un motor como Couchbase lo primero que pensamos como desarrolladores es en cómo hacer un CRUD, si recordamos estas siglas corresponden a las cuatro acciones esenciales de cualquier aplicación: Crear, Leer, Actualizar y Borrar. Lo que nos permite tener control absoluto de un registro, documento o sistema de llave-valor en Couchbase.

Estas operaciones se logran gracias al API que nos ofrece el motor, pero para poder acceder a él necesitamos la inclusión e instalación de un SDK en un lenguaje soportado y de nuestra preferencia, ya que con esto es que podremos crear las diferentes instancias de clientes que nos permitan comunicarnos con los clusters.

Si bien Couchbase ofrece una herramienta de comunicación a través de la consola, esta no es compatible con los lenguajes de programación, antes que pensemos en que no es necesario un SDK si tenemos esa interfaz.

¿Dónde obtener el SDK deseado?


Para obtener el SDK del lenguaje que deseemos, simplemente debemos ir a la página oficial de Couchbase en su apartado open-source en el siguiente enlace. Aquí se nos ofrece la información necesaria además de listar cada SDK.

Cada uno tiene un apartado de descarga y documentación que nos dará la idea inicial de cómo podemos empezar a trabajar con cada uno de ellos, como son varios podemos ir directamente al que nos interese. Veamos como luce el listado en la siguiente imagen:


Lenguajes soportados


Sabemos que en el mundo tecnológico existen una gran cantidad de lenguajes de programación por lo que nadie puede aspirar a soportarlos todos, sin embargo Couchbase ofrece una lista bastante amplia de soporte, veamos que podemos utilizar:
  • Java
  • .Net
  • Node.js
  • PHP
  • Python
  • Ruby
  • C/C++
También hay cabida para plataformas móviles como las que listamos a continuación.
  • iOS
  • Android
  • .NET
  • PhoneGap
  • Sync Gateway
Esto hace que Couchbase cuenta con una de las bases de soportes más amplias de tecnologías modernas, facilitando también la vida del desarrollador, ya que podemos emplear por ejemplo el SDK de Python y el de iOS para así construir aplicaciones para dos plataformas de así desearlo.

Ejemplo de instalación del SDK en Python


Vamos a mostrar un pequeño ejemplo de cómo hacer la instalación del SDK en Python, este lenguaje es uno de los más populares por lo que nos sirve como ejemplo central para esta demostración, pero antes debemos cumplir con estos dos requisitos:

1- Debemos tener instalado un servidor de Couchbase, para ello podemos referirnos al tutorial de primeros pasos para poder lograr este objetivo.

2- Debemos tener instalado en nuestro sistema Python 2.6 o superior, en nuestro caso tenemos Python 2.7 como vemos en la imagen:

couchbase-sdk-2.jpg


Ahora que ya tenemos los requisitos, utilizamos el manejador de paquetes de Python, pip para hacer la instalación, para ello en nuestra consola escribimos lo siguiente:
pip install couchbase
Al ejecutar el comando debemos obtener la siguiente salida por consola:

couchbase-sdk-3.jpg


Al final si no hay mensajes de errores quiere decir que nuestra instalación fue correcta, es caso que aparezca algún error debemos referirnos a la documentación de nuestro SDK de manera de poder solventar el problema.

Operaciones CRUD
Una vez demostrado el proceso de instalación de uno de los SDK disponibles, es hora de ver cómo realizar las 4 acciones base que habíamos mencionado anteriormente, para estos ejemplos utilizaremos varios lenguajes por lo que se recomienda simplemente adaptar a la sintaxis adecuada del que estamos utilizando. El objetivo es ver como Couchbase nos hace mucho más sencillo el desarrollo de nuestras aplicaciones independientemente del lenguaje utilizado.

Conectarnos a un servidor


Lo primero que debemos hacer es conectarnos a un servidor, para ello podemos utilizar el método connection de Python o simplemente si estamos utilizando C# en la instanciación podemos definir donde conectarnos como vemos en la siguiente imagen:

couchbase-sdk-4.jpg


Como vemos aunque difieran un poco las formas, en el fondo es el mismo código, ya que utilizamos el constructor de la clase para definir el servidor y el host en el caso de Python, en C# creamos un objeto con el host y luego definimos el bucket en otro objeto.

Crear y editar


Luego de haber visto la operación de conexión veamos aquellas operaciones que son la clave para insertar datos en nuestra estructura o modificar los existentes, para ello utilizaremos en el caso de Python el método add() y el método replace(), el primero crea un nuevo registro y el segundo actualiza un registro existente. Veamos en la siguiente imagen como se vería el código fuente para estas operaciones:

couchbase-sdk-5.jpg


Cómo vemos simplemente pasamos una llave en este caso mensaje y luego el valor que va a almacenar, tan simple como efectivo.

Consultar y Borrar


Si queremos leer una llave, por ejemplo mensaje que es la que hemos añadido en el ejemplo anterior podemos utilizar el método GET, esto nos retornará el objeto que contiene el registro deseado, en caso de no existir según el lenguaje obtendremos un valor vacío o un wrapper para que podamos manejar esa excepción.

En el caso de borrado de una llave o un registro, únicamente debemos llamar al método remove() indicando la llave que deseamos sacar de nuestra estructura, de una forma limpia y efectiva podemos cumplir esta misión. Veamos a continuación en la siguiente imagen como hacer estas dos operaciones desde el punto de vista de C#:

couchbase-sdk-6.jpg


Si nos fijamos hemos utilizado un objeto llamado bucket para hacer estas acciones, este objeto es el que definimos en el ejemplo de conexión y que selecciona el vBucket que posee nuestro nodo para almacenar nuestros registros.

Con esto hemos finalizado este tutorial, como vemos Couchbase no solo es uno de los motores de Base de Datos NoSQL más modernos y poderosos del mercado, sino que también es muy amigable para el desarrollador, factor que debemos en tomar en cuenta cuando vamos a utilizar este tipo de estructuras, ya que si existe soporte para el lenguaje en el cual vamos a trabajar seguro estaremos un paso adelante todo el tiempo.

¿Te ayudó este Tutorial?


1 Comentarios


David Sanz
may 05 2015 14:05

Genial tutorial. gracias.

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X