MongoDB is a document database that provides
high performance, high availability, and easy scalability. Documents (objects)
map nicely to programming language data types.
MongoDB Data Model
A MongoDB deployment hosts a number of databases.
A database holds a set of collections. A collection holds a set of documents. A
document is a set of key-value pairs. Documents have dynamic schema. Dynamic
schema means that documents in the same collection do not need to have the same
set of fields or structure, and common fields in a collection’s documents may
hold different types of data.
MongoDB Queries
Queries in MongoDB provides a set of operators to define
how the find() method selects documents from a collection based on a query
specification document that uses a combination of exact equality matches and
conditionals using a query operator.
Shard
- A database shard is a horizontal
partition in a database or search engine. Each individual partition is referred
to as a shard or database shard.
Sharding is the process of storing data records
across multiple machines and is MongoDB's approach to meeting the demands of data
growth. As the size of the data increases, a single machine may not be
sufficient to store the data nor provide an acceptable read and write
throughput.
API
- an application programming interface
(API) specifies how some software components should interact with each other. It is
a set of programming instructions and standards for accessing a Web-based
software application or Web tool.
An API is a software-to-software
interface, not a user interface. With APIs, applications talk to each other
without any user knowledge or intervention. When you buy movie tickets online
and enter your credit card information, the movie ticket Web site uses an API
to send your credit card information to a remote application that verifies
whether your information is correct. Once payment is confirmed, the remote
application sends a response back to the movie ticket Web site saying it's OK
to issue the tickets.
Config servers are special mongod
instances that store the metadata for a sharded cluster. Config servers use a two-phase commit to ensure
immediate consistency and reliability. Config servers do not run as replica sets. All config
servers must be available to deploy a sharded cluster or to make any changes to
cluster metadata.
Solr is
an open source enterprise search platform. Its major features include
full-text search, hit highlighting, faceted search, dynamic
clustering, database integration, and rich document (e.g., Word, PDF) handling