官术网_书友最值得收藏!

  • Hands-On Big Data Modeling
  • James Lee Tao Wei Suresh Kumar Mukhiya
  • 517字
  • 2021-06-10 18:58:52

Document stores

In document stores, data is saved in documents. Similar to key-value stores, the documents (values) are referenced by unique names (keys). Every document is completely free with regard to its schema; in other words, you can utilize the schema that is required by the application. If demand shifts, adaptations are rather simple. New fields can be attached, and used fields can be eliminated.

MongoDB: As claimed by the community, MangoDB is a strong, flexible, and scalable general-purpose database. It blends the ability to scale out with features such as secondary indexes, range queries, sorting, aggregations, and geospatial indexes. MongoDB is a document-oriented database, not a relational one, and has easy-to-use benefits. 

MongoDB was designed with scalability in mind. It guarantees high performance, high availability, and automatic scaling. Since it is a document-oriented data model, it is easier to split data across multiple servers that are geographically located at distinct locations. The load balancer component of MongoDB automatically balances the data and load across the clusters and redistributes the corresponding documents automatically, routing reads and writes to the correct machines. 

A record in MongoDB is called a document, which is a data structure composed of field and value pairs. MongoDB documents are very similar to JSON objects. The values of fields may include other documents, arrays, and arrays of documents. An example of a MongoDB document is given in the following screenshot, which shows a single object that has a field and a value. For example, name is the field, and sue is its corresponding value. The object belongs to a single person whose name is sue, whose age is 26, who has a status value of A, and who is subscribed to the news and sports groups:

The following are some notable features of MongoDB:

  • It has high-performance data persistence and has support for an embedded data model that reduces I/O activity on the database system.
  • It supports a Rich Query Language (RQL), including data aggregation, text search, and geospatial queries.
  • MongoDB’s replication facility, called a replica set, provides automatic failover and data redundancy. A replica set is a group of MongoDB servers that maintains the same dataset, providing redundancy and increasing data availability.
  • MongoDB provides horizontal scalability as a part of its core functionality.
  • It supports multiple storage engines, including WiredTiger Storage Engine, In-Memory Storage Engine, and MMAPv1 Storage Engine.

CouchDB: CouchDB is a database that completely embraces the web. It stores data with JSON documents and allows for accessing documents with a web browser, via HTTP. CouchDB works well with modern web and mobile apps. We can distribute our data, efficiently using CouchDB’s incremental replication. CouchDB supports master-master setups, with automatic conflict detection: 

  • Queries on CouchDB documents are called views, which are MapReduce based JavaScript functions specifying matching constraints and aggregation logic. 
  • CouchDB also supports optimistic locks based on Multi-Versioned Concurrency Control (MVCC), enabling it to be lock-free during reading operations.
主站蜘蛛池模板: 高要市| 明水县| 从化市| 保亭| 新泰市| 亳州市| 靖安县| 湾仔区| 虞城县| 哈尔滨市| 昂仁县| 塔城市| 昌江| 临清市| 仪征市| 承德市| 夏河县| 冷水江市| 久治县| 伊通| 沧源| 松潘县| 襄城县| 垦利县| 博野县| 齐河县| 莲花县| 和政县| 屯昌县| 龙门县| 蓬莱市| 九寨沟县| 宣汉县| 澜沧| 五华县| 保靖县| 灵石县| 射阳县| 伊金霍洛旗| 靖西县| 玛多县|