In a software developer’s world, the word “database” usually means “SQL.” SQL stands for Structured Query Language and, for years, this language has been the de facto language of relational databases. This includes Microsoft SQL Server, PostgreSQL, MySQL, and Oracle.
These database have served us well for literally decades, but there’s something new on the horizon. These days, all the cool kids are using NoSQL databases. NoSQL databases are document based, which means that they don’t have a schema or rely on the time-tested Structured Query Language. This is somewhat difficult for many veteran programmers to process. A big question that’s immediately raised is, “How would one communicate with a database that doesn’t use SQL?” The answer can vary between the many different databases out there, but we’ll use one in particular as an example: Mongo DB.
Developers that have a basic grasp of Object Oriented programming should be able to pick up NoSQL databases very quickly. For example, the SQL query to create a database which looks like this: “CREATE TABLE User (Ident INT IDENTITY, FirstName VARCHAR(50), LastName VARCHAR(50))” can be written simply as this: “db.CreateCollection(‘User’).” Since there’s no schema to worry about, any data points can be added at-will within the Mongo DB collection. For more SQL to Mongo DB translations check out this mapping chart on the MongoDB site.
NoSQL databases are already in use in many popular applications that are familiar to almost everyone. Facebook uses a NoSQL database called Cassandra and FourSquare uses the aforementioned MongoDB. The list is growing with the popularity of these databases increasing on a daily basis. And NoSQL databases like MongoDB are available for every major system, so it’s possible to put these into production today.