从今天起开始跟着官方文档学习MongoDB,MongoDB这几年很火的一款No(t only)SQL 数据库,值得学习。
==================================================
MongoDB is a document database designed for ease of development and scaling.
Document Database
A record in MongoDB is a document, which is a data structure composed of field and value pairs. MongoDB documents are similar to JSON objects. The values of fields may include other documents, arrays, and arrays of documents.
The advantages of using documents are:
- Documents (i.e. objects) correspond to native data types in many programming languages.
- Embedded documents and arrays reduce need for expensive joins.
- Dynamic schema supports fluent polymorphism.
-
Key Features
High Performance
- Support for embedded data models reduces I/O activity on database system.
- Indexes support faster queries and can include keys from embedded documents and arrays.
Rich Query Language
- Data Aggregation
- Text Search and Geospatial Queries.
High Availability (replication facility, called replica set)
- automatic failover
- data redundancy.
Horizontal Scalability
- Sharding distributes data across a cluster of machines.
- MongoDB supports creating zones of data based on the shard key. In a balanced cluster, MongoDB directs reads and writes covered by a zone only to those shards inside the zone.
Support For Multiple Storage Engines
- WiredTiger Storage Engine
- In-Memory Storage Engine