February 1, 2010 by MongoDB Comments
We can't know where we're going unless we know where we're from. In that spirit, here's our take on the still-ongoing evolution of the database software space.
There used to be two main categories of database management systems (DBMS). One was the classic operational relational database management system like Oracle or the open source MySQL. The other was the business intelligence database space. Products in this category are SQL, but the difference is that they're for data warehousing and support - they're not designed to be real time operational stores. Think of offline, background data processing and mining with decision support and intelligence. Examples that come to mind are Vertica, Aster Data, Greenplum, and Netezza. In this business intelligence database bucket, we’d also include technologies like Hadoop, that are more data processing than storage but directly adjacent to DBMS.
That was the old world. It's safe to say in 2010 that the first bucket, operational databases, has split in two, creating three separate categories of DBMS. It's not going to be just all Oracle and MySQL. Some use cases will still be, but we’d bet at least half of the operational use cases are going to end up on the new breed of solutions called NoSQL in the next couple years. The advantages of NoSQL databases are no secret at this point - high horizontal scalability (crucial in a time when cloud computing is becoming immensely popular), performance, and ease of assembly for developers working with agile techniques and object-oriented programming languages.
Forward-looking organizations will have to come to terms with this disruption in the DBMS market. As more and more data subsystems require the unique benefits that NoSQL offers, more developers and businesses will jump on the bandwagon. MongoDB has started to set this trend with users like SourceForge, GitHub, the New York Times and Electronic Arts. A possible analogy is the move from procedural to object-oriented programming. You won't want to be the last person to write a web app using NoSQL, just as 20 years ago, you didn't want to be the last person to pick up object-oriented programming.