• Home
  • Courses
  • Offers
  • Blog
  • Jobs
  • Reviews
  • Contact
Call us now: +919513332301, +919513332302
info@tibacademy.in
TIB ACADEMY
  • Home
  • Courses
  • Offers
  • Blog
  • Jobs
  • Reviews
  • Contact

Blog

Home » Introduction to Mongodb and Python – Tibacademy

Introduction to Mongodb and Python – Tibacademy

  • Posted by admin
  • Date May 10, 2020
  • Comments 0 comment

Basically, Python is a flexible and powerful programming language that can be applied for various different types of real world applications within the development environment. While playing a role as a language, Python seems to be more flexible. When it comes to complex python application development, it needs a database that can make the operation flexible as itself. Here, the NoSQL DB, especially MongoDB acts as the jewel in the crown. Why it’s so?! Let’s discuss about this in detail to find solution to your ultimate questions “SQL or NoSQL?” and “Why MongoDB?”

“SQL (or) NoSQL?”

SQL is the developer’s default choice to develop the large scale DB systems since a decade. However, spotlights would be always on the new inventions and innovations that can make the work easiest than the existing one. So MongoDB conquers the place of SQL DB as the need of storage increases day by day to store the complex, heterogeneous and structure-less data. MongoDB is basically a NoSQL DB that becomes more popular and playing a key role in the current development community in recent years. Compare to RDBMS, data storage and data retrieval can be done easily using NoSQL databases. Choice of choosing different database is wider in NoSQL DB. Because each has its own uses case to match the scenario. Some of the common use cases are mentioned below;

  • Key-Value Store: DynamoDB
  • Document Store: CouchDB, MongoDB, RethinkDB
  • Column Store: Cassandra
  • Data-Structures: Redis

Let’s discuss about some pros and cons of SQL and NoSQL;

SQL

  • SQL stores the data in tables as it is a relational model DB.
  • SQL DB is the suitable for the upcoming scenario, “when every record belong to same kind and same properties”
  • As the SQL has strict schema, Addition of a new property leads to whole schema alteration.
  • SQL supports ACID properties (i.e.) SQL relies on Atomicity, Consistency, Isolation and D
  • SQL DB scales well vertically.

NoSQL

  • NoSQL DB stores the data as JSON, key-value and any type that rely on NoSQL DB as it is a non-relational model.
  • No SQL DB is the suitable for the upcoming Scenario, “when every record has belongs to different nature”. This proves its flexible and adaptable characteristics.
  • As NoSQL has flexible schema, Addition of a new property will not result in any kind of interference.
  • No SQL DB also supports ACID transaction property. But Consistency can vary depending on the NoSQL DB that we are using.
  • NoSQL DB Scales well horizontally.

Why MongoDB?

From the previous discussion, we can conclude that both SQL and NoSQL have their strengths and weaknesses. So, you have to choose the best and obvious one based on the requirements and specific scenario of your current application. Nowadays, both SQL and NoSQL databases have even begun to merge with each other to support some advanced features.

For Example,

“Storing and querying of JSON data are supported by PostgreSQL”

With Postgres, you can now achieve many as mentioned above. But merits of MongoDB like indexing, horizontal scaling and its simple interfacing features elevates it to the higher place than the other DB.

Let’s now shift our attention and shed some light on the specifics of MongoDB;

MongoDB is an open-source and document-oriented database program. It is platform-independent and it stores its data in documents using a JSON structure. That’s why it allows the data to be so flexible with lenient schema. It supports virtual storage irrespective of the types of data (structured, partially structured, even polymorphic). Being a document based DB, you can store the data in a single document. As it is a highly flexible and agile, it allows you to quick application development.

In MongoDB, you can find support for standard query types, like matching (==), comparison (<, >), or even regex. It has the flexibility and scalability to manage a standalone server and complete clusters of independent servers. Moving data across multiple sources using MongoDB (i.e.) MongoDB provides load balancing support. It provides automatic failover support to backup the primary server incase the server goes down.

MongoDB Management Service (MMS) is a web tool that is used to track your machines. Here the memory mapped files also used to perform quite a bit of RAM. This leads to the quick retrieval without indexing any specific document key.

