Inside Data 55

by Graham Keitch

Graham Keitch looks at what you can achieve with the free editions of Oracle Database and Microsoft SQL Server.

HardCopy Issue: 55 | Published: February 1, 2012

Two of the industry’s leading database suppliers, Oracle and Microsoft, provide free development and deployment editions of their flagship databases. Both provide free licences for developers and a free lightweight Express edition for deployment, with strings attached. SQL Server 2008 R2 is the current release from Microsoft although Release Candidate 0 for 2012 (code named ‘Denali’) is now available. The free editions of SQL Server include Developer and Express. Oracle also provides a free licence for developers and an Express edition, Oracle Database 11g XE.

Let’s begin by covering some common ground. From a developer’s perspective, free access to the database technologies that might underpin a project is clearly desirable for evaluation purposes. Both vendors recognise this and offer free licences for this purpose. Developer licences provide access to most of Oracle’s database and developer tools. These can be downloaded from the Oracle Technology Network (OTN) website and include tools for the Oracle J2EE environment and tools that allow .NET developers to connect with the Oracle platform from within Visual Studio.

Developers are unlikely to be content with stripped down versions of the database while vendors naturally want to expose the best features of their technologies for use in new projects. Consequently, both Oracle and Microsoft ensure the developer licence provides access to the full functionality of their respective high end Enterprise and Datacenter editions. With core functionality and code deployed across all editions of both product sets, this minimises the additional work needed should there be a requirement to scale the database during the development process, or later.

When it comes to developer licence restrictions, we begin to see minor differences in the way Oracle and Microsoft approach things. This partly reflects historical and cultural distinctions between the two. Both developer licences now permit development, testing and demonstration usage but in some documents Oracle specifically excludes anything that relates to an existing commercial or production system. Traditionally Oracle has been associated with more complex environments, which together with some of their advanced database options can blur the boundaries between development, testing and production.

MySQL Community Edition

There is also a free version of the world’s most popular open-source database, available from Oracle. MySQL Community Edition is a fully integrated, transaction-safe, ACID compliant database. Commercial customers can purchase commercial editions that meet specific business and technical requirements from Grey Matter.

For example, Oracle Real Application Testing allows testing in real production conditions. Other Oracle database options facilitate advanced resource sharing, making it possible to offload commercial tasks such as reporting to a machine that is also used for testing or failover. In complex situations like this, it’s necessary to ensure the hardware architecture, software and licensing models are economically configured to best serve production, development, security and high availability requirements. This is an important consideration regardless of which vendor is providing the database solution. The licensing definitions that govern permitted developer use also change quite frequently so it’s necessary to ensure you understand and agree to these.

Both vendors also provide a free lightweight edition that can be deployed in a production environment, with restrictions. These are the Express editions, referred to as XE in the case of Oracle. Oracle Database 11g XE can be installed on any size host with any number of CPUs (one database per machine). It will store up to 11GB of data and use up to 1GB of memory and one CPU. It is a suitable platform for developers working with PHP, Java, .NET, XML and Open Source, and for ISVs who want a starter database to distribute free of charge. If and when there is a requirement to scale beyond these restrictions, projects can be migrated with relative ease as XE uses the same code base as its bigger brothers. Together with the free tools that Oracle provides for Windows developers, XE is a good choice for those wishing to evaluate the Oracle platform for their .NET applications.

Microsoft SQL Server 2008 R2 Express is similarly restricted to one processor while supporting a maximum database size of 10GB. It doesn’t provide the high availability and management tools you’d expect to see in more advanced editions but those that are provided are sufficient for small scale, non-mission critical applications. There is full integration with Visual Studio and support for the basic elements of the .NET development environment such as the Entity Framework, Common Language Runtime and Native XML.

A new feature in the 2012 release will be LocalDB. This is a small component that functions as an integrated part of a tool or desktop application that needs a local database runtime with T-SQL support. Designed for single user implementations, an application that uses LocalDB opens a file to access SQL Server functionality, including ACID transaction support.