MongoDB Q&A
1. Define MongoDB.
It is document oriented database which is used to high availability, easy scalability and high performance. It supports the dynamic schema design.
2. Explain replica set.
It is a group of mongo instances that maintain same data set. Replica sets provide redundancy and high availability, and are the basis for all production deployments.
3. What are the key features of mongodb?
There are 3 main features of mongodb that are automatic scaling, High performance and high availability.
4. What is CRUD?
Mongodb provides CRUD operations that are create, Read, Update, Delete.
5. What is sharding?
sharding means to store the data on the multiple machines.
6. What is Aggregation in MongoDB?
Aggregations are operations that process data records and return computed results.
7. Define the namespace in mongodb?
It is the concatenation of collection name and database.
8. Which syntax is used to create collection in mongodb?
db.createCollection(name,options) is used to create collection in mongodb.
9. Which syntax is used to drop collection in mongodb?
db.collection.drop() is used to drop coolection in mongodb.
10. Explain Replication.
Replication is the process of synchronizing data across multiple servers.
11. What is the use of Index in mongodb?
Indexes provide high performance read operations for frequently used queries.
12. Which command is used for inserting a document?
database.collection.insert (document) is used for inserting a document.
13. What is use of GridFS in mongodb?
GridFS is used for storing and retrieving the large files like audio, Images, Video files.
14. What is the use journaling?
Journaling is used to safe backups in mongodb.
15. Which command is used to see the connection?
db_adminCommand (“connPoolStats”); is used to see the connection.
16. Define primary replica sets?
The primary replica set accepts all write operations from clients.
17. Define secondary replica sets.
The secondaries (page 565) replicate the primary’s oplog and apply the operations to their data sets such that the secondaries’ data sets reflect the primary’s data set.
18. What is the use of profiler?
Profiler is used to show the performance characteristics of every operation against the database.
19. Which type of data mongodb store?
MongoDB stores data in the form of documents, which are JSON-like field and value pairs.
20. What is purpose of replication?
Replication provides redundancy and increases data availability.
21. what is embedded documents?
Embedded documents capture relationships between data by storing related data in a single document structure.
22. Define application level encryption.
Application Level Encryption provides encryption on a per-field or per-document basis within the application layer.
23. What is storage encryption?
Storage Encryption encrypts all MongoDB data on the storage or operating system to ensure that only authorized processes can access protected data.
24. Which method is used to create an index?
CreateIndex() method is used to create an index.
25. What is replica set oplog?
The oplog records all operations that modify the data in the replica set.
26. What is vertical scaling?
Vertical scaling adds more CPU and storage resources to increase capacity.
27. Define horizontal scaling.
It divides the data set and distributes the data over multiple servers, or shards.
28. What are the components of shared cluster?
Sharded cluster has the following components: shards, query routers and config servers.
29. Which command is use to create database?
DATABASE_NAME command is used to create database.
30. Which command is use to drop database?
db.dropDatabse() command is used to drop the database.
31. What is the use of pretty() method?
Pretty() method is used to show the results in a formatted way.
32. Which method is used to remove the document form the collection?
Remove() method is used to remove the document form the collection.
33. Define Mongodb projection.
Projection is used to select only necessary data.It did not select whole data of a document.
34. What is the use of limit() method?
Limit() method is used to limit the records in database.
35. What is the syntax of limit() method?
>db.COLLECTION_NAME.find().limit(NUMBER) syntax is used.
36. What is the syntax of sort() method?
>db.COLLECTION_NAME.find().sort({KEY:1}) syntax is used for sorting the documents.
37. Which command is used to create the backup of database?
Mongodump command is used to create the backup of database.
38. What is collection in monodb?
In monogodb collection is a group of mongodb documents.
39. What is the use of db command?
Db command gives the name of currently selected database.
40. Which method is used to update the documents into a collection?
Update() and save() methods are used to update the documents into a collection.
41. What is the syntax of skip() method?
The syntax of skip methopd is >db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER).
42. Which command is used to restore the backup?
Mongorestore command is used to restore the backup.
43. What is the use of Dot notation in mogodb?
MongoDB uses the dot notation to access the elements of an array and to access the fields of an embedded document.
44. Define auditing.
Auditing provides administrators with the ability to verify that the implemented security policies are controlling activity in the system.
45. Define Aggregation Pipeline.
It is a framework for performing aggregation tasks.T he pipeline is used to transform the documents into aggregated results.
46. Define Map reduce.
Map-reduce is a generic multi-phase data aggregation modality which is used for processing quantities of data.
47. What is splitting in mongodb?
It is a background process that is used to keep chunks from growing too large.
48. Which language is used to wite mongodb?
C++ language is used for writing and implementing mongodb.
49. In which format mongodb stores the data?
Mongodb uses collection to store the data rather than in table.
50. What is the use of save() method?
Save() method is used to replace the existing document to the new document.
51. What is MongoDB?
MongoDB (from humongous) is a cross-platform document-oriented database. Classified as a NoSQL database, MongoDB eschews the traditional table-based relational database structure in favor of JSON-like documents with dynamic schemas (MongoDB calls the format BSON), making the integration of data in certain types of applications easier and faster. Released under a combination of the GNU Affero General Public License and the Apache License, MongoDB is free and open-source software.
First developed by the software company 10gen (now MongoDB Inc.) in October 2007 as a component of a planned platform as a service product, the company shifted to an open source development model in 2009, with 10gen offering commercial support and other services. Since then, MongoDB has been adopted as backend software by a number of major websites and services, including Craigslist, eBay, Foursquare, SourceForge, Viacom, and the New York Times, among others. MongoDB is the most popular NoSQL database system.
52. What is the use of MongoDB?
MongoDB is relational database management system (RDBMS) replacement for web applications. So when you have something which is close to RDBMS, MongoDB could be of good use. It gives you that additional partition tolerance which RDMBS doesn’t give but it has problems with availability. But if you want more scalability, MongoDB would be your choice. It’s suitable for real-time analytics and high speed logging. It’s highly scalable as well. Craigslist uses MongoDB for archived posts.
53. What do you understand by NoSQL databases? Is MongoDB a NoSQL database? Explain.
At the present time, the internet is loaded with big data, big users, big complexity etc. and also becoming more complex day by day. NoSQL is answer of all these problems; it is not a traditional database management system, not even a relational database management system (RDBMS). NoSQL stands for “Not Only SQL”. NoSQL is a type of database that can handle and sort all type of unstructured, messy and complicated data. It is just a new way to think about the database.Yes. MongoDB is a NoSQL database.
54. What type of DBMS is MongoDB?
MongoDB is a document oriented DBMS>
55. What is the difference between MongoDB and MySQL?
Although MongoDB and MySQL both are free and open source databases, there is a lot of difference between them in the term of data representation, relationship, transaction, querying data, schema design and definition, performance speed, normalization and many more. To compare MySQL with MongoDB is like a comparison between Relational and Non-relational databases.
56. What is the use of MongoDB?
• MongoDB is typically used as the primary data store for operational applications with real-time requirements (i.e., low-latency, high availability). MongoDB is generally a good fit for 60%-80% of the applications you may be building today. MongoDB is easy to operate and scale in ways that are hard if not impossible with relational databases.
• MongoDB excels in many use cases where relational databases aren’t a good fit, like applications with unstructured, semi-structured and polymorphic data, as well as applications with large scalability requirements or multi-data center deployments.
• MongoDB may not be a good fit for some applications. For example, applications that require complex transactions (e.g., a double-entry bookkeeping system) and scan-oriented applications that access large subsets of the data most of the time may not be a good fit for MongoDB. MongoDB is not a drop-in replacement for legacy applications built around the relational data model and SQL.
• Some common use cases include mobile apps, product catalogs, real-time personalization, content management and applications delivering a single view across multiple systems
57. What kind of database is MongoDB?
MongoDB is a document-oriented DBMS. Think of MySQL but with JSON-like objects comprising the data model, rather than RDBMS tables. Significantly, MongoDB supports neither joins nor transactions. However, it features secondary indexes, an expressive query language, atomic writes on a per-document level, and fully-consistent reads.
Operationally, MongoDB features master-slave replication with automated failover and built-in horizontal scaling via automated range-based partitioning.
58. What language is MongoDB written in?
MongoDB is implemented in C++. Drivers and client libraries are typically written in their respective languages, although some drivers use C extensions for better performance.
59. What are the limitations of 32-bit versions of MongoDB?
MongoDB uses memory-mapped files. When running a 32-bit build of MongoDB, the total storage size for the server, including data and indexes, is 2 gigabytes. For this reason, do not deploy MongoDB to production on 32-bit machines.
If you’re running a 64-bit build of MongoDB, there’s virtually no limit to storage size. For production deployments, 64-bit builds and operating systems are strongly recommended.
60. While creating Schema in MongoDB what are the points need to be taken in consideration?
Points need to be taken in consideration are:
• Design your schema according to user requirements
• Combine objects into one document if you use them together. Otherwise, separate them
• Do joins while write, and not when it is on read
• For most frequent use cases optimize your schema
• Do complex aggregation in the schema