Skip to content

Uso de Google BigTable (Parte 1)

by Cristian Requena on mayo 25th, 2010

Google BigTable es la base de datos que sustenta el almacén de datos de Google, que a su vez es una característica que Google pone al alcance de los desarrolladores de forma pseudo-gratuita para que éstos publiquen aplicaciones con acceso a bases de datos no relacionales,aunque esto último es algo realmente transparente.

Para empezar el desarrollo de una aplicación, es primordial hacerse con el entorno de programación adecuado, que en este caso se compone por Eclipse y un plugin de Google Web Toolkit. Tras la instalación de estos componentes, se podrá desarrollar, probar y publicar las aplicaciones web directamente desde la interfaz de Eclipse. Acerca de este aspecto, Google pone a disposición de los desarrolladores multitud de documentación de forma abierta.

Ejemplo de acceso a BigTable: Descargar Google BigTable Demo 1.

Nota: para probar/modificar este ejemplo es necesario, obviamente, disponer de una cuenta en el appengine de Google, si bien es usable directamente en Eclipse.

El paquete com.nosql.es contiene la definición de las clases a persistir, y las tareas de acceso a datos se llevan a cabo desde la clase NoSQLTestImpl del paquete com.nosql.es.server.

El plugin de Google Web Toolkit realiza todas las tareas de definición de datos de forma transparente al desarrollador, ya que integra la implementación JDO de Datanucleous para realizar todas las tareas de gestión de datos. Esto se traduce en que para poder persistir información contra el almacén de datos de Google se deben realizar las siguientes tareas:

  • Se “puede” marcar la clase a persistir mediante la Annotation @PersistenceCapable(identityType = IdentityType.APPLICATION). Entrecomillo el “puede” porque hay otros valores de IdentityType que tienen otros comportamientos.
  • Los atributos a persistir se deben marcar con la Annotation @Persistent.
  • El atributo que realice la función de clave primaria se debe marcar con @PrimaryKey

Una vez que el motor de DataNucleous nos serialice (de forma transparente) la clase ya se podrán efectuar las operaciones de grabación y/o lectura de instancias de la misma contra la base de datos, es decir, contra el almacén de datos de Google (léase BigTable). Estas operaciones se basan, como se puede observar en el código, en obtener una instancia de persistencia (PersistenceManager) para ejecutar las operaciones makePersistent o get[…].

En próximos ejemplos se profundizará más acerca del lenguaje de consulta del almacén de datos de google, GQL.

No comments yet

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS