- Mastering MongoDB 3.x
- Alex Giamas
- 375字
- 2021-08-20 10:10:46
Key characteristics
MongoDB has grown to a general purpose NoSQL database, offering the best of both RDBMS and NoSQL worlds. Some of the key characteristics are:
- It's a general purpose database. In contrast with other NoSQL databases that are built for purpose (for example, graph databases), MongoDB can serve heterogeneous loads and multiple purposes within an application.
- Flexible schema design. Document oriented approaches with non-defined attributes that can be modified on the fly is a key contrast between MongoDB and relational databases.
- It's built with high availability from the ground up. In our era of five nines in availability, this has to be a given. Coupled with automatic failover on detection of a server failure, this can help achieve high uptime.
- Feature rich. Offering the full range of SQL equivalent operators along with features such as MapReduce, aggregation framework, TTL/capped collections, and secondary indexing, MongoDB can fit many use cases, no matter how diverse the requirements are.
- Scalability and load balancing. It's built to scale, both vertically but most importantly horizontally. Using sharding, an architect can share load between different instances and achieve both read and write scalability. Data balancing happens automatically and transparently to the user by the shard balancer.
- Aggregation framework. Having an extract transform load framework built in the database means that a developer can perform most of the ETL logic before the data leaves the database, eliminating in many cases the need for complex data pipelines.
- Native replication. Data will get replicated across a replica set without complicated setup.
- Security features. Both authentication and authorization are taken into account so that an architect can secure her MongoDB instances.
- JSON (BSON, Binary JSON) objects for storing and transmitting documents. JSON is widely used across the web for frontend and API communication and as such it's easier when the database is using the same protocol.
- MapReduce. Even though the MapReduce engine isn't as advanced as it is in dedicated frameworks, it is nonetheless a great tool for building data pipelines.
- Querying and geospatial information in 2D and 3D. This may not be critical for many applications, but if it is for your use case then it's really convenient to be able to use the same database for geospatial calculations along with data storage.
推薦閱讀
- Cloud Analytics with Microsoft Azure
- 數(shù)據(jù)產(chǎn)品經(jīng)理:解決方案與案例分析
- Zabbix Network Monitoring(Second Edition)
- 自主研拋機(jī)器人技術(shù)
- 讓每張照片都成為佳作的Photoshop后期技法
- Maya極速引擎:材質(zhì)篇
- 菜鳥起飛系統(tǒng)安裝與重裝
- 電腦上網(wǎng)輕松入門
- Visual C++項(xiàng)目開發(fā)案例精粹
- 學(xué)練一本通:51單片機(jī)應(yīng)用技術(shù)
- Linux Shell編程從初學(xué)到精通
- 大數(shù)據(jù)案例精析
- 典型Hadoop云計(jì)算
- 無人駕駛感知智能
- 傳感器與檢測(cè)技術(shù)