Hi All, I wanted to let everyone know about a new tool I have created for HBase. I mentioned it on this list a few months back, we have now released the first version. My company are going to be using HBase in an upcoming project and in the process we built an interface tool for HBase. We have dicided to open source it under the Apache 2.0 license in the hope it will be useful to others.
OHM stands for the Object HBase Mapper. Its basically a lightweight weakly relational ORM for HBase. The developer sets out the structure of their DB tables in one or more OHM Spec files. These have straight forward C like syntax which describes the tables, column families and column data types. These OHM Spec files are fed into the OHM Compiler which then generates a Syntax Tree and from that it generates code in the programing language of choice. At present we only have code generation support for CSharp, although we will need to implement Java for this project as well, so Java support should be added soon. Its relatively simple to add support for other languages. The compiler is written in Java and each language generator simply walks the Syntax Tree creating useful bean like objects which are then added to a Velocity context and exposed to the Velocity template, which generates the code. We have used the Thrift API for interacting with HBase in the CSharp generated code. We have just launched a site for the project at the address below. The site also contains some tutorials which show the basics of using OHM and provide a good way to get a feel for that it does. We also have a public Git repo so people can track the project easily. http://belowdeck.kissintelligentsystems.com/ohm Currently OHM provides the below features: * Efficient CRUD operations on rows and their columns. * Type conversion in to the languages native types e.g. float, int, string. * Indexing of additional Column Family Fields. * Scanners to access multiple rows. I would really like to get everyone thoughts and feedback. We would of course welcome any code contributions if anyone is interested. Charlie M
