¿Qué es Quasar-analytics?

Quasar-analytics es un motor de consultas que permite ejecutar consultas analíticas en bases de datos NoSQL (MongoDB, Couchbase, HDFS a través de Apache Spark, Marklogic) de forma nativa, utilizando lenguaje de alto nivel SQL:

Quasar-analytics surge en el ámbito analítico y de Business Intelligence, por la necesidad de analizar información de bases de datos NoSQL recuperando dicha información mediante lenguaje SQL estándar:

De hecho Quasar-analytics es el motor de consultas de SlamData. Una herramienta BI Open Source para facilitar la explotación y comprensión de los datos por parte de personal no técnico.

image0071

 

image0081

El lenguaje SQL utilizado por Quasar-analytics se denomina SQL2. Se trata de un subconjunto del estándar ANSI SQL, con soporte para la mayoría de las sentencias SELECT, incluyendo clausulas AS, WHERE, JOIN, GROUP BY, HAVING, LIMIT, OFFSET, CROSS… funciones de agregado y operaciones.

Quasar-analytics no traduce la sentencia SQL a la equivalente en el lenguaje nativo en la BD subyacente, sino que realiza un acceso nativo a los datos. Esto permite por ejemplo realizar JOINs sobre colecciones MongoDB, utilizando versiones previas a la versión 3.2 que da soporte a JOINs.

Asimismo, el resultado de las consultas ejecutadas en quásar-analytics se puede recuperar tanto en formato tabular clásico, como en JSON.

La documentación completa del lenguaje SQL2 se puede encontrar en el http://quasar-analytics.org/docs/sqlreference/

A continuación mostramos algunos ejemplos de sentencias en Quasar sobre una base de datos MongoDB, con documentos JSON con la siguiente estructura:

· SELECT simple:

· SELECT utilizando un operador sobre el resultado de otra SELECT:

· SELECT agrupando por un atributo:

· SELECT con operaciones sobre fechas, ordenado por un atributo:

image019

 

image020

 

· SELECT con JOIN sobre dos colecciones de MongoDB:

Quasar-analytics se distribuye libremente bajo licencia Apache 2.0. Su código fuente así como las diferentes releases se encuentran disponibles en Github: https://github.com/quasar-analytics/quasar

Existen diferentes formas para utilizar Quasar-analytics:

Proporciona distintas formas de ejecutar sentencias(HTTP GET y HTTP POST), mecanismos de paginación, modificación (HTTP PUT) e inserción(HTTP POST) de nueva información, borrado de información (HTTP DELETE) existente e incluso de mover (HTTP MOVE) información a un path (Base de datos en MongoDB) diferente en el mismo backend.

El API REST permite recuperar la información de la BD tanto en formato JSON como Tabular (CSV). Para elegir entre una respuesta u otra, el cliente utiliza cabeceras HTTP (https://github.com/quasar-analytics/quasar#data-formats):

{«Accept»: «application/json»}

{«Accept»: «text/csv»}

Resolviendo el problema del carácter separador en formato CSV, con las extensiones de media-type: columnDelimiter, rowDelimiter, quoteChar y escapeChar (https://github.com/quasar-analytics/quasar#csv)

Por ejemplo:

Consulta con respuesta en formato CSV:

 

image023

 

image024

Misma sentencia con respuesta en formato JSON:

image025

 

image026

5 comentarios

  1. […] En los últimos años, el crecimiento en el uso de bases de datos NoSQL en entornos empresariales y la necesidad de explotar la información mediante herramientas analíticas, ha propiciado que surjan herramientas para consultar dicha información de una forma estandar. Una de las mas potentes es Quasar-Analytics que proporciona un lenguaje de consulta SQL estandar sobre diferentes motores NoSQL, entre ellos MongoDB. (Que es quasar-analytics). […]

Deja un comentario