Análisis de Couchbase
Couchbase Data Platform ahora soporta cargas de trabajo híbridas de procesamiento transaccional/analítico (HTAP). Además, nuestro motor de consultas de procesamiento paralelo masivo (MPP) permite a los usuarios ejecutar consultas analíticas ad hoc que ofrecen información más rápida sin afectar al rendimiento.
Couchbase Analytics reduce el tiempo necesario para obtener información sobre los datos operativos gracias a estas funciones clave:
Ingesta rápida: Disponga de los datos para su procesamiento analítico en milisegundos
NoETL para NoSQL: Procese datos JSON en su forma natural sin ninguna transformación ni diseño de esquemas
Aislamiento de la carga de trabajo: Ejecute consultas ad hoc sin afectar al rendimiento de la aplicación
Consultas ad hoc: Los usuarios empresariales pueden explorar los datos y realizar uniones y agregaciones complejas.
N1QL para análisis: Es la primera implementación comercial del lenguaje SQL++ para consultar datos JSON semiestructurados y sin esquema.
Muchas de las herramientas de visualización más populares no soportan de forma nativa la integración JSON, pero sí la conectividad a través de tecnologías estándar como JDBC, ODBC o ADO.NET. Con los drivers de CData, cualquier herramienta de BI que soporte conectividad basada en SQL (como Tableau, Power BI, MicroStrategy, Excel, etc.) podrá visualizar los datos almacenados en Couchbase Analytics.
Como ejemplo, adjunto una captura de pantalla de una visualización en Tableau de datos procedentes de Couchbase Analytics.
Controladores CData para Couchbase
Los drivers CData para Couchbase proporcionan una interfaz SQL para fuentes de datos NoSQL, como Couchbase Analytics. Mediante innovadoras técnicas de aplanamiento y un potente motor SQL integrado, los controladores CData traducen sin problemas las consultas SQL a SQL++, aprovechando las capacidades del lado del servidor de Couchbase Analytics para proporcionar datos en tiempo real para BI y análisis. Esto es especialmente crítico para las herramientas que generan consultas SQL internamente para solicitar datos de las fuentes de datos conectadas. Por ejemplo, dado un documento de muestra de "coches", se puede esperar que Tableau genere una consulta SQL. Esa consulta SQL será traducida a SQL++ por el controlador CData.
Modelo de documento sobre vehículos
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
{ "coches":{ "EngineTemp":214, "TPMS":"ON", "TirePressure":[ 33, 36, 34, 34 ], "Indicadores":{ "Limpiaparabrisas":"OFF", "Faro":"ON", "PedalFreno":"OFF", "Ignición":"OFF" }, "ABS":"OFF", "Localización":{ "lat":34.25320048276987, "largo":-117.33252478191595 }, "Combustible":88, "TransmissionGear":2, "PosiciónPedalAcelerador":15, "VIN":"RU2S4T1TR1TR30UR", "Tipo de modelo":"SUV mediano", "OutsideTemp":150, "Velocidad":25, "EngineOil":36 } } |
Ejemplo de consulta SQL
1 |
SELECCIONE Tipo de modelo, CONTAR(*) AS Total DESDE coches GRUPO POR Tipo de modelo; |
El controlador traduce la consulta SQL a SQL++.
Ejemplo de consulta SQL
1 |
SELECCIONE `coches`.`Tipo de modelo`, CONTAR(*) AS `total` DESDE `coches` GRUPO POR `coches`.`Tipo de modelo`; |
Aunque las diferencias entre las consultas SQL y SQL++ pueden parecer pequeñas, son exageradas cuando se trabaja con herramientas que generan consultas SQL basadas en una interfaz gráfica de usuario (como Tableau). Dado que el usuario no tiene control sobre la consulta generada, estas diferencias significan que una traducción de SQL a SQL++ no sólo es crítica, sino necesaria para realizar BI, análisis e informes en herramientas basadas en SQL. Dado que los controladores CData traducen a SQL++ puro, pueden aprovechar las potentes capacidades de procesamiento del lado del servidor del servicio Analytics.
Interfaz de SQL a SQL
¿Cómo crean los controladores CData la interfaz SQL para los datos JSON? Para explicarlo, nos referiremos al documento de ejemplo anterior.
Aplanamiento de objetos
Los controladores CData aplanan los objetos utilizando una notación de puntos para representar la estructura jerárquica original. Por ejemplo, para acceder al Limpiaparabrisas del objeto Indicador, se referiría a la columna coches.Indicador.Limpiaparabrisas. Muchas herramientas no permiten puntos en los nombres de columna, así que cuando sea necesario, los controladores CData crearán definiciones de esquema temporales en memoria para permitir la conectividad desde dichas herramientas. A continuación verá un ejemplo de consulta SQL, la consulta SQL++ correspondiente, y los resultados de la consulta.
1 2 |
SQL: SELECCIONE Indicadores_Limpiaparabrisas DESDE coches; SQL++: SELECCIONE `coches`.`Indicadores`.`Limpiaparabrisas` DESDE `coches`; |
Aplanamiento de matrices
Los drivers de CData aplanan los arrays dentro de los documentos JSON usando indexación basada en 0, similar a lo que se ve en otros lenguajes de programación. Por ejemplo, para acceder a las entradas 1ª y 2ª de la matriz TirePressure, se haría referencia a las columnas coches.TirePressure.0 y coches.presionneumaticos.1. A continuación verás un ejemplo de consulta SQL, la consulta SQL++ correspondiente y los resultados de la consulta.
1 2 |
SQL: SELECCIONE Presión_0, Presión_1 DESDE coches; SQL++: SELECCIONE `coches`.`Presión de los neumáticos`[0], `coches`.`Presión de los neumáticos`[1] DESDE `coches`; |
A medida que el servicio Analytics y las interfaces SQL++ crezcan y evolucionen, también lo harán los controladores CData, implementando nuevas funciones de consulta a medida que se añadan y continuando el aprovechamiento de las potentes capacidades de procesamiento de datos del servicio Analytics para permitir a los usuarios de Couchbase trabajar, visualizar e informar sobre sus datos de forma rápida y sencilla.
Pruebe Couchbase 6.0 y CData hoy mismo
Descargar la nueva versión de Couchbase y los últimos controladores CData para empezar a trabajar con datos de Couchbase en las herramientas y aplicaciones compatibles con SQL que ya utiliza. Esperamos sus comentarios sobre el Foros de Couchbase.
Agradecimientos
Esta entrada de blog es una colaboración entre Couchbase y CData. Muchas gracias a Jerod JohnsonEvangelista tecnológico de CData Software, por su contribución a esta entrada del blog.