sábado, 20 de marzo de 2010

HSQLDB, HyperSQL 2.0


 

HSQLDB (HyperSQL base de datos) es el principal motor de base de datos relacional SQL escrito en Java. Dispone de un controlador JDBC y apoya ANSI casi completa de SQL-92(formato de árbol BNF), además de muchos de SQL: 2008 las mejoras. Ofrece un pequeño motor de base de datos rápido que ofrece en memoria y un disco basado en tablas y tiene soporte incorporado y los modos de servidor. Además, incluye herramientas como una herramienta de línea de comandos SQL y herramientas de consulta GUI.


 

El producto está siendo utilizado como una base de datos y motor de persistencia en muchos proyectos Open Source Software y en proyectos comerciales y productos. En su versión actual es muy estable y fiable. Es mejor conocida por su pequeño tamaño, la capacidad de ejecutar completamente en la memoria, su flexibilidad y velocidad.


 

Versión 2.0 es compatible con la más amplia gama de características estándar SQL visto en ningún otro motor de fuente abierta de bases de datos. Hemos llegado a la conformidad con SQL estándar SQL casi lleno-1992 de nivel avanzado y SQL: 2008 las características de lenguaje básico más una extensa lista de SQL: 2008 y las características opcionales muchas extensiones. El motor es totalmente compatible con múltiples subprocesos y 2PL y modelos de control MVCC transacción.


 

Es totalmente gratuito para uso y distribución con licencia BSD estándar. Completamente libre de costo o restricciones y totalmente compatible con todas las principales licencias de código abierto. Código fuente de Java y una extensa documentación incluida.


 

Yo uso esta base para correr test que interactúan con base de datos. Si usamos maven agregamos la siguiente dependencia en el pom:

<dependency>

<groupId>hsqldb</groupId>

<artifactId>hsqldb</artifactId>

<version>1.8.0.10</version>

</dependency>

Y la configuramos con spring el dataSource:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">

<property name="driverClassName" value="org.hsqldb.jdbcDriver" />

<property name="url" value="jdbc:hsqldb:mem:testDB" />

<property name="username" value="sa"/>

<property name="password" value=""/>


 

<property name="defaultAutoCommit">

<value>false</value>

</property>


 

<property name="poolPreparedStatements">

<value>true</value>

</property>


 

<property name="initialSize">

<value>1</value>

</property>


 

<property name="maxActive">

<value>90</value>

</property>


 

<property name="maxIdle">

<value>50</value>

</property>

</bean>


 

Y listo!!

5 comentarios:

  1. disculpa que te escriba aqui pero ando loco

    estoy aprendiendo java y ahora mismo estoy tratando de comunicar con una base de datos.

    estoy buscando un sistema de bases de datos que pueda incluir en la aplicacion y pueda modificar desde varios clientes en la red local

    cuando dices que tiene modo servidor es a eso a lo que haces referencia?

    ResponderBorrar
  2. Normalmente, uso esta base para correr los test en memoria, es lo que te recomiendo. No la he probado como base de datos "normal" es decir modo servidor. Pero por lo que se pinta lindo; no la descartaría sin hacer unas pruebas.
    Si la comienzas a usar puedes comentar como te fue.

    Saludos.

    ResponderBorrar
  3. Saludos amigo,me plantean la implantacion de un sistema en mi compañia el cual utilizara HyperSQL GPRS.. dos preguntas: HyperSQL es una base de datos, si es asi, el sistema debe comtemplar un manejador para ella, nombreme cuales podrian ser? y, este ultimo tendria costo, pero la base de datos no porque segun veo en su articulo es gratuito, es asi?.. Gracias

    ResponderBorrar
  4. HyperSQL lo uso como base de datos en memoria para correr los test nunca necesite utilizar esta base de datos, como base de datos por lo que no conozco su performance. Es gratuita y open source. Existen manejadores, libres y gratuitos que permiten conectarse a cualquier base de datos atravez del jdbc. Ejemplos de estos son:
    http://jdbcmanager.sourceforge.net/
    http://www.wsoftware.de/SpeedJDB/
    http://www.findbestopensource.com/product/isqlviewer

    Saludos!

    ResponderBorrar
  5. Te dejo otro link:
    http://java-source.net/open-source/sql-clients

    ResponderBorrar