Home >Database >MongoDB >Detailed explanation of the characteristics, principles, usage scenarios, and application cases of MongoDB

Detailed explanation of the characteristics, principles, usage scenarios, and application cases of MongoDB

藏色散人
藏色散人forward
2020-08-19 11:06:267116browse

Detailed explanation of the characteristics, principles, usage scenarios, and application cases of MongoDB

Recommended: "MongoDB Video Tutorial"

Introduction

MongoDB is a distributed The database where files are stored. Written in C language. Designed to provide scalable, high-performance data storage solutions for WEB applications.

MongoDB is a product between a relational database and a non-relational database. It is the most feature-rich among non-relational databases and is most like a relational database. The data structure it supports is very loose and is a bson format similar to json, so it can store more complex data types. The biggest feature of Mongo is that the query language it supports is very powerful. Its syntax is somewhat similar to an object-oriented query language. It can almost implement most functions similar to single-table queries in relational databases, and it also supports indexing of data.

Features

It is characterized by high performance, easy deployment, easy use, and very convenient to store data. The main functional features are:

*Oriented to collection storage, easy to store object type data.

*Free mode.

*Support dynamic query.

*Supports full indexing, including internal objects.

*Support query.

*Supports replication and failure recovery.

*Use efficient binary data storage, including large objects (such as videos, etc.).

* Automatically handle fragmentation to support scalability at the cloud computing level.

*Supports RUBY, PYTHON, JAVA, C, PHP, C# and other languages.

*The file storage format is BSON (an extension of JSON).

*Accessible via the web.

Principle of use

The so-called "Collection-Oriented" means that data is grouped and stored in a data set, which is called a collection (Collection). Each collection has a unique identifying name in the database and can contain an unlimited number of documents. The concept of a collection is similar to a table in a relational database (RDBMS), except that it does not need to define any schema. The flash cache algorithm in Nytro MegaRAID technology quickly identifies hot data in large data sets within the database, providing consistent performance improvements.

Schema-free means that for files stored in the mongodb database, we do not need to know any structure definition. If necessary, you can store files with different structures in the same database.

Documents stored in the collection are stored as key-value pairs. The key is used to uniquely identify a document and is a string type, while the value can be a variety of complex file types. We call this storage form BSON (Binary Serialized Document Format).

MongoDB has been deployed on multiple sites

Main scenarios:

1) Website real-time data processing. It is ideal for real-time inserts, updates and queries, and has the replication and high scalability required for real-time data storage on the website.

2) Cache. Due to its high performance, it is suitable as a caching layer for information infrastructure. After the system is restarted, the persistent cache layer built by it can prevent the underlying data sources from being overloaded.

3) High scalability scenarios. Ideal for databases consisting of tens or hundreds of servers, its roadmap already includes built-in support for the MapReduce engine.

Unapplicable scenarios are as follows:

1) Systems that require a high degree of transactionality.

2) Traditional business intelligence applications.

3) Complex cross-document (table) cascade query.

System Introduction

Distributed File System means that the physical storage resources managed by the file system are not necessarily directly connected to the local node. Instead, it is connected to the nodes through a computer network. The design of distributed file systems is based on the client/server model. A typical network may include multiple servers that are accessed by multiple users. In addition, the peer-to-peer feature allows some systems to play the dual role of client and server.

HBase is a distributed, column-oriented open source database. The technology comes from the Google paper "Bigtable: A distributed storage system for structured data" written by Fay Chang.

Yonghong Data Mart is a data storage and data processing software developed based on its own technology. Yonghong Data Mart's distributed file storage system (ZDFS) is a transformation and expansion based on Hadoop HDFS, which integrates all nodes in the server cluster. Unified management and storage of stored files.

Applicable scenarios

The main goal of MongoDB is to combine the key/value storage method (providing high performance and high scalability) and It builds a bridge between traditional RDBMS systems (with rich functions) and combines the advantages of both. According to the official website, Mongo is suitable for the following scenarios.

● Website data: Mongo is very suitable for real-time insertion, update and query, and has the replication and high scalability required for real-time data storage of the website.

● Caching: Due to its high performance, Mongo is also suitable as a caching layer for information infrastructure. After the system is restarted, the persistent cache layer built by Mongo can prevent the underlying data source from being overloaded.

● Large size, low value data: It may be more expensive to store some data using traditional relational databases. Before this, programmers often chose traditional files for storage.

● High scalability scenarios: Mongo is very suitable for databases consisting of dozens or hundreds of servers, and Mongo's roadmap already includes built-in support for the MapReduce engine.

● For storage of objects and JSON data: Mongo’s BSON data format is very suitable for storage and query in documented formats.

Discomfort scenarios

● Highly transactional systems: for example, banking or accounting systems. Traditional relational databases are currently more suitable for applications that require a large number of atomic and complex transactions.

● Traditional business intelligence applications: BI databases for specific problems will produce highly optimized query methods. For such applications, a data warehouse may be a more suitable choice.

● Questions that require SQL.

Application Cases

The following are some practical applications of MongoDB in companies:

    • Archives using MongoDB on Craiglist Billions of records.
    • FourSquare, a location-based social networking site, uses MongoDB to share data on Amazon EC2 servers.
      Shutterfly, an internet-based social and personal publishing service, uses MongoDB for a variety of persistent data storage requirements.
      bit.ly, a web-based URL shortening service, uses MongoDB to store its data.
      spike.com, an affiliate of MTV Networks, spike.com uses MongoDB.
      Intuit, a provider of software and services for small businesses and individuals, uses MongoDB for small businesses to track user data.
      sourceforge.net, a resource website to find, create and publish open source software for free, using MongoDB backend storage.
      etsy.com, a website for buying and selling handmade items, uses MongoDB.
      The New York Times, one of the leading online news portals, uses MongoDB.
      CERN, the famous particle physics institute, uses MongoDB for data from the Large Hadron Collider at the European Center for Nuclear Research.

The above is the detailed content of Detailed explanation of the characteristics, principles, usage scenarios, and application cases of MongoDB. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:cnblogs.com. If there is any infringement, please contact admin@php.cn delete