I want to develop an application to learn how to use HBase. What technologies can I use to develop a good learning project using HBase? I want to use for instance something like Ruby on Rails or Java EE or Spring. What architecture could I do?
Share
As you might know HBase is built on the top of the HDFS (Hadoop Distributed File System), it is expected that it would be used to store a very large (TB or PB) data set. So, using HBase from normal applications (Console or Desktop or Web applications) would not be a good idea because it would be able to do the processing on the data set in parallel which is needed if we want to have a good performance and scalability over such large data set. Without parallel processing it might take many days to complete a single job on such large data. Hadoop’s MapReduce framework provides solution exactly to this problem. You can use MapReduce to read/write to HBase. This would make the application be high performance (jobs will decrease to minutes or hours from days).
So, IMO, better to start with using MapReduce framework with HBase. You can use Java or RoR for this. Although, MapReduce framework is developed in Java, it can be used from other languages too via Streaming API. RoR also have better integration with Hadoop.