Jelastic has added the Apache CouchDB distributed database to its Java hosting platform in a bid to provide greater options for replication and scaling across multiple data centers. In beta since the middle of last year, Jelastic claims to have over 5,000 registered developers — the company hinges its USP on its platform's ability to eliminate the need to make changes to code or programming language as Java apps are scaled to the cloud.
With the market for Java Platform-as-a-Service computing now arguably a lot more vibrant than it was even a year ago, Jelastic is not alone. In line with the launch of Oracle's Java Cloud Service, this is now a marketplace populated by Amazon with its Elastic Beanstalk, Google's App Engine, and Salesforce.com's Heroku for Java to name but a few.
By adding Apache CouchDB to the mix, Jelastic has brought a NoSQL document-oriented database to the table that provides a RESTful JSON API, which can in turn be accessed from any environment that allows HTTP requests.
Apache CouchDB's "B-tree" approach to data storage means that queries are performed fast, regardless of the amount of data stored. The database's replication services will, in this use case and others, allow an application to be run across multiple Jelastic hosting providers, providing redundancy against downtime.
B-tree data structures themselves allow searching of data to be performed with support for sequential access as well as insertions or deletions that may be being performed in logarithmic time. B-trees have roots at the top and leaves (or nodes) at the bottom. According to Geekinterview.com: "B-Tree is an indexing technique most commonly used in databases and file systems where pointers to data are placed in a balance tree structure so that all references to any data can be accessed in an equal time frame. It is also a tree data structure, which keeps data sorted so that searching, inserting, and deleting can be done in logarithmic amortized time."
Jelastic claims its new offering supports any JVM-based application, including Java 6, Java 7, JRuby, Scala, and Groovy. Currently, support is provided for the following SQL databases: MariaDB, MySQL, and PostgreSQL. It also supports the MongoDB and CouchDB NoSQL databases.
Application servers supported by Jelastic include Tomcat 6, Tomcat 7, GlassFish, and Jetty. The company provides load balancing and caching through the integration of NGINX and developer tools integration via Maven and Ant plug-ins.