Un poco de Calcite

(Gracias a Pedro hoy tenemos este post 😉 )

Apache Calcite es en esencia un meta-driver JDBC, o dicho de otra forma, un driver JDBC que se puede conectar sobre un buen número de datastores (tanto relacionales como no) ofreciendo un interfaz JDBC.

Por ejemplo para esta conexión con MySQL:

Puedo crear una conexión con el driver JDBC de Calcite:

De modo que el cliente usará este driver.

Otra funcionalidad interesante es el gran número de adapters que ofrece Calcite, que permite conectarnos con estos stores, consultarlos en SQL y tratarlos como si fueran tablas:

Dentro de Calcite un proyecto muy interesante es Calcite Avatica que se puede definir como un framework para construir drivers JDBC.

Avatica está compuesto por 2 piezas:

  • El Server Avatica que es un servidor HTTP
  • El Cliente Avatica que es un driver JDBC que permite conectar con los adapters Calcite
  • Protocolo Cliente-Servidor JSON sobre RPC

Su Arquitectura es esta:

Para usar Avatica lo más fácil es decargarse su imagen Docker (https://calcite.apache.org/avatica/docs/docker.html) y lanzarlo con una conexión con una BD JDBC:

$ docker run –rm -p 8765:8765

-v /home/user/my-database-jars/:/my-database-jars –entrypoint="" -it avatica-server

/usr/bin/java -cp "/home/avatica/classpath/*:/my-database-jars/*"

org.apache.calcite.avatica.standalone.StandaloneServer -p 8765

-u "jdbc:my_jdbc_url"

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s