UPDATE: 05/10/2017: This post has been updated with new options and additional information based on comments and feedback from readers since the original version went live. We’ve also included summaries of user reviews to better reflect actual users’ experience with different systems. Several existing solutions have had their descriptions changed to better reflect their current functionality.
I like pizza.
Just kidding. I love pizza. Especially if it’s free.
I even like things that look like free pizza. Just the other day, a package came in the mail for me and it was delivered inside of a pizza box. Five stars out of five for that Etsy shop owner. I’m keeping the box. They had good taste in pizza shops.
Free pizza was one of my favorite things about college. Fliers advertising new clubs and organizations on campus always included a small note about free pizza at their meetings. And I was there. Because duh.
Unfortunately, as I’ve learned whilst navigating this endless maze called adulting, pizza isn’t always free. That sweet taste of zero-cost cheese is long gone.
But not so for the database management software world, where free database software and open source solutions are as abundant and mouthwatering as a cascade of tomato sauce and pesto.
Because when IT departments are operating on miniscule budgets, cutting costs is great for both staying in business and keeping IT afloat. Everyone likes free stuff.
Sounds pretty delicious to me.
So let’s take a step back to your formative college years, when the world was as free and dreamy as melted mozzarella, and check out these five fantastic free database software and open source DBM solutions to keep your department on budget.
CUBRID
CUBRID is a great free and open source option optimized specifically for web applications, useful when complex web services process large amounts of data and generate huge concurrent requests. This solution is implemented in C.
Pros
Multiple granularity locking
Online backup
GUI tools and drivers for development languages:
JDBC, PHP, Python, Perl, and Ruby.
Auto-failover feature with 24/7 online web service
Supports native DB sharding for horizontal/vertical scalability
Large systems divide data over multiple database instances
Database replication and transaction consistency
Cons
Doesn’t work with Apple systems
No script debugger
Manual only comes in English or Korean
Discussions on their forum tend to be dated (most are from several years ago)
What users say
Leave a review for CUBRID here.
Firebird
This relational database has been used in production systems (under a variety of names) since 1981 and features many ANSI SQL standards. Firebird is capable of running on Linux, Windows, and various Unix platforms.
Pros
Trace API for real-time monitoring
Windows-trusted authentication
Four supported architectures:
SuperClassic, Classic, SuperServer, and Embedded
Variety of development tools:
Commercial tools: FIBPlus and IBObjects
Automatic sweep option to clean database
Event notifications from database triggers and stored procedures
Free support through Firebird’s large global community
Cons
Integrated replication support isn’t included (only as add-on)
Lacks temporary tables and integration with other database systems
Windows-trusted authentication lacking in comparison to other OS solutions
What users say
Leave a review for Firebird here.
MariaDB
Made by the original developers of MySQL, MariaDB is used by tech giants like Wikipedia, Facebook, and even Google. MariaDB is a database server that offers drop-in replacement functionality for MySQL. Security is a top concern and priority for MariaDB developers, and in each solution release, the developers also merge in all of MySQL’s security patches and enhance them if need be.
Pros
High scalability with easy integration
Real-time access
Core functionality of MySQL
Alternate storage engines, server optimizations, and patches
Extensive knowledge base compiled over the 20 years MariaDB has been operating
Cons
Missing password complexity plugin
No memcached interface
No optimizer trace
What users say
Leave another review for MariaDB here.
MongoDB
MongoDB was founded in 2007 and is known as the “database for giant ideas.” Developed by the people behind DoubleClick, ShopWiki, and Gilt Groupe, MongoDB is also backed by popular investors such as Fidelity Investments, The Goldman Sachs Group, Inc., and Intel Capital. Since its inception, MongoDB has been downloaded 20 million times and is supported by more than 1,000 partners. These partners are dedicated to this free and open source solution’s belief that coding and databases should be simple and natural.
Pros
Document validation
Encrypted storage engine
Common use cases:
Product catalogs
Real-time apps with in-memory storage engine (beta)
Reduces time between primary failure and recovery
Cons
Doesn’t fit applications needing complex transactions
Not a drop-in replacement for legacy applications
Young solution: software changes and evolves quickly
What users say
Leave another review for MongoDB here.
MySQL
MySQL has been around since 1995 and is now owned by Oracle. While open source, there are also several paid editions available that offer additional features, like cluster geo-replication and automatic scaling. Because MySQL is an industry standard, it’s also compatible with just about every operating system and written in both C and C++. This solution is a great option for international users since the server can provide error messages to clients in multiple languages, encompassing support for several different character sets.
Pros
Host-based verification
Can be used even when no network is available
Flexible privilege and password system
Security encryption of all password traffic
Library that can be embedded into standalone applications
Provides server as separate program for client/server networked environment
Cons
Acquired by Oracle:
Users feel MySQL no longer falls under free and OS
No longer community driven
Members can’t fix bugs and craft patches
Falls behind others due to slow updates
What users say
Leave another review for MySQL here.
PostgreSQL
With more than 15 years of active development, PostgreSQL is another stellar open source option, running on all major operating systems, including Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), and Windows. PostgreSQL is also fully ACID (Atomicity, Consistency, Isolation, Durability) compliant.
Pros
Create custom data types and query methods
Framework enables definition and creation of own custom data types
Runs stored procedures in more than a dozen programming languages:
Java, Perl, Python, Ruby, Tcl, C/C++, and its own PL/pgSQL
GiST (Generalized Search Tree) system
B-tree, B+-tree, R-tree, partial sum trees, and ranked B+-trees
Brings together different sorting and searching algorithms:
Creation of extensions like CitusDB for more parallelism without modifying Postgres code
Cons
MVCC system requires regular “vacuuming”
Problems in high transaction rate environments
Development is done by broad community
Fair amount of effort for improvements added
What users say
Leave another review for PostgreSQL here.
SQLite
Self-proclaimed as the most widely deployed database in the world, SQLite began in 2000 and has been used by notable companies like Apple, Facebook, Microsoft, and Google. Each release is carefully tested to ensure reliability. Even if there are bugs, the developers of SQLite are honest about potential shortcomings by providing bug lists and chronologies of code changes for every release.
Pros
No separate server process
File format is cross-platform
Compact library: runs faster even with more memory
Transactions are ACID compliant
Professional support also available
Cons
Not recommended for:
Client/Server applications
High-volume websites
Large datasets
High concurrency