MongoDB

MongoDB

  • MongoDB is a document and NoSQL database
  • Documents are associative arrays like JSON objects or python dictionaries
  • Collections are group of stored documents
  • Support different data types
  • Model data as you read/write
  • Allows structured and unstructured data
  • High availability
  • Documents provide flexible way to store data
  • Flexible schema like seen below -    

  • In relational databases it is important to design and code, however in MongoDB, no complex table definition is required and we can write code as soon as we connect to DB
  • Querying is done using MQL
  • For complex analysis use aggregate pipelines
  • High availabilty - resilience through redundancy, no system maintenance downtime
  • Typical MongoDB setups are three-node replica sets, where one of them is a primary member and the others are secondary members.
    Replication keeps a copy of your data on other data bearing nodes in the cluster.
    If one system fails, the other one takes over and you do not see any downtime.
    This also works for system maintenance situations where you might take away a node for making updates to software, operating systems, file systems, security patches, or your MongoDB version.  

    Use cases :
     MongoDB can be used with IoT devices. These devices generate vast amounts of data.       A weather station will send a temperature and wind speed reading every minute. With       scaling capabilities, MongoDB can easily store all of this data distributed globally.

    MongoDB is a good fit when you want real-time analytics.
    Most organizations want to make better decisions based on their data.
    Doing historical analysis is easy, but only a few can respond to changes happening minute by minute. And most of the time, this is due to complex Extract, Transform, and Load (or ETL) processes.With MongoDB, you can do most of the analysis where the data is stored. That data can be semi-structured or completely unstructured. All of this can be done in real time.

    MongoDB has a part to play in the gaming world, too. With more than ever multiplayer games being played globally, getting the data across is hugely important. With native scalability, also known as Sharding, MongoDB makes it easier to reach users around the world.
          MongoDB can be used with e-commerce solutions.
          Products sold on an e-commerce website have different attributes.
          For example,A book will have attributes such as publisher, writer, and number of pages.
          Products also have attributes such as top reviews, pricing, inventory, and other metadata.
          With the help of documents, sub-documents, and list properties in MongoDB, storing                  the  information together becomes easy so it is optimized for reads.
    MongoDB has usage scenarios in the finance industry too.
    And again, with the flexible schema it is easier to support ever-changing data needs.
    With MongoDB, perform thousands of operations on the database per second.
    And all the information is encrypted while in transfer and when stored on disk.
    Additionally encrypt individual fields to avoid any data incidents.
    And finally, like every industry, financial institutions have much higher requirements for
    reliability and services being available around the clock. We expect our finances
    to be available without any downtime. This makes MongoDB a good choice for banks,
    trading companies, and the financial industry in general.

Comments