by Angela Guess
Christopher Tozzi recently wrote in The VAR Guy, “[R]elational databases are great if you know ahead of time what structure your data will take, and have a sense of how much data you need to store. But what if your storage needs are less predictable? What if they need to be highly scalable? Relational databases work less well in those situations. That’s where NoSQL comes in. NoSQL databases allow you to stuff data into a database without defining a formal storage structure ahead of time. That means you do not need to write as much code for an app to interact with a database. It also means you can retrieve data quickly without having to tell your program where exactly to find what you want within a large, rigid database structure.”
He goes on, “NoSQL databases also tend to scale better, because they’re designed to be able to run easily on distributed or clustered environments. In other words, a NoSQL database can run on top of multiple servers at the same time and still look to your app like a single database. That makes it easy to add more storage quickly if you suddenly have a lot more data to store — which is a key advantage in an era when the cloud and IoT devices have imposed rapidly changing data storage needs on organizations. NoSQL’s support for distributed storage makes it different from traditional databases, which were designed before clusters and the cloud became the norm. True, you can “shard” relational databases, which means distributing them across multiple hosts, but it is more complicated than doing the same with NoSQL databases. It also tends to require more expensive hardware, whereas NoSQL databases can shard on cheap commodity servers.”
Tozzi continues, “The third key advantage that most NoSQL databases offer is that they’re open source. Several traditional relational databases, including MySQL, are now open source as well. But they were not always open (at least in their ancestral forms), and they are still limited in some ways by a proprietary legacy that encouraged vendor lock-in. For example, even though the MySQL code is open source, the documentation that you need to make the most of MySQL is less openly available to the community.”
Photo credit: Flickr