1 / 53

MongoDB Introduction, Installation & Execution

MongoDB Introduction, Installation & Execution. By Prof. B.A.Khivsara Note: The material to prepare this presentation has been taken from internet and are generated only for students reference and not for commercial use. Outline.

bstewart
Download Presentation

MongoDB Introduction, Installation & Execution

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MongoDB Introduction, Installation & Execution By Prof. B.A.Khivsara Note: The material to prepare this presentation has been taken from internet and are generated only for students reference and not for commercial use.

  2. Outline

  3. Difference Between SQL and NoSQL • SQL Databases • SQL Standard • SQL Characteristics • SQL Database Examples • NoSQL Databases • NoSQLDefintion • General Characteristics • NoSQL Database Types • NoSQL Database Examples

  4. SQL Characteristics

  5. Data Definition Language

  6. Data Manipulation Language (DML)

  7. Transactions – ACID Properties

  8. SQL Database Examples • Commercial • IBM DB2 • Oracle RDMS • Microsoft SQL Server • Sybase SQL Anywhere • Open Source (with commercial options) • MySQL • Ingres Significant portions of the world’s economy use SQL databases!

  9. NoSQL Definition- From www.nosql-database.org

  10. NoSQL Products/Projects http://www.nosql-database.org/ lists 122 NoSQL Databases • Cassandra • CouchDB • Hadoop & Hbase • MongoDB • StupidDB • Etc.

  11. NoSQL Distinguishing Characteristics

  12. BASE Transactions • Acronym contrived to be the opposite of ACID • Basically Available, • Soft state, • Eventually Consistent • Characteristics • Weak consistency – stale data OK • Availability first • Best effort • Approximate answers OK • Aggressive (optimistic) • Simplerand faster

  13. Brewer’s CAP Theorem

  14. Consistency • all nodes see the same data at the same time – Wikipedia • client perceives that a set of operations has occurred all at once – Pritchett • More like Atomic in ACID transaction properties

  15. Availability • node failures do not prevent survivors from continuing to operate – Wikipedia • Every operation must terminate in an intended response – Pritchett

  16. Partition Tolerance • the system continues to operate despite arbitrary message loss – Wikipedia • Operations will complete, even if individual components are unavailable – Pritchett

  17. Outline

  18. Open Source

  19. NoSQL Database Types

  20. Other Non-SQL Databases • XML Databases • Graph Databases • Codasyl Databases • Object Oriented Databases • Etc…

  21. NoSQL Example: Column Store

  22. Column Store Comments • More efficient than row (or document) store if: • Multiple row/record/documents are inserted at the same time so updates of column blocks can be aggregated • Retrievals access only some of the columns in a row/record/document

  23. NoSQL Examples: Key-Value Store • Hash tables of Keys • Values stored with Keys • Fast access to small data values • Example – Project-Voldemort • http://www.project-voldemort.com/ • Linkedin • Example – MemCacheDB • http://memcachedb.org/ • Backend storage is Berkeley-DB

  24. Map Reduce • Technique for indexing and searching large data volumes • Two Phases, Map and Reduce • Map • Extract sets of Key-Value pairs from underlying data • Potentially in Parallel on multiple machines • Reduce • Merge and sort sets of Key-Value pairs • Results may be useful for other searches

  25. Map Reduce Patent Google granted US Patent 7,650,331, January 2010 System and method for efficient large-scale data processing A large-scale data processing system and method includes one or more application-independent map modules configured to read input data and to apply at least one application-specific map operationto the input data to produce intermediate data values, wherein the map operation is automatically parallelized across multiple processors in the parallel processing environment. A plurality of intermediate data structures are used to store the intermediate data values. One or more application-independent reduce modules are configured to retrieve the intermediate data values and to apply at least one application-specific reduce operation to the intermediate data values to provide output data.

  26. NoSQL Example: Document Store

  27. CouchDB JSON Example { "_id": "guid goes here", "_rev": "314159", "type": "abstract", "author": "Keith W. Hare" "title": "SQL Standard and NoSQL Databases", "body": "NoSQL databases (either no-SQL or Not Only SQL) are currently a hot topic in some parts of computing.", "creation_timestamp": "2011/05/10 13:30:00 +0004" }

  28. CouchDB JSON Tags • "_id" • GUID – Global Unique Identifier • Passed in or generated by CouchDB • "_rev" • Revision number • Versioning mechanism • "type", "author", "title", etc. • Arbitrary tags • Schema-less • Could be validated after the fact by user-written routine

  29. MongoDB

  30. • Scalable High-Performance Open-source, Document-orientated database. • Built for Speed • Rich Document based queries for Easy readability. • Full Index Support for High Performance. • Replication and Failover for High Availability. • Auto Sharding for Easy Scalability. • Map / Reduce for Aggregation. What is MongoDB ?

  31. • SQL was invented in the 70’s to store data. • MongoDB stores documents (or) objects. • Now-a-days, everyone works with objects (Python/Ruby/Java/etc.) • And we need Databases to persist our objects. Then why not store objects directly ? • Embedded documents and arrays reduce need for joins. No Joins and No-multi document transactions. Why use MongoDB?

  32. • RDBMS replacement for Web Applications. • Semi-structured Content Management. • Real-time Analytics & High-Speed Logging. • Caching and High Scalability Web 2.0, Media, SAAS, Gaming What is MongoDB great for? HealthCare, Finance, Telecom, Government

  33. • Highly Transactional Applications. • Problems requiring SQL. Some Companies using MongoDB in Production Not great for?

  34. Advantages of MongoDB

  35. MongoDB Terminologies for RDBMS concepts

  36. JSON

  37. BSON

  38. BSON Example { "_id" : "37010" “City" : “Nashik", “Pin" : 423201, "state" : “MH", “Postman” : { name: “Ramesh Jadhav” address: “Panchavati” } }

  39. Data Types of MongoDB

  40. Data Types • String : This is most commonly used datatype to store the data. String in mongodb must be UTF-8 valid. • Integer : This type is used to store a numerical value. Integer can be 32 bit or 64 bit depending upon your server. • Boolean : This type is used to store a boolean (true/ false) value. • Double : This type is used to store floating point values. • Min/ Max keys : This type is used to compare a value against the lowest and highest BSON elements. • Arrays : This type is used to store arrays or list or multiple values into one key. • Timestamp : ctimestamp. This can be handy for recording when a document has been modified or added. • Object : This datatype is used for embedded documents.

  41. Data Types • Null : This type is used to store a Null value. • Symbol : This datatype is used identically to a string however, it's generally reserved for languages that use a specific symbol type. • Date : This datatype is used to store the current date or time in UNIX time format. You can specify your own date time by creating object of Date and passing day, month, year into it. • Object ID : This datatype is used to store the document’s ID. • Binary data : This datatype is used to store binay data. • Code : This datatype is used to store javascript code into document. • Regular expression : This datatype is used to store regular expression

  42. Outline

  43. Find version of Windows

  44. Installation in Windows Download MongoDB from Website: https://www.mongodb.org/downloads Select option Windows Download and Run

  45. Starting MongoDB in Windows

  46. Installation in Ubuntu

  47. Starting MongoDB in Ubuntu

  48. Outline

  49. Basic Database Operations

  50. Basic Database Operations- Database

More Related