| Project Description
|| Amazon SimpleDB as an external data source for Open Source persistency. An alternative for Hibernate backed data source.
| Current Project Version
| Project Maturity
| Project License
|| Apache License 2.0
| Compatible GigaSpaces XAP Version
|| GigaSpaces XAP 6.x
| Project Captain
|| Chen Wang
|| Chen Wang
Features and Capabilities
As GigaSpaces/OpenSpaces offers the chance of having 3rd-party persistent solutions for data stored in a space (or a grid as some may say), this extension is to explore the possibility of using Amazon SimpleDB as a storage option. Hibernate data source has already covered much ground for using common relational databases, but there are still occasions in which a normal database is either unavailable or unreliable. For example when running GigaSpaces with Amazon EC2, persistent storage for structured data is just like last piece of the puzzle until SimpleDB is released; another example is for handling high throughput when normal database is just not designed to do the job. This extension runs in a similar way as Hibernate data source which does OR mappings and stores object data in a relational structure. The difference is also fundamental as SimpleDB is not a traditional database and only supports limited data types and ranges. This makes the implementation difficult because of that, but also simple as most object data eventually turn into text represented in different ways in SimpleDB.
As the extension is still in its early stage, there are certain advanced features that are not currently being supported:
- Object graph is not supported, e.g. class A has a reference on class B. I personally think it is A) not highly encouraged when designed a proper space-based application and B) slightly difficult to implement without quite some additional work.
- Only Java primitive types and their object wrappers as well as java.lang.String are supported as POJO/Bean properties. Again I think as proof-of-concept type of initial development, this should be quite enough; Moreover, I myself as an experienced developer for developing application running in a computing cloud where this extension will be of much help, I do insist on simple designs and current support should be enough for general use cases.
- There are not many configuration options available at the moment but there will be more. I understand it would be great to make it customizable for individual need but this extension is still quite new and I'll leave those in the future roadmap. They will gradually be implemented depending on feedbacks.