MongoDB is not your father’s database. Dad had to cope with the likes of dBase, where data was a nail and the hammer was a chugging database engine along with a forms and a query system that was simple, but none too powerful.
dBase is still around and has evolved into applications that can take advantage of the more modern object-oriented database structure of ODBC.
Then along came SQL (pronounced “sequel,” but standing for Structured Query Language) invented by IBM and gradually evolving to Windows. As a programming language, SQL is robust and powerful. It relies on data definition language as well as data manipulation. Throw in Boolean language, hinky operators like <> and you have a query language that can find, sort, group and do the math on vast amounts of data.
But no discussion of databases is complete without a mention of the relational database model. Think of at least two tables of data where each table has a common field, say a product number in a product description table with the same product number in an inventory table. A relational database keeps product information separate from the inventory, but joins the information by means of a lookup. Sometimes it uses a separate junction table, but it always joins the data by means of the common field.
The problem with table-based, SQL and relational databases is that they are locked into a row and column configuration. Not only that, they can be rather slow when performing tasks that cycle through relational tables that are deep and wide.
Then along came Mongo DB. Like the character in the movie Blazing Saddles, Mongo punched the database world right in the mouth and by 2009 was on the market as an open sourced and stand-along database product.
MongoDB is a “no-SQL” database that uses documents with dynamic designs, rather than table-based relational architecture. It’s powerful querying capabilities can search about everything in the entire database, and it even supports user-defined JavaScripting.
According to MongoDB CTO and co-founder Eliot Horowitz:
“So the way I think about MongoDB is that if you take MySql, and change the data model from relational to document based, you get a lot of great features: embedded docs for speed, manageability, agile development with schema-less databases, easier horizontal scalability because joins aren’t as important.”
There are lots of features that still work great in relational databases, though, and Horowitz recognizes that indexes, dynamic queries and fast updates. Says Horowitz:
“For example, the way you design your indexes in MongoDB should be exactly the way you do it in MySql or Oracle, you just have the option of indexing an embedded field.”
So what drove the development of MongoDB was the need for a new database technology that:
- eases horizontal scaling of the data layer and vastly opens up data storage
- uses a non-relational approach and opens up access to file data horizontally to many users
- makes writing application coding far more agile
- keeps existing database functionality fast and simple
- runs anywhere -- on servers, virtual machines and in the cloud
Want to learn more about MongoDB? Contact us. And speaking of the cloud, if you’re looking for the best web page design, an internet marketer or a mobile web application, we’ll help leverage your existing e-commerce data into a custom application that will boost both your productivity and your bottom line.