Table Accounts (first_name` VARCHAR(64) NULL , `last_name` VARCHAR(45)

Table 2 Comparison of MongoDB and Oracle 14

Key Feature

Oracle

MongoDB

Data Model

Data
Stores in form of tables.  Follow fixed
schema structure.

Follow
Document based model for representing the data. It is schema less and can
handle unstructured data efficiently

Scalability

Providing
both vertical as  well as horizontal scalability

Provide
an effective horizontal scalability

Transaction reliability

follow
ACID rule hence are more reliable

follow
BASE rule

Complexity

More
Complex

Less Complex

Security

Very secure
mechanism

Less Secure

Crash Recovery

Ensure
crash recovery through its ACID properties

depends
on replication as back up to recover from crash.

Cloud

Not
suitable for cloud applications

Suitable for cloud applications

Big Data Handling

Unable
to handle big data problem

Designed
to deal with the Big Data problem effectively.

 

IV . Crud Operations

 

This
section focuses on the basic operations of CRUD. Two databases, one using
Oracle and one in MongoDB are created to compare the way that data will be
created, selected, inserted and deleted in both databases 21.  MongoDB is a fast responding database
management system. If you want a simple database that will respond very fast, MongoDB
is best choice.  MongoDB support all
major CRUD operations, and provides Aggregation features.  Following are the major CRUD operations – 

 

Table 3 CRUD Operations

Operations

Oracle

MongoDB

Create Table

CREATE TABLE Accounts (first_name`
VARCHAR(64) NULL , `last_name` VARCHAR(45) NULL , PRIMARY KEY (`id`) );

db.accounts.insert({
name:”abc”, age:26, address:”indore”})

Delete
a Table

Drop table accounts;

db.accounts.drop()

Insert

Insert into accounts( name, age,
address ) VALUES ( “abc”, 26, “indore”)

db.accounts.insert({
name:”abc”, age:26, address:”indore”})

Select

Select * from accounts

db.accounts.find()

Select fields

Select first_name, last_name  from accounts

db.accounts.find({ }, {
first_name: 1, last_name: 1 })

Conditional Select

Select * from Accounts where dep_wid=”D”
and balance>5000

db.accounts.find({dep_wid:”d”,
balance:{$gt:5000}})

Ordered Select ascending

Select * from accounts order
by user_id asc

db.accounts.find({}).sort({user_id
: 1})

Ordered Select descending

Select * from accounts order
by user_id desc

db.accounts.find({}).sort({user_id:
-1 })

Select with count

Select count(*) from users

db.articles.count()

Update

update table student set
section=”F”  where marks<30; db.Student.update({marks:{lt:30}}, {$set:{Section:"F"}}) Delete delete from Student db.Student.remove( ) Delete with condition delete from Student where section="a" db.student.delete({section:"a"})   V . Related Work             Several database technologies were developed to handle the present explosive growth of data. Many NoSQL databases evolved over time like Mongo DB, Cassandra, Hbase, Couch base etc for dealing huge unstructured data. This paper analyzes the deployment of MongoDB- a popular NoSQL database in different industrial application areas for the better understanding of its scope and to explore the reasons for employing MongoDB.  Unstructured big data related web or mobile application that requires horizontal scaling and which needs fast and rich querying capabilities, MongoDB is the mostly preferred NoSQL database.1 As the number of records in document database increases, the difference between the execution time taken by different databases for the computation of different database operations is what we are looking for.  For the data retrieval operation, data updation, data creation operation and data deletion the performance of which NoSQL document database is better for the different numbers of records or as the number of records increases.  So far relational databases are used for storing the data for the applications but now there is need to store huge amount of data to store and manage which cannot stored by relational databases. NoSQL technology over comes this problem. The operations are performed to explore the results as distinguish between both NoSql databases. The study shows the performance of Mongodb and CouchDB. Results prove that CouchDB is more powerful than Mongodb to load and process on big data and processing very fast as compare to Mongodb. 2   NoSQL systems are relatively new and most of them implement their own query language or interface. Developers need to learn to use these constructs. If a company needs to train its employees a new technology this also adds to the costs of the database system. Eventually a query language for NoSQL data stores.  One should carefully research if NoSQL database are reasonable to use in his application scenario. However, there is no sign of NoSQL databases disappearing. In any case we therefore need to carefully monitor these systems, as they will become more mature and will surpass traditional relational database systems in even more domains. Because of the vast amount of available NoSQL data stores there will be some consolidation in the market eventually.413   Developers have to evaluate their data in order to identify a suitable data model to avoid unnecessary complexity due to transformation or mapping tasks. Queries which should be supported by the database have to be considered at the same time, because these requirements massively influence the design of the data model. Since no common query language is available, every store differs in its supported query feature set. Afterwards, developers have to trade between high performance through partitioning and load balanced replica servers, high availability supported by asynchronous replication and strict consistency. If partitioning is required, the selection of different partition strategies depends on the supported queries and cluster complexity. Beside these different requirements, also durability mechanism, community support and useful features like versioning influence the database selection. In general, key value stores should be used for very fast and simple operations, document stores offer a flexible data model with great query possibilities, column family stores are suitable for very large datasets which have to be scaled at large size, and graph databases should be used in domains, where entities are as important as the relationships between them.8   NoSQL databases are database management system which uses few or no SQL commands to query, store and delete data.  They are used for situations on which traditional relational database managements were not designed for, such as horizontal scaling and storing large amount of complex objects, which are difficult to store on tables.  Nasal has some advantages to be used for large amount of data.  Nasal may be good option applications which deal to large transactions to persist complex data objects. 7   NoSQL databases different in many aspects from traditional databases like structured schema, transactions methodology, complexity, crash recovery and dealing with storing big data which the feature lead to use NoSQL in cloud computing and may be data warehouse.  NoSQL has shortage in security mainly because their designer focuses on other purposes than security and generally the NoSQL databases solution still fresh it didn't reach the full maturity yet, for all that we can find many security vulnerabilities in it.1215   VI.    Conclusion This paper explores NoSQL databases, its types, key features and need. Comparing these with relational databases and list various advantages and features of NoSQL databases. Also the comparative study of Oracle Database and NoSQL MongoDB has been presented.   Basic CRUD operations in MogoDB and Oracle are being analyzed.   VII.             Future Work MongoDB is well suited for big data applications and also satisfying the needs of this digital world, but still lacks maturity compared to relational databases. Relational Databases have a standard development process.  NoSQL lacks standard development methodology. In future there is an exigent need of investigating development methodologies for NoSQL databases also.