Buscar
Social
Ofertas laborales ES
« Lanzamiento de la plataforma ARIES | Main | Sun anuncia su (re?) entrada en el negocio de cloud computing »
jueves
mar192009

Siena: persistencia en Java sencilla y escalable

Siena es un framework de persistencia Java inspirado en el datastore de Google App Engine, diseñado pensando en la sencillez y escalabilidad. Sin dependencias, y sólo ocupa 25Kb.

Desarrollado por Alberto Gimeno (gimenete), un viejo conocido de JavaHispano, siena es software libre, concretamente está liberado bajo licencia Apache. El código está disponible en http://code.google.com/p/siena/.

Principios de diseño

  • Sencillo. Siena no tiene dependencias, ocupa 25Kb y el API está diseñada para ser lo más sencilla posible.
  • Intrusivo. Para persistir objetos es necesario extender de una clase, de modo que el código depende de Siena. El motivo es que se ha utilizado el patrón ActiveRecrod, para hacer el API lo más sencilla posible. Otros frameworks de persistencia optan por hacer que las clases persistentes no tengan ninguna dependencia en el framework, pero en la práctica es absolutamente infrecuente que una aplicación cambie de motor de persistencia.
  • Limitado. El API se ha diseñado para que todas las consultas puedan ser ejecutadas usando sólo un índice. Todas las consultas se realizan sólo sobre una tabla, no se pueden hacer subconsultas ni JOINs y no se puede utilizar OR en una cláusula WHERE. De este modo se consigue que todas las consultas puedan ser realizadas utilizando sólo un índice y así sean lo más rápidas posible. Esta estrategia es la que viene siendo utilizada por las aplicaciones que necesitan ser altamente escalables. Las bases de datos "en la nube" Big Table de Google, SimpleDB de Amazon, utilizan esta aproximación.
  • Extensible. La implementación actual utiliza JDBC y ha sido probada en MySQL. No obstante la funcionalidad principal de Siena se basa en dos interfaces que pueden ser implementadas utilizando otros mecanismos de persistencia. En este artículo me centraré en la implementación actual que transforma las consultas a SQL.
Si quieres más información sobre Siena te reocmiendo la lectura del artículo Siena: persistencia en Java sencilla y escalable

 

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.
Comentarios deshabilitados
Comentarios deshabilitados en esta noticia.