Hoy nos complace lanzar la primera beta de la versión 1.0.0 (etiquetada como 0.9.0) de nuestro SDK Go oficial. Esta versión incluye soporte para las características del servidor Couchbase 4.0 como N1QL y Multidimensional Scaling (MDS), implementa una nueva API de operaciones masivas e incluye un número significativo de correcciones de errores.
N1QL
A partir de la versión 1.0.0-beta, el SDK Go ahora soporta la realización de consultas N1QL contra su clúster. Esto es tan simple como instanciar una N1qlQuery usando tu cadena de consulta, especificando cualquier opción adicional y ejecutándola.
Operaciones a granel
Las operaciones masivas le permiten realizar numerosas operaciones a la vez utilizando la API sincrónica gocb. Se trata de una potente API que permite obtener o almacenar de forma asíncrona miles de documentos a la vez en lugar de realizar las operaciones en serie.
Escala multidimensional (MDS)
El escalado multidimensional es una nueva característica de Couchbase Server 4 que te permite escalar tu cluster tanto hacia fuera como hacia arriba.
Antes de la versión 4.0, los servicios se escalaban de forma homogénea en todo el servidor; ahora puedes especificar que determinados nodos sean, por ejemplo, un nodo de consulta o un nodo de datos o un índice (o ambos o los tres, muchas opciones) y, a continuación, en los nodos en los que se necesita más CPU, esos nodos se pueden escalar con hardware más potente. Por otro lado, si quieres escalar tus nodos de datos con hardware más barato, también puedes hacerlo fácilmente. Es una gran característica para optimizar tu cluster para cargas de trabajo específicas.
Para que las aplicaciones puedan aprovecharlo, el cliente debe saber qué nodos están designados para realizar consultas (N1QL) y qué nodos son responsables de los servicios, como el CRUD clave/valor (nodos de datos). En esta versión proporcionamos soporte para MDS dividiendo los nodos en colecciones específicas dedicadas a una tarea concreta (datos, índice, consulta, etc.). Desde una perspectiva externa, no hay ninguna diferencia, sin embargo internamente sólo los clientes que son "servicio" consciente trabajará con un clúster 4.0. Por compatibilidad con versiones anteriores, sin embargo, esta (y futuras versiones) del SDK seguirá funcionando con Couchbase Server 3.0 y 2.5.
Conseguir la liberación
La instalación de esta versión es idéntica a la de versiones anteriores, y es similar a la instalación de muchos otros módulos Go. Utilice ir a buscar
instalar y ¡listo!
1 |
$ ir consiga gopkg.en/couchbaselabs/gocb.v0 |
Además, la documentación está disponible aquí:
http://developer.couchbase.com/documentation/server/4.0/sdks/go-beta/introduction.html
Y la referencia API aquí:
http://godoc.org/github.com/couchbaselabs/gocb/
Un agradecimiento especial a Jeff Morris por la explicación del MDS.