MongoDB can act as the solution to many database problems and bigdata issues. But, it isn’t without its drawbacks. So let’s see some of the common drawbacks faced in MongoDB;

  • MongoDB supports ACID transactions in a limited sense. As it has distributed nature; it does not support ACID transactions.
  • It also do lack of support for native joins.

By this discussion, now we can understand, “What is MongoDB exactly?” “Why MongoDB can be embedding with Python?”

Let’s see some samples for “How MongoDB can be embedding with Python?”

1. PyMongo Installation:

PyMongo is the official driver released by the Mongo developers.

Install PyMongo in your virtual environment:

Start Python console and run this command:

If you have mac, use homebrew for installation:

Note: Homebrew is the package manager that is used for easy software installation in mac OS.

New terminal window after installation:

2. Connection Establishment:

Import MongoClient class:

Specify the host / port (or) use Mongo URI format:

3. DB Access:

Specify the DB as an attribute (or) use dictionary style access:

4. Documents Insertion:

insert_one() – To insert many documents at a time.

insert_many() – To insert multiple documents at a time faster than the insert_one().

When it ran, Output will be,

5. Documents Retrieving:

Use find_one() to retrieve a document:

Use find() to retrieve more than one document:

To iterate the document:

6. Mongo Engine Installation:

7. Document defining:

8. Document Saving:

Exception if title not defined:

9. Object Oriented Characters:

10. Referencing other documents:

Conclusion:

MongoDB keep up the Python’s potential without influencing its key characteristics such as modernity, scalability and flexibility.

So MongoDB is the apt fit for Python.

I hope this blog will help you to refer specifics and highlights of MongoDB. If you have any questions feel free to contact us.

Reference

https://aws.amazon.com/dynamodb/

http://couchdb.apache.org/

https://www.mongodb.com/

https://www.rethinkdb.com/

http://cassandra.apache.org/

https://redis.io/

Corporate Training
  • Share:
author avatar
admin

Previous post

Important and Useful Interview Quesions of “Data Ware Housing”
May 10, 2020

Next post

10 ways to increase traffic to your website
May 10, 2020

You may also like

How to increase revenues for startups by using digital marketing strategies?
10 May, 2020

Each and every company wants to reach their target audience through different media. But they are always struggling to get the right path to find out. I must say there …

How to get backlink from Wikipedia
10 May, 2020

Wikipedia is one of the oldest and reliable websites. It is currently ranked 5th in worldwide according to Alexi. It ranks for every single term searched for somehow or other. …

8 Simple link building techniques
10 May, 2020

Proper link building is not easy things to do, still, there are many white hat SEO techniques you can start with even today without considerable efforts or expenses. Backlinks from …

Leave A Reply Cancel reply

Your email address will not be published. Required fields are marked *

ENQUIRY FORM

    TIB Academy Logo
    Timing
    07:00 AM – 08:00 PM

    • Facebook
    • Twitter
    • LinkedIn
    • Youtube

    Contact Us

    Second Floor and Third Floor,
    5/3, Varthur Road Kundalahalli Gate,
    Opposite to SKR Convention Hall,
    Next to AXIS Bank, Bengaluru,
    Karnataka 560066

    Call Us

    +91 9513332301 / 02 / 03

    Trending Technologies

    • Python
    • Machine Learning
    • DevOps
    • Data Science
    • MongoDB
    • Django

    Our Services

    • Corporate Training
    • Classroom Training
    • Online Training
    • Fast Track Training
    • Placement Training
    • Soft Skills Training in Bangalore
    About TIB | Placed Students List | Privacy Policy | Terms and Conditions | Feedback | Pay Online | Sitemap | Disclaimer
    Mail us
    info@tibacademy.in
    Call us today!
    +91 95133 32301
    Call Us Landline
    +91 80 4150 4130
    Chat with Us
    +91 95133 32306

    Copyright 2021 TIB Academy Pvt. Ltd., All Right Reserved.
    Corporate Identification Number (CIN): U74999TN2017PTC117018
    100% SECURE PAYMENT.
    ALL MAJOR CREDIT AND DEBIT CARDS ACCEPTED.