Free Database Storage Overview
When developing small to mid sized software the question of where data will be stored is one of the first things that comes to mind. Unfortunately, data storage can also be one of the most expensive parts of an infrastructure. Enterprise level licensing can easily total into the tens of thousands of dollars. The increasing trend in open source and free scaled down enterprise editions can be a great opportunity to drastically reduce costs. Knowing your needs and checking to see if you can accommodate them with a free alternative is just good business. In this article we will discuss some of the options for businesses that are not looking to immediately purchase a paid enterprise level data storage solution.
For the simplest data storage solutions, a flat data file or combination can be employed. Examples of this are csv, dat, xls or tps files. This is generally adequate in the simplest of applications where one or two users will be simultaneously accessing the program. This is generally an outdated approach and may lead to data continuity issues in multi user environment. However, it is surprisingly common among many popular business and accounting software packages you will encounter off of the shelf. If it is known that the application will only be used for one user this is an acceptable practice; if not, it is counter productive and will eventually become a ‘data silo’ which does not provide transparent data and reporting.
The lower end of the free database spectrum is MySQL. Commonly found in the back end of many websites it provides a reliable data storage solution for many low throughput – low workload of concurrent writes and reads – applications. The text you’re reading now is stored in a MySQL back-end. (Do not confuse this with Enterprise editions of MySQL which are in fact the back end to many of the highest traffic websites on the Internet). This is an attractive solution for online blogs, low to medium traffic websites, and PHP Apache based web applications.
1. The database and management tools are completely free.
2. There is an abundance of support and community documentation for the platform.
3. An enterprise level paid platform is available should you need to scale the solution in the future.
4. Cross Platform (Works on Windows and Linux Operating Systems).
1. Limited functionality. MySQL as of yet does not share the rich functionality that some of it’s big brothers such as Microsoft SQL, Oracle, or IBM’s DB2 offer. This includes the ability to use Triggers, Stored procedure, and Agents. This will translate into a limitation on the ultimate flexibility of the end software. Nonetheless MySQL is a popular solution for many applications and web based PHP solutions.
Oracle’s Express Platform
Oracle’s free platform is in part a response to the rampant success of MySQL and Microsoft’s Express Edition. However, at the same time this is a leap ahead in many regards. A browser based management studio which provides the ability to quickly develop rich reporting and actual business applications directly from the database interface. This makes this platform a unique solutions in and of itself. Keep in mind that this is not a scaled down version of Oracle 9i. Instead of trying to offer a limited instance of their enterprise level database Oracle has gone in a completely different direction on this one. The result is something that is very useful and puts programming simple apps within in reach of the general user.
1. Powerful application development solutions integrated directly in the database platform.
1. Interface and functionality seem somewhat alien compared with conventional enterprise level solutions.
Microsoft SQL Server Express Edition.
This is the de facto solution for many small to medium sized software solutions. MS-SQL Express ships with many popular off the shelf programs and is the go to for many Microsoft based technologies. MS-SQL allows developers access to the fundamentals of a truly enterprise level platform for free. MS-SQL features a full range of T-SQL functionality such as triggers, and stored procedures. It also provides rich programming features for Microsoft based languages such as C# and Visual basic .NET such as LINQ to SQL and LINQ to Entities.
1. SQL Server Management Studio.
2. High scalability options in standard and enterprise editions if the need arises.
3. Enterprise Class Business Intelligence Studio and reporting solutions.
4. High level integration with .NET and other Microsoft Technologies.
1. Max size limit: SQL express edition will run databases up to a maximum of 10gb (raised from 4 on the 2008 r2 edition) .
2. Maximum Memory and CPU of Gig of memory and 1 Core respectively.
3. Limited to Microsoft Server Platforms.
4. Does not allow access to paid edition agent.
IBM DB2 Express-C
In the vein of Microsoft’s offering, IBM’s DB2 Express – C is a free scaled down version of their DB2 Enterprise Edition. It provides a respectable management suite called the Data Studio. Because it is Java(c) based it is cross platform and functions equally well on both Windows and Linux based operating systems. DB2 Express – C is an Enterprise level relational database and also offers the option to easily upgrade to a paid edition if the platform becomes incapable of meeting future performance needs.
1. High scalability options in enterprise editions if the need arises.
2. Higher resource limits than MS-SQL. DB2 can utilize 2 cores and 2 Gigs of Memory
3. Cross Platform.
1. Max size limit: DB2 Express-C edition will run databases up to a maximum of 10gb
2. The IDE “Data Studio” is less developed than SQL Server Management Studio.
3. Jumping to an Enterprise Level DB2 Edition is going to set you back alot more cash than jumping to a SQL Server Standard Edition.
What’s Right For You ?
Deciding which platform will work right for your business will ultimately boil down to your needs. If you are running Linux Servers, MS-SQL will not be an option for you. Conversely, if you are developing .aspx or another Microsoft driven technology MS-SQL might be the right choice. If you are developing Apache or PHP web based applications MySQL will be the best choice. If you want to develop streamlined data tracking and reporting the Oracle’s offering might work well for you.
There are also an abundance of other less well known (less supported) options such as PostgreSQL and high performance variants such as Cassandra, the framework that Facebook is built on. For a full list of available free database platforms check here.
If you have data storage concerns contact us today. We can help you find the platform that’s right for your long term goals