a. What is MongoDB? How does it relate to MongoHQ
According to Mongodb.org (2010), MongoDB (from “humongous”) is a scalable, high-performance, open source, document-oriented database, and written in C++ programming language. As Wikipedia (2010) explain that MongoDB is designed for problems without heavy transactional requirements that are not easily solved by traditional RDBMSs, including problems that require databases to span many servers. MongoDB is not a relational database management system. The database manages collections of JSON-like documents that are stored in a binary format referred to as BSON.
MongoDB relates to MongoHQ:
MongoHQ provides a hosting platform for MongoDB and also uses MongoDB as the back-end for its service.
References
Mongodb (2010). The Best Features of Document Databases Key-Value Stores, and RDBMSes. Retrieved from www.Mongodb.org
Wikipedia (2010). MongoDB. Retrieved from http://en.wikipedia.org/wiki/MongoDB
b. What is MongoMapper
According to Github.com (2010), MongoMapper is a Ruby wrapper library which aims to make using MongoDB much easier and friendlier than the default Ruby driver provided by XGen. When is makes sense to do so, MongoMapper tries to stick closely with the familiar syntax of ActiveRecord.
Due to the way MongoDB stores data, MongoMapper consists two key concepts are: Document and the EmbeddedDocument
The Document is essentially a record with fields
An Embedded Document is exactly like a Document, except that it is injected into a Document and still retains all of ts information.
References
Github.com (2010). MongoMapper. Retrieved from http://wiki.github.com/jnunemaker/mongomapper/
c. What is the relation between MongoDB and Mysql
This table below is the quick comparision between MongoDB and MySQL (mongodb.org, 2010)
| MongoDB | MySQL |
Data Model | Document-Oriented (BSON) | Relational |
Data Types | string, int, double, boolean, date, bytearray, object, array, others | Link |
Large Objects (File) | Yes (GridFS) | Blobs? |
Replication | Master-slave | Master-slace |
Object (row) Storage | Collection based | Table-slave |
Query Method | Dynamic; object-based query language | Dynamic; SQL |
Secondary Indexes | Yes | Yes |
Atomicity | Single document | Yes-advanced |
Interface | Native drivers | Native drivers |
Server-side batch data manipulation | Map/Reduce, server-side javascript | Yes (SQL) |
Written in | C++ | C |
Concurrency Control | Update in Place | |
Reference
Mongodb.org (2010). MongoDB, CouchDB, MySQL Compare Grid. Retrieved from http://www.mongodb.org/display/DOCS/MongoDB,+CouchDB,+MySQL+Compare+Grid
No comments:
Post a Comment