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.
      ..................Content has been hidden....................

      You can't read the all page of ebook, please click here login for view all page.
      Reset