Ahora puedes analizar aún más datos de tu empresa con Couchbase Analytics - sin tener que mover o migrar un byte.
A partir de hoy, me complace anunciar la próxima compatibilidad con Microsoft Azure Blob Storage para colecciones de análisis externas (actualmente en Developer Preview). Esta noticia sigue a la compatibilidad con Colecciones de análisis externo para Amazon Web Services Simple Storage Service (AWS S3) en la versión 6.6 de Couchbase Server.
En resumen, este anuncio significa que más clientes de Couchbase pueden combinar datos de fuentes externas (por ejemplo, Azure Blob Storage y AWS S3) con datos locales (Análisis de Couchbase) así como datos remotos de Couchbase (es decir, Recogidas analíticas a distancia).
(Nota: Este tema se ha tratado de forma similar en Conjuntos de datos externos: Acceso a AWS S3 en Couchbase Analytics. Si ya ha utilizado Colecciones de análisis externas, entonces los conceptos tratados en este artículo le resultará familiar).
¿Por qué utilizar colecciones analíticas externas?
Algunos Couchbase Los clientes utilizan Azure Blob Storage para reducir los costes de almacenamiento de grandes volúmenes de datos (por ejemplo, varios años de datos históricos, datos empresariales offline para aprendizaje automático, revisiones de productos, etc.).
Estos clientes desean combinar, consultar y utilizar datos de Azure Blob Storage en tiempo real para usuarios empresariales y análisis de datos. (Descubra cómo otros clientes utilizan Couchbase Analytics en este artículo.)
Para mantener estos datos en un almacenamiento de bajo coste pero seguir utilizándolos para el análisis de datos, los clientes de Couchbase pueden utilizar Analytics Collections externas.
Cómo funcionan las colecciones de análisis externos
External Analytics Collections te permite consultar y analizar dinámicamente datos que residen en fuentes externas (como AWS S3 y Azure Blob Storage), permitiéndote combinar fácilmente datos en tiempo real desde dentro y fuera de tus nodos de Couchbase Analytics.
Todo lo que necesita para combinar sus conjuntos de datos internos y externos son tres sencillos pasos:
- Establecer un enlace externo utilizando un Llamada a la API REST o la interfaz de línea de comandos (CLI).
- Cree una Analytics Collection externa en el enlace externo.
- Consulte la colección Analytics con N1QL para análisis (o su herramienta BI favorita)
.
Veamos un ejemplo sencillo.
iMaz, una empresa de comercio electrónico, vende productos de consumo online. Sus datos de pedidos, productos y usuarios se almacenan en un clúster de Couchbase utilizando los servicios de datos y análisis (en conjuntos separados de nodos en el clúster). iMaz utiliza el servicio de análisis para ejecutar consultas ad hoc y complejas para analizar su negocio. Almacenan las reseñas de sus productos en Azure Blob Storage, y les gustaría combinar y analizar los tres productos más valorados utilizando el servicio Couchbase Analytics.
He aquí algunos ejemplos de datos de productos:
1 2 3 4 5 6 7 8 9 10 11 |
[ { "id": "Producto_1", "docType": "Producto, "productId": 1, "precio": 811.76, "precio de venta": 70.14, "nombredelproducto": "Bola de algodón ergonómica", "desc": "Bola de Algodón Ergonómica Metálica Fundida de Plástico" } ] |
Y aquí hay algunos datos de revisión de muestra:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
{ "id": "Review_0001764a17a844279a2227e137cc4e36", "docType": "Revisión", "reviewId": "0001764a17a844279a2227e137cc4e36", "productId": 1, "userId": 5862, "reviewerName": "M. Schaefer", "reviewerEmail": "...@mmail.com", "rating": 5, "título: "Funciona bien y cumple las expectativas"., "revisión": "El producto funciona de maravilla y compraré uno más para mi extensa familia"., "reviewDate": 1597273484 } |
Ahora vamos a caminar a través de cada uno de los tres pasos de arriba utilizando el código de configuración de ejemplo junto con un N1QL para la consulta Analytics.
Paso 1: Configurar los enlaces
En primer lugar, tendrá que crear un enlace Azure Blob Storage utilizando un archivo Llamada a la API REST. (También puede utilizar la CLI para crear enlaces Azure Blob Storage.)
Tendrás que proporcionar:
- Nombre de host de su servicio de análisis Couchbase
- Sus credenciales de usuario de Analytics
- El nombre del enlace Azure Blob Storage. En el siguiente ejemplo, usaremos:
myAzureLink
- El nombre del Ámbito (anteriormente conocido como dataverse). En el ejemplo siguiente, utilizaremos:
Por defecto
- Tipo de enlace (
AzureBlob
) - Credenciales (sólo se permite una de las siguientes):
- Cadena de conexión, o
- Nombre y clave de la cuenta, o
- Nombre de la cuenta y firma de acceso compartido
En conjunto, la creación del enlace Azure Blob Storage se parecerá a lo siguiente:
1 2 3 4 5 |
rizo -u : \ -X POST "http:///analytics/link/Default/myAzureLink" \ -d tipo=AzureBlob \ -d accountName=... \ -d accountKey=... |
Nota: También es posible crear enlaces Azure Blob Storage sin credenciales, que utilizarán entonces autenticación anónima. En este caso accountName
y accountKey
no son necesarios. Este enfoque puede utilizarse para acceder a datos públicos.
Paso 2: Crear una colección de análisis externos
Una vez creados los enlaces externos, puede crear una colección de análisis externa utilizando sentencias del lenguaje de definición de datos (DDL) que hagan referencia a los nombres de enlace creados anteriormente.
El ejemplo de código siguiente es la sentencia DDL para crear la colección Analytics en el enlace Azure Blob Storage creado anteriormente. (cb-analytics-7-0-0-demo
es el nombre del contenedor en Azure Blob Storage).
1 2 3 4 5 |
CREAR EXTERNO ANÁLISIS COLECCIÓN azureproductreviews EN `cb-análisis-7-0-0-demo` EN myAzureLink USO DE "reseñas" CON { "formato": "json", "incluir": "*.json" } ; |
Como se muestra arriba, la creación de la Colección de análisis externa es independiente del tipo de enlace después de crear los enlaces. Se pueden crear varias colecciones de análisis en el mismo enlace externo para que apunten a distintos contenedores de datos externos.
En la actualidad, la función de recopilación de datos analíticos externos es compatible con las funciones JSON
, CSV
(valores separados por comas), y TSV
(valores separados por tabuladores), incluidos los archivos comprimidos con gzip (nombres de archivo que terminan en .gz o .gzip). Tanto el formato CSV como el TSV requieren que especifiques una definición de tipo en línea (más sobre esto más adelante). Otros formatos de archivo serán soportados en futuras versiones de Couchbase Analytics.
Más información sobre definiciones de tipos en línea en la documentación de Couchbase.
Paso 3: Consulta mediante N1QL for Analytics
El último paso consiste en ejecutar la consulta N1QL que se muestra a continuación (que se parece sospechosamente a SQL, ¿no crees? :)).
1 2 3 4 5 6 |
SELECCIONE p.nombreDelProducto, AVG(s.valoración) AS `Clasificación` DESDE azureproductreviews s, productos p DONDE s.productId = p.productId GRUPO POR p.nombreDelProducto PEDIR POR AVG(s.valoración) DESC LÍMITE 3; |
Esta consulta N1QL anterior une la Colección de análisis de productos existente del Servicio de análisis de Couchbase con los datos de reseñas de productos de Azure Blob Storage para recuperar los 3 productos mejor valorados.
Aquí están los resultados de la consulta JSON de lo anterior:
1 2 3 4 5 |
[ { "Clasificación": 4.33, "nombredelproducto": "Licencia Atún de Goma"}, { "Clasificación": 4.29, "nombredelproducto": "Preciosa ensalada de plástico"}, { "Clasificación": 3.86, "nombredelproducto": "Bicicleta inteligente de algodón"} ] |
Ahora puedes combinar y analizar datos externos ubicados en Azure Blob Storage utilizando el servicio Couchbase Analytics. Fíjate en los pocos pasos que has necesitado para analizar tus datos: no ha habido ETL, y los datos han estado disponibles inmediatamente (¡!). Además, si tus datos cambian, verás esos cambios actualizados cada vez que vuelvas a ejecutar la consulta. Esto se debe a que se accede a los datos externos bajo demanda en el momento de la ejecución de la consulta.
Por supuesto, ¿y si el formato del archivo hubiera sido CSV en lugar de JSON?
La respuesta es sencilla: Sólo tiene que definir su colección de análisis externa en consecuencia. La siguiente sentencia N1QL de ejemplo ilustra cómo crear una colección de análisis externa compatible con CSV:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
CREAR EXTERNO ANÁLISIS COLECCIÓN azureproductreviews ( id CADENA NO DESCONOCIDO, docType CADENA NO DESCONOCIDO, reviewId CADENA NO DESCONOCIDO, productId BIGINT, userId BIGINT, revisorNombre CADENA NO DESCONOCIDO, revisorCorreo electrónico CADENA NO DESCONOCIDO, valoración BIGINT, título CADENA NO DESCONOCIDO, revise CADENA NO DESCONOCIDO, reviewDate BIGINT ) EN `cb-análisis-7-0-0-demo` EN myAzureLink USO DE "revisiones" CON { "formato": "csv", "incluir": "*.csv", "cabecera": falso }; |
Observe cómo el CREAR
ahora incluye información de tipo en línea. Esta información de tipo le dice a Couchbase Analytics cómo interpretar los datos CSV para transformarlos en datos JSON (por ejemplo, no sólo como cadenas).
Pero tanto si utiliza JSON o datos CSV, la consulta N1QL sigue siendo exactamente la misma.
Ventajas de las colecciones analíticas externas
Estas son algunas de las principales ventajas de utilizar colecciones de análisis externas:
- Enriquecimiento de datos: Los datos de Couchbase ahora se pueden enriquecer con información adicional obtenida de datos que residen en almacenes de datos externos como Microsoft Azure Blog Storage.
- Acceso dinámico a los datos: Sus datos más actuales se pueden recuperar, transmitir, combinar y analizar dinámicamente desde cualquier contenedor S3 o Azure Blob Storage (DP) en cualquier región. Los datos se recuperan durante la ejecución de consultas de Analytics.
- Procesamiento paralelo de consultas: Puede configurar y organizar el acceso a datos externos utilizando la arquitectura de procesamiento paralelo masivo (MPP) de Analytics para obtener una respuesta rápida a las consultas que implican datos externos.
Conclusión
Las colecciones de análisis externos liberan el valor de sus datos en tiempo real y archivados que residen en almacenes de datos externos. Además, son fáciles de configurar, flexibles y sencillas de utilizar gracias a la potencia del lenguaje de consulta N1QL.
Sus usuarios y analistas de datos ahora pueden combinar y analizar datos obtenidos en tiempo real de AWS S3, Azure Blob Storage y el servicio de análisis Couchbase. Con Analytics Collections externas, puede desarrollar consultas ad hoc complejas para la exploración interactiva de datos, responder a nuevas preguntas empresariales y... combinar datos externos de Remote Links para involucrar también a otras fuentes de datos Couchbase.
Conclusión: Sus equipos realizan análisis de datos más rápidos y completos para una toma de decisiones más ágil.
Para obtener más información sobre las colecciones de análisis externas con Couchbase 7.0, consulte los siguientes recursos:
Introducción a Couchbase 7.0