当前位置:网站首页>What started mongodb? What are the application scenarios?
What started mongodb? What are the application scenarios?
2022-06-11 19:04:00 【Blue92120】
MongoDB The origin of
A few years ago 10gen The company did SaaS R & D in this area , Because the company MongoDB Ease of use of product storage interface , The user's comments were very good , The company began to develop MongoDB. Therefore 10gen The company was renamed MongoDB.
MongoDB Application
MongoDB Applicable to website data 、 Game data 、 cache 、 High scalability and other scenarios . at present , Baidu 、 Ali 、 Quick taxi 、 JD.COM 、 Catch up network 、360、CERN And many other companies have deployed MongoDB.
MongoDB Characteristics
stay Web2.0 Time , Tradition RDBMS In high performance 、 High availability 、 Under the requirement of high extensibility, I began to fall short of my ability .
As NOSQL A solution , from C++ Open source document type database system written in MongoDB Is the NOSQL shipment dynamic in Of bright star become member .MongoDB By db-engines Website (http://db-engines.com/en/ranking_trend) named 2014 The most popular database management system of the year . To sum up MongoDB The main characteristics of : Document oriented 、 Model freedom 、 High availability 、 Horizontal expansion 、 Rich support .
Document oriented
Documents are stored in MongoDB One of the records , Is a data structure composed of key value pairs . Such as {"company":"itcast","address":"Beijing"}. As document oriented (Document-Oriented) Of Count According to the library ,document And On collection,record To table.
Model freedom
The document is MongoDB The basic unit of data in , A set can be seen as a table without a schema . Model freedom (schema-free), every last Document They all contain metadata information , Each document is not forced to use the same format , At the same time, they also support various indexes . Since there is no mode to change , There is usually no need to migrate large amounts of data . For example, a student file :{"name":"C++lover","like": {"Linux System programming "," Distributed systems ","MongoDB"}}
High availability
High availability (High Availability,HA) Is to minimize downtime due to maintenance and crashes , To improve system and application availability .MongoDB Support in copy set (Replica Set) Fail over through asynchronous replication , Automatic recovery , The primary server in the cluster crashes, stops service and loses data , The backup server gets the majority of votes by election and becomes the primary node , In order to achieve high availability . In this mode, read operations are performed on the backup node to realize read / write separation , Because the backup server synchronizes the primary server in real time Oplog Write operations , Although some appropriate reads can also share the tasks of some primary nodes , But there is a risk of increasing the delay of the slave node . Abreast of the times MongoDB3.0 Provides MVCC Mechanism , It realizes document level concurrency control , Further improve the concurrency performance .
Horizontal expansion
MongoDB It is not recommended to use the slave node to expand the read performance , Instead, use Shards Shard.MongoDB Support fragmentation Technology , It can support parallel processing and horizontal expansion . Through automatic slicing technology ,Shard Ability to distribute data across multiple slices , It can make MongoDB The deployment of addresses the hardware limitations of a single server without increasing the complexity of the application , Solutions include RAM And disk I/O The limitation of , A slice is usually a replica set .
Rich support
MongoDB In addition to providing the above rich functional support , It also provides a wealth of BSON data type , official MongoDB Of Officer, Fang driver the a (C/C++、C#、Java、Node.js、Perl、PHP、Python、Ruby、Scala), In addition, the community supports MongoDB Of Go,Erlang The driver .
Besides MongoDB built-in MapReduce Engine and other aggregation frameworks , Index of spatial geographic data ,GridFS It is suitable for a variety of business needs .
MongoDB Future and thinking
Development in the era of big data will inevitably require programs to be able to handle massive amounts of data ,MongoDB With its own characteristics and with Hadoop The combination of , Undoubtedly, it has established its important position in cloud computing and big data , The market outlook is bright , Demand is naturally strong . On major recruitment websites ,C/C++ Most server engineers have “ be familiar with NOSQL(MongoDB、Redis etc. ) first ” Other requirements .
边栏推荐
- cf:G. Count the Trains【sortedset + bisect + 模拟维持严格递减序列】
- Leetcode: sword finger offer 59 - ii Maximum value of queue [deque + sortedlist]
- 懂机器学习如何入门量化交易?
- 【信号去噪】基于非线性滤波器实现语音自适应去噪附matlab代码
- Friendly tanks fire bullets
- MBA, EMBA, MPa, MEM, pre interview (pre interview) time batch of national colleges and universities has been released (continuously updated) - Wendu Management Institute
- 如何在 SAP BTP 上 手动执行 workflow
- 关于我的 “二进制部署 kubernetes 集群” 的体验
- leetcode:926. Flip the string to monotonically increasing [prefix and + analog analysis]
- Experience of remote office communication under epidemic situation | community essay solicitation
猜你喜欢

cf:C. Restoring the Duration of Tasks【找规律】

金字塔测试原理:写好单元测试的8个小技巧,一文总结

cf:D. Black and White Stripe【连续k个中最少的个数 + 滑动窗口】

更换目标检测的backbone(以Faster RCNN为例)

Cf:b. array determinations
![Leetcode: sword finger offer 56 - ii Number of occurrences of numbers in the array II [simple sort]](/img/cf/7879b320720e1b6f98f1a8bd2feae2.png)
Leetcode: sword finger offer 56 - ii Number of occurrences of numbers in the array II [simple sort]

E-commerce (njupt)
![[image segmentation] image segmentation based on Markov random field with matlab code](/img/62/874b0ac3e1cbb7cad9c3a77da391d7.png)
[image segmentation] image segmentation based on Markov random field with matlab code

cf:G. Count the Trains【sortedset + bisect + 模拟维持严格递减序列】

Niu Ke's questions -- two sorting methods
随机推荐
Record the phpstudy configuration php8.0 and php8.1 extension redis
cf:A. Print a Pedestal (Codeforces logo?) [simple traversal simulation]
Quanzhi T3 development board (4-core arm cortex-a7) - detailed explanation of logo display during system startup
程序员10年巨变,一切都变了又好像没变...
视觉SLAM十四讲笔记-10-2
cf:B. Array Decrements【模拟】
Key contents that wwdc22 developers need to pay attention to
软件开发的整体流程
BottomSheetDialog 使用详解,设置圆角、固定高度、默认全屏等
用户组的操作
Visual slam lecture notes-10-2
[signal denoising] speech adaptive denoising based on nonlinear filter with matlab code
Complete in-depth learning of MySQL from 0 to 1 -- phase 2 -- basics
在 SAP Kyma 上部署一个 Go MSSQL API Endpoint
【Multisim仿真】利用运算放大器产生方波、三角波发生器
5g communication test manual based on Ti am5728 + artix-7 FPGA development board (dsp+arm)
Swagger2简单使用
leetcode:926. Flip the string to monotonically increasing [prefix and + analog analysis]
Let our tanks move happily
Performance of MOS transistor 25n120 of asemi in different application scenarios