« The paradox of the TW code review | Main | Recipes For Disaster #116: Goal Misalignment »

December 18, 2005

All I want for Christmas is Oracle Lite

My current project runs against Oracle in production. And like many projects, we use a lightweight database for our local development and builds - in our case HSQLDB. Using HSQLDB gives us a very quick, generic SQL compliant JDBC-enabled RDBMS against which we can run our integration tests without the complication of having either a local Oracle install or an Oracle instance with individual developer schemas running on a common server. HSQLDB is deployed as a single JAR and is perfectly suitable for our development database needs.

However, the requirement to target another database in production is one that cannot be ignored and must be designed for from the get-go. Even using Hibernate to isolate our code from the exact database against which the code is to be deployed still requires some amount of deployment configuration to allow seamless builds for each database. At the very least, connection details (i.e., user credentials, URL, JDBC driver) need to be swapped between environments, possibly also any seed data for the database tests should non-standard SQL be unavoidable.

Given this, my preference would be to have a lightweight version of Oracle that I can use with the same level of ease as HSQLDB. A single small install would be ideal. No need for grid support, content management, data warehousing, clustering, blah, blah, blah. Just something I can point my usual Oracle JDBC driver at and which will support the standard Oracle SQL syntax plus transactional semantics.

How much would I expect to pay? Nothing - Oracle could just make it part of their full-blown server with an unlimited seat license.

Mind you, I'm not holding my breath on this one.

Note: Oracle do provide a "Lite" version of their database for mobile computing, but ready of the documentation states that it requires a full-blown version of Oracle for synchronization purposes.

Posted by Andy Marks at December 18, 2005 11:38 AM

Comments

I think you need to have a look at Oracle XE (Express Edition). It is a 10g Oracle database aimed at being run on developers workstations.

Also, it show that Oracle can actually write decent installers an administation tools :-)

Posted by: Mik at December 19, 2005 03:59 AM

It's not exactly what you're asking for, but you might want to take a quick look at MaxDB (used to be known as SapDB) - http://www.mysql.com/products/maxdb/. It has an Oracle 7 compatibility mode that might get you close enough, and the installation is fairly lightweight. I've seen it used successfully for development and testing work on another project that used Oracle, without many changes needed to go from the development environment to production.

Posted by: Michael Collas at December 19, 2005 10:08 AM

Have you looked at the new Oracle Express Edition? It's a completely free version of Oracle, limited to 2Gb of data, which is plenty for testing purposes. It's not quite as simple as installing a single JAR, but it's easier than configuring a normal Oracle server.

http://www.oracle.com/technology/software/products/database/xe/index.html

Posted by: Anthony Williams at December 19, 2005 08:27 PM

Post a comment

Thanks for signing in, . Now you can comment. (sign out)

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)


Remember me?