Interesting Features of MongoDB from O’Reilly

by Shaun Snapp on October 2, 2010

What This Article Covers

  • Interesting aspects of the mongoDB

Background

In a previous post we discussed the emergence of NoSQL products, one of which, MongoDB caught our eye. We began by reading part of the the book “MongoDB: The Definitive Guide,” by Kristina Chodorow and Michael Dirolf and published by O’Reilly. We found the following points instructive, not only about MongoDB, but about what is says regarding SQL databases generally.

  1. MongoDB has some of the features of a SQL database including indexes, range queries and sorting.
  2. The authors hail its ease of use.
  3. The database can be interoperated with using JavaScript. In fact the test database online is a JavaScript Shell. Obviously, MongoDB does not use SQL.
  4. MongoDB and NoSQL in general replaces the concept of a row with a document. The book states the primary reason for doing this is making scaling easier. This allows “the representation of complex hierarchical relationships with a single record and this fits nicely into the way developers think about their data.
  5. Each document has its own “_id”
  6. A collection is a group of documents
  7. Groups of different collections are different databases.
  8. As one would expect, MongoDB is schema-free. This eases large data migrations. It’s also gives developers more freedom in terms of how they model (one also wonders if it gives developers less overhead to manage)
  9. Amazingly, the book proposes that the massive increase in data is placing pressure on the SQL model. (This is interesting to me because I had always heard that SQL databases were able to take the most volume when compared to other data repository types. If NoSQL has improved on this volume management of SQL, then things could get really interesting for this technology / approach.)
  10. MongoDB was designed from the beginning to “scale out” which means to be moved over multiple machines, which increases its scalability at a lower cost than SQL (this means the database does not have to be ported to a new machine if it outgrows it.
  11. MongoDB follows a very low maintenance approach with respect to databases

Conclusion

A lot more investigation is necessary to see how we can use, and if we can use MongoDB. However, it sounds intriguing so far.

{ 0 comments }

NoSQL vs. MySQL

October 2, 2010

What This Article Covers What are NoSQL databases? Web sites that use NoSQL as a database. Background? We just heard of an alternative to SQL databases called “NoSQL.” It is interesting because for those of us with a lot of data analysis in our background, “NoSQL” has always been a flat file, or Excel. However, NoSQL is [...]

Read the full article →

SID for MySQL

September 18, 2010

Background Several times on this blog we get into MySQL WorkBench. We prefer this MySQL front end over Toad, which seems to have stayed the same over the past decade. Meanwhile MySQL Workbench continues to improve. Introducing SID However, while MySQL WorkBench is very capable, for writing simple SQL, we have come to like an [...]

Read the full article →

MySQL in Mac Terminal

September 14, 2010

Background There are some commands which must be executed from the terminal rather from within SQL Workbench or other third-party front ends like SID. This is easily done by simply typing in “mysql” at the beginning of the terminal. This is well explained in the excellent video on MySQL which you can find at Lynda.com [...]

Read the full article →

Zend

September 14, 2010

Background One of the things that will be of interest to anyone who is able to develop their MySQL skills is to get into the application server space. This allows the development of applications which pass information back and forth to MySQL. I have been investigating Zend, which provides an application server and a lot [...]

Read the full article →

Forward Engineering A Database from an ERD Diagram

September 14, 2010

Flexibility One interesting issue is that when creating a database it can be easier to bring into MySQL Workbench in order to create an ERD diagram first, and then convert this ERD into a schema. I don’t know why this is the case, but I was having a problem using the SQL script from a [...]

Read the full article →

SQL and Relational Theory

September 4, 2010

Background This book proposes the following: 1. Much SQL that is written is not in fact relational 2. Much literature recommends non-relational use of SQL 3. 40 years after it was created it is not well understood even by the database community at large 4. SQL is such a difficult language that it can be [...]

Read the full article →

SQL Code from MySQL Crash Course

September 3, 2010

Background This is the MySQL from Ben Forta’s MySQL Crash Course up to the page I am reading. Major Changes to Database These do things like show all databases SHOW DATABASES; SHOW TABLES FROM MySQL; SHOW STATUS; SHOW GRANTS; DROP SCHEMA “Schema Name” CREATE DATABASE Experimental; Selecting a Field from a Table SELECT prod_name FROM [...]

Read the full article →