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

Aug 19, 2020 am 11:06 AM
mongodb

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 of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What to do if navicat expires What to do if navicat expires Apr 23, 2024 pm 12:12 PM

Solutions to resolve Navicat expiration issues include: renew the license; uninstall and reinstall; disable automatic updates; use Navicat Premium Essentials free version; contact Navicat customer support.

How to connect navicat to mongodb How to connect navicat to mongodb Apr 24, 2024 am 11:27 AM

To connect to MongoDB using Navicat, you need to: Install Navicat Create a MongoDB connection: a. Enter the connection name, host address and port b. Enter the authentication information (if required) Add an SSL certificate (if required) Verify the connection Save the connection

What is the use of net4.0 What is the use of net4.0 May 10, 2024 am 01:09 AM

.NET 4.0 is used to create a variety of applications and it provides application developers with rich features including: object-oriented programming, flexibility, powerful architecture, cloud computing integration, performance optimization, extensive libraries, security, Scalability, data access, and mobile development support.

Integration of Java functions and databases in serverless architecture Integration of Java functions and databases in serverless architecture Apr 28, 2024 am 08:57 AM

In a serverless architecture, Java functions can be integrated with the database to access and manipulate data in the database. Key steps include: creating Java functions, configuring environment variables, deploying functions, and testing functions. By following these steps, developers can build complex applications that seamlessly access data stored in databases.

How to ensure high availability of MongoDB on Debian How to ensure high availability of MongoDB on Debian Apr 02, 2025 am 07:21 AM

This article describes how to build a highly available MongoDB database on a Debian system. We will explore multiple ways to ensure data security and services continue to operate. Key strategy: ReplicaSet: ReplicaSet: Use replicasets to achieve data redundancy and automatic failover. When a master node fails, the replica set will automatically elect a new master node to ensure the continuous availability of the service. Data backup and recovery: Regularly use the mongodump command to backup the database and formulate effective recovery strategies to deal with the risk of data loss. Monitoring and Alarms: Deploy monitoring tools (such as Prometheus, Grafana) to monitor the running status of MongoDB in real time, and

How to configure MongoDB automatic expansion on Debian How to configure MongoDB automatic expansion on Debian Apr 02, 2025 am 07:36 AM

This article introduces how to configure MongoDB on Debian system to achieve automatic expansion. The main steps include setting up the MongoDB replica set and disk space monitoring. 1. MongoDB installation First, make sure that MongoDB is installed on the Debian system. Install using the following command: sudoaptupdatesudoaptinstall-ymongodb-org 2. Configuring MongoDB replica set MongoDB replica set ensures high availability and data redundancy, which is the basis for achieving automatic capacity expansion. Start MongoDB service: sudosystemctlstartmongodsudosys

How to connect nodejs to database How to connect nodejs to database Apr 21, 2024 am 06:16 AM

To connect to the database, Node.js provides multiple database connector packages for MySQL, PostgreSQL, MongoDB, and Redis. The connection steps include: 1. Install the corresponding connector package; 2. Create a connection pool to maintain reusable connections; 3. Establish a connection with the database. Note: The operation is asynchronous and errors need to be handled to ensure security and optimize performance.

Can navicat connect to mongodb? Can navicat connect to mongodb? Apr 23, 2024 pm 05:15 PM

Yes, Navicat can connect to MongoDB database. Specific steps include: Open Navicat and create a new connection. Select the database type as MongoDB. Enter the MongoDB host address, port, and database name. Enter your MongoDB username and password (if required). Click the "Connect" button.

See all articles