Example Project: Simple Integration of Datanucleus 2.0.0 + AmazonS3

Datanucleus is a pretty complete persistence platform that supports standards such as JDO and JPA as well as persistence platforms such as Google’s BigTable and classic relational databases.  Amazon S3 is a storage service provided by Amazon that you can interact with via external apis.

Luckily these two technologies can easily be put together to provide a cost-effective database solution for your applications.  I have created a simple project that shows the following:

  • JPA annotation configuration for a simple model.
  • Configuring Amazon S3 as the JPA datastore (provided you have an account)
  • Persisting and querying for model objects through a unit test.

This project is built on Maven2 so the following commands will help:

  • mvn eclipse:eclipse
    • properly configure build dependencies/targets for eclipse (.project/.classpath).
  • mvn test
    • compile the classes, bytecode enhance the generated classes (per datanucleus), and run the unit test showing persistence/query.

It’s nothing fancy, but it shows how viable a jpa + amazon s3 solution can be as a simple database.

If you’re truly interested in a relational database through Amazon S3 then look at Amazon’s Simple DB offering.  This seems to provide a storage service that performs at the level of a relational database should.

Example Project Download: Datanucleus/JPA + AmazonS3