Nota: Este post ha sido actualizado para reflejar la versión de producción del Lenguaje de Definición de Datos de Couchbase Analytics.
No hace mucho escribí sobre el uso del nuevo servicio Analytics de Couchbase, a veces conocido como CBAS, dentro de una aplicación Node.js. En este ejemplo habíamos configurado un conjunto de datos de Analytics basado en un Bucket de ejemplo y emitido una consulta desde nuestro código.
Aunque Node.js es una de mis tecnologías de desarrollo favoritas, no es la única que admite Couchbase. Java sigue siendo un gran lenguaje, así que vamos a ver cómo trabajar con Couchbase Analytics en nuestra aplicación.
Couchbase Analytics está disponible a partir del Lanzamiento de Couchbase Server 5.5.
Preparación de un conjunto de datos para consultas de Couchbase Analytics
Antes de empezar a consultar nuestros datos con SQL++ y Analytics, tenemos que configurar nuestro conjunto de datos. Para este ejemplo, lo más sencillo sería utilizar la función viaje-muestra Bucket que está disponible con Couchbase Server. Una vez activado este bucket, podemos preparar conjuntos de datos sombra contra este bucket con comandos sencillos desde la consola de consultas de Analytics:
1 2 |
crear conjunto de datos líneas aéreas en `viaje-muestra` donde `tipo` = "aerolínea"; crear conjunto de datos aeropuertos en `viaje-muestra` donde `tipo` = "aeropuerto"; |
Los dos conjuntos de datos sombra son muy simples en comparación con lo que podrían ser. Se podría escribir una consulta compleja para acotar los datos que contendrá cada conjunto de datos, por lo que los ejemplos anteriores son amplios. Básicamente estamos diciendo: danos un conjunto de datos para todos los aeropuertos y un conjunto de datos para todas las aerolíneas.
Aunque hayamos creado los conjuntos de datos, es necesario inicializarlos. Inicializar el Bucket se puede hacer con el siguiente comando:
1 |
conecte enlace Local; |
Una vez inicializado el cubo de análisis, el servicio de análisis empezará a copiar documentos y a supervisar si se han producido cambios.
Puedes validar que todo ha ido bien ejecutando lo siguiente:
1 2 |
seleccionar * de líneas aéreas límite 10; |
De nuevo, la consulta anterior es bastante simple en comparación con lo que podríamos haber creado. Lo bueno del servicio Analytics es que tus consultas pueden ser bastante más complejas sin preocuparte en absoluto de crear índices eficientes. Todo esto se hace por usted.
Desarrollo de una aplicación con Java para consultas SQL
Con algunos conjuntos de datos de Analytics listos, podemos empezar a escribir nuestro código Java. Yo personalmente uso Gradle cuando se trata de Java. Si tú también lo usas, puedes crear un nuevo proyecto ejecutando lo siguiente desde la línea de comandos:
1 |
gradle init --tipo java-aplicación |
El comando anterior creará una nueva aplicación Java. A continuación instalaremos el SDK Java de Couchbase. Abre el proyecto build.gradle y que tenga el siguiente aspecto:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
plugins { id java id aplicación } mainClassName = Aplicación dependencias { compilar com.google.guava:guava:23.0 compilar grupo: com.couchbase.client, nombre: java-cliente, versión:'2.5.6' testCompile 'junit:junit:4.12' } repositorios { maven { url "http://files.couchbase.com/maven2" } mavenCentral() jcenter() } |
Observa que hemos incluido la librería cliente así como un repositorio Maven. Podemos probar que nuestro proyecto se ejecuta sin errores ejecutando el siguiente comando Gradle:
1 |
gradle ejecute |
Suponiendo que todo va bien hasta ahora, vamos a poner algo de código en marcha. Abra el proyecto src/main/java/App.java e incluya lo siguiente. Lo desglosaremos después.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
importar com.couchbase.cliente.java.*; importar com.couchbase.cliente.java.análisis.AnalyticsQuery; importar com.couchbase.cliente.java.análisis.AnalyticsQueryResult; importar com.couchbase.cliente.java.análisis.AnalyticsQueryRow; público clase Aplicación { público estático void principal(Cadena[] args) { CouchbaseCluster grupo = CouchbaseCluster.crear("couchbase://localhost"); grupo.autentifique("demo", "123456"); Cubo cubo = grupo.openBucket("viaje-muestra"); AnalyticsQueryResult resultado = cubo.consulta(AnalyticsQuery.simple("SELECT * FROM aeropuertos")); para(AnalyticsQueryRow fila : resultado) { Sistema.fuera.println(fila.toString()); } } } |
En el código anterior primero estamos estableciendo una conexión con nuestro cluster. Asumiendo que una cuenta fue creada, nos estamos autenticando con nuestro cluster usando la cuenta RBAC que tenemos en nuestro Couchbase Administrative Dashboard.
Aunque no estamos usando un Bucket estándar de Couchbase para este ejemplo, tenemos que abrirlo para inicializar los recursos de la aplicación para lo que sigue. Usando el Bucket abierto, podemos ejecutar un AnalyticsQuery
que contiene SQL++. Los resultados de dicha consulta se imprimen en los registros de la consola.
Aunque éste era un ejemplo sencillo, añadir complejidad no cambiará nada de lo que hemos discutido.
Conclusión
Acabas de ver cómo usar el servicio Couchbase Analytics con el Java SDK. Para reiterar, Analytics es una manera poderosa de consultar cantidades masivas de datos usando consultas potencialmente complejas sin tener que preocuparse por la indexación, todo mientras se obtienen resultados extremadamente rápidos.
Para obtener más información sobre el desarrollo con Java, consulte la página Portal para desarrolladores de Couchbase. Más información sobre las demás novedades disponibles en el Lanzamiento de Couchbase Server 5.5.