Databases Reference
In-Depth Information
MongoDB is also schema-free: a document's keys are not predefined or fixed in any
way. Without a schema to change, massive data migrations are usually unnecessary.
New or missing keys can be dealt with at the application level, instead of forcing all
data to have the same shape. This gives developers a lot of flexibility in how they work
with evolving data models.
Easy Scaling
Data set sizes for applications are growing at an incredible pace. Advances in sensor
technology, increases in available bandwidth, and the popularity of handheld devices
that can be connected to the Internet have created an environment where even small-
scale applications need to store more data than many databases were meant to handle.
A terabyte of data, once an unheard-of amount of information, is now commonplace.
As the amount of data that developers need to store grows, developers face a difficult
decision: how should they scale their databases? Scaling a database comes down to the
choice between scaling up (getting a bigger machine) or scaling out (partitioning data
across more machines). Scaling up is often the path of least resistance, but it has draw-
backs: large machines are often very expensive, and eventually a physical limit is
reached where a more powerful machine cannot be purchased at any cost. For the type
of large web application that most people aspire to build, it is either impossible or not
cost-effective to run off of one machine. Alternatively, it is both extensible and eco-
nomical to scale out : to add storage space or increase performance, you can buy another
commodity server and add it to your cluster.
MongoDB was designed from the beginning to scale out. Its document-oriented data
model allows it to automatically split up data across multiple servers. It can balance
data and load across a cluster, redistributing documents automatically. This allows
developers to focus on programming the application, not scaling it. When they need
more capacity, they can just add new machines to the cluster and let the database figure
out how to organize everything.
Tons of Features…
It's difficult to quantify what a feature is: anything above and beyond what a relational
database provides? Memcached? Other document-oriented databases? However, no
matter what the baseline is, MongoDB has some really nice, unique tools that are not
(all) present in any other solution.
Indexing
MongoDB supports generic secondary indexes, allowing a variety of fast queries,
and provides unique, compound, and geospatial indexing capabilities as well.
 
Search WWH ::




Custom Search