Sanjay are well suited in dealing with

Sanjay Tanwani1and Amit Kanojia21 School ofComputer Science & IT, Indore, India2 Department of ComputerScience, M.J.

Govt.Girls PG College, Indore, India  Abstract- The rapid growthin data volume, complexity, variety and velocity of data in organizations, needfor handling unstructured data is increasing continuously.  NoSQL databases are well suited in dealingwith big data applications.  The enormousamount of data generated on web is highly unstructured in nature.  Relational database are designed to managestructured data and is not capable of managing unstructured data and high datavolume.  This paper presents comparative analysis of anOracle Database and NoSQL document oriented database management system -MongoDB.  The comparison depicts keyfeatures, theoretical differences, restrictions and focuses on basic CRUD operations in MogoDB  Key Words- Big data, NoSQL, MongoDB,RDBMS, crud I.

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!


order now

       IntroductionThe term NoSQL was first introduced byCarlo Strozzi in year 1998.  NoSQL standsfor “Not Only SQL”.  The rapid growth of dataand having massive amount of data that comes out every day from the web and businessapplications become hard to handle for RDBMS. This has added interest to alternatives to RDBMS.

  NoSQL databases are defined as distributed,horizontally scalable and open source. 5  Relational database management systemsdefine fixed schema and data is inserted strictly according to schema.  NoSQL databases are built to allow theinsertion of data without predefined schema, which makes it easy to makesignificant application changes in real time and makes development faster.  NoSQL databases are high performance,scalable systems 1.  It is difficult tohandle both the size of data and concurrent actions on data within standardRDBMS.

  Some of the reasons to employNoSQL technique are scalability, high availability; distribute architecturesupport, flexible schema, varied data structure, fault tolerance andconsistency.   MongoDB is an open source project heldby the 10gen.company. It is a document-oriented, schema-less database, whichstores data in BSON (Binary JSON) format. MongoDB can deal with structured semi structured and unstructured dataunlike RDBMS.

MongoDB documents can vary in structure. Fields can vary fromdocument to document. Similar documents are stored in collections.

Here, collectioncorresponds to a table and document corresponds to a record.MongoDB can add, remove or change a field for a document without affectingother documents in the same collection. This saves the expensive ALTER tableoperations that can lead to redesigning the entire set of schemas and themigration of existing database to the new schema. MongoDB documents hold all data for agiven record in a single document as against relational databases where datafor a single record is spread across different tables. Therefore data inMongoDB is more localized, which reduces the need to JOIN separate tables 3.Joins are avoided in MongoDB by embedding documents within the document.

Theresult is increased performance and scalability as a single read to thedatabase can retrieve the entire document. MongoDB also provides horizontalscalability by a technique called Auto sharding and therefore chances of anynode failure are almost nil. Most of the research studies reveal that MongoDBis much faster than MS SQL in writing (inserts/updates) and reading (retrieval)1 II .   No SQL Databases (Classification) NoSQLdatabases are classified as6 –i.                    Documentoriented storeii.

                   Key-valuestoreiii.                 Columnoriented storeiv.                 Graphoriented store A.Document-OrientedDocument-Oriented stores are similar toKey-Value stores with the distinction that values are visible and can bequeried. Data formats such as JSON or XML are used to store document-orienteddatasets.

Document stores provide flexible schema so there is no restrictionfor documents to have the same information or schema. Unlike Key-Value store,it offers the indexing and querying based on values.  These databases store their data in form ofdocuments in the databases. Here the documents are recognized by a unique setof keys and values which are almost same as there in the Key Value databases.

Document Stores Databases are schema free and are variable in nature.614 Other characteristics ofDocument-Oriented stores are horizontal scalability and sharding across thecluster nodes. Examples of some Document- Oriented stores are MongoDB, AmazonDynamoDB, CouchDB, CouchBase, MarkLogic, OrientDB, Rethink DB, Cloudant, RavenDBand Microsoft Azure DocumentDB 6. B.Key-ValueKey-Value Stores as the namesuggests is a combination of two entities: Key and Values.  It is one of the traditional databases thathas given birth to all the other databases of NoSQL. It has a concreteapplication programming interface (API) and allows its users to store data in aschemaless manner.

The stored is in two parts: Key is a unique identifier to a particular data entry. Key should not berepeated if one used that it is not duplicate in nature. Value is a kind of datathat is pointed by a key. 14 Key-Value store is the least complexstorage paradigm amongst NoSQL databases. Key-Value Stores provide bestperformance on basic CRUD (Create, Read, Update and Delete) operations. Theyalso provide scalability and sharding across cluster nodes. Sharding is ahorizontal partitioning technique used to partition large amount of data intosmaller and easily manageable parts/shards.

However, Key-Value databases areless flexible for querying and indexing complex and connected data. Queries forthis category are usually based on keys rather than values. Examples of someKey- Value stores are Redis, Memcached, Riak KV, Hazelcast, Ehcached, OrientDB,Aerospike, Amazon simple DB etc.6 C.Column-OrientedColumn oriented databases are alsoreferred as column family databases. Column oriented stores are feasible whenthere is a need to handle sparse and large amount of data. Column stores in NoSQL are basically hybrid row/columnstore unlike pure relational column databases.

Although it makes use of thecolumnar extensions but rather storing data in the tables it stores them inextensively distributed architecture. Columns are grouped according to therelationship of data. In column stores, each key is associated with one or moreattributes (columns). A Column oriented data storestores its data in such afashion that it can be aggregated rapidly with less I/O activity. It focuses onhigh scalability in data storage.

The data is stored in the sorted sequence ofthe column family. In the comparison of row orienteddatabases, column oriented databases have better capabilities to manage dataand storage space. Horizontal scalability is one of its trendingcharacteristics. Some prominent examples of column oriented databases include blogingand event logging etc. Examples of column-oriented stores are Hbase, Accumulo,Hypertable, Google Cloud Bigtable, Sqrrl, ScyllaDB, MapR-DB614 D.Graph-OrientedGraph databases evolved from the GraphTheory which is designed to represent entities and their relationships as nodesand edges respectively. The graph consists of nodes and edges, where nodes actas the objects and edges act as the relationship between the objects.

Graphdatabases replace relational tables with structured relational graphs ofinterconnected key-value pairings. The graph also consists of propertiesrelated to nodes. It uses a technique called index free adjacency i.

e. everynode consists of a direct pointer which points to the adjacent node. Millionsof records can be traversed using this technique.

In a graph database, focus ison the relation established between data using pointers. Graph databasesprovides schema less and efficient storage of semi structured data. The queriesare expressed as traversals, thus making graph databases faster than relationaldatabases. It is easy to scale and whiteboard friendly. Graph databases supportACID axiom and support rollback14.

  Asgraphs have an expressive power and strong modeling characteristics thus everyscenario from the real world can be represented as graphs and it is possible tomodel in graph database as well. Graph data can be queried more efficientbecause intensive joins are not necessarily required in graph query languages. 6 Fig.

1 NoSQL database types III.              Comparison-Oracle and MongoDb MongoDB is a NoSQL database management systemreleased in 2009. It stores data as JSON-like documents with dynamic schemas (theformat is called BSON).   NoSQL is aclass of database management system different from the traditional relationaldatabases in that data is not stored using fixed table schemas.  Mainly its purpose is to serve as databasesystem for huge web-scale applications where they outperform traditionalrelational databases MongoDB focussed on four factors:flexibility, power, speed and ease of use.

 It supports indexing and it offers multiple programming languagesdrivers.  Database model for MongoDB isschemaless document oreinted wherease Oracle database supports relationalmodel. Oracle databases possesses a standarnd query language SQl while MongoDBsupports API calls.

 MongoDB has aggregation functions. Abuilt-in map-reduce function can be used to aggregate large amounts of data.  MongoDB accepts larger data. The Oracledatabase supports maximum value size 4KB whereas MongoDB has maximum value size16 MB.  The integrity model used byOracle Database is ACID, while MongoDB uses BASE. MongoDB offers consistency,durability and conditional atomicity. Oracle Database offers integrity featuresthat MongoDB doesn’t offer like: isolation, transactions, referential integrityand revision control.  In manners ofdistribution both MongoDB and Oracle Database are horizontal scalable and have supportfor data replication.

While MongoDB offers sharing support, Oracle Databasedoesn’t.  Both MongoDB and OracleDatabase are cross platform database management systems. Oracle Database waswritten in C++, C and Java, while MongoDB was written in C++.

MongoDB is a freewareproduct, while licencence is needed to use Oracle databases.  17. A.     Features of Mongodb•       MongoDB provides high performance.•       Has rich query language, support all major CRUDoperations, and provides Aggregation features.

•       MongoDB provides High availability with AutoReplication feature.  Data is restoredthrough backup (replica) in case failure of server.•       Provides automatic failover mechanism•       Sharding is major feature due to which horizontalscalability is possible.

•       A record in MongoDB is a document•       Holds collections of documents B.     advantagesof Mongodb•       MongoDB  is simpleand very easy to install and setup.•       MongoDB is a schema-less database. •       The document query language supported by MongoDBplays a vital role in supporting dynamic queries.•       Very easy to scale.•       In MongoDB no complex joins are needed.

Becausesdata stored in BSON format – key value pair way. •       It useds internal memory for storage of data due tothis faster access of the data is possible in MongoDB. •       In MongoDB enhancement in performance can be doneeasily compared to any relational databases.•       No need of mapping the application objects to thedata objects.•       MongoDB support Sharding results in the horizontalscaling.  Relational databases supportvertical scaling. 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  Thissection focuses on the basic operations of CRUD.

Two databases, one usingOracle and one in MongoDB are created to compare the way that data will becreated, selected, inserted and deleted in both databases 21.  MongoDB is a fast responding databasemanagement system. If you want a simple database that will respond very fast, MongoDBis best choice.  MongoDB support allmajor 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 . RelatedWork            Severaldatabase technologies were developed to handle the present explosive growth ofdata. Many NoSQL databases evolved over time like Mongo DB, Cassandra, Hbase,Couch base etc for dealing huge unstructured data. This paper analyzes thedeployment of MongoDB- a popular NoSQL database in different industrialapplication areas for the better understanding of its scope and to explore thereasons for employing MongoDB.  Unstructuredbig data related web or mobile application that requires horizontal scaling andwhich needs fast and rich querying capabilities, MongoDB is the mostlypreferred NoSQL database.1As the number of records in documentdatabase increases, the difference between the execution time taken bydifferent databases for the computation of different database operations iswhat we are looking for.  For the dataretrieval operation, data updation, data creation operation and data deletionthe performance of which NoSQL document database is better for the differentnumbers of records or as the number of records increases.

  So far relational databases are used for storingthe data for the applications but now there is need to store huge amount ofdata to store and manage which cannot stored by relational databases. NoSQLtechnology over comes this problem. The operations are performed to explore theresults as distinguish between both NoSql databases. The study shows theperformance of Mongodb and CouchDB. Results prove that CouchDB is more powerfulthan Mongodb to load and process on big data and processing very fast ascompare to Mongodb. 2 NoSQL systems are relatively new andmost of them implement their own query language or interface. Developers needto learn to use these constructs.

If a company needs to train its employees anew technology this also adds to the costs of the database system. Eventually aquery language for NoSQL data stores. One should carefully research if NoSQL database are reasonable to useinhis application scenario. However, there is no sign of NoSQL databasesdisappearing. In any case we therefore need to carefully monitor these systems,as they will become more mature and will surpass traditional relationaldatabase systems in even more domains. Because of the vast amount of available NoSQLdata stores there will be some consolidation in the market eventually.413 Developers have to evaluatetheir data in order to identify a suitable data model to avoid unnecessarycomplexity due to transformation or mapping tasks.

Queries which should besupported by the database have to be considered at the same time, because theserequirements massively influence the design of the data model. Since no commonquery language is available, every store differs in its supported query featureset. Afterwards, developers have to trade between high performance throughpartitioning and load balanced replica servers, high availability supported byasynchronous replication and strict consistency. If partitioning is required,the selection of different partition strategies depends on the supportedqueries and cluster complexity. Beside these different requirements, alsodurability mechanism, community support and useful features like versioninginfluence the database selection. In general, key value stores should be usedfor very fast and simple operations, document stores offer a flexible datamodel with great query possibilities, column family stores are suitable forvery large datasets which have to be scaled at large size, and graph databasesshould be used in domains, where entities are as important as the relationshipsbetween them.

8 NoSQL databases are databasemanagement system which uses few or no SQL commands to query, store and deletedata.  They are used for situations onwhich traditional relational database managements were not designed for, suchas horizontal scaling and storing large amount of complex objects, which aredifficult to store on tables.  Nasal hassome advantages to be used for large amount of data.  Nasal may be good option applications whichdeal to large transactions to persist complex data objects. 7 NoSQL databases different inmany aspects from traditional databases like structured schema, transactionsmethodology, complexity, crash recovery and dealing with storing big data whichthe feature lead to use NoSQL in cloud computing and may be data warehouse.  NoSQL has shortage in security mainly becausetheir designer focuses on other purposes than security and generally the NoSQLdatabases solution still fresh it didn’t reach the full maturity yet, for allthat we can find many security vulnerabilities in it.

1215 VI.   ConclusionThispaper explores NoSQL databases, its types, key features and need. Comparingthese with relational databases and list various advantages and features ofNoSQL databases. Also the comparative study of Oracle Database andNoSQL MongoDB has been presented.   Basic CRUD operations in MogoDB and Oracleare being analyzed.

 VII.            Future WorkMongoDB is well suitedfor big data applications and also satisfying the needs of this digital world,but still lacks maturity compared to relational databases. Relational Databaseshave a standard development process.  NoSQLlacks standard development methodology. In future there is an exigent need of investigatingdevelopment methodologies for NoSQL databases also.  References1.

  Abraham,Sunu Mary. “Comparative Analysis of MongoDB Deployments in DiverseApplication Areas.” InternationalJournal of Engineering and Management Research (IJEMR) 6.

1 (2016): 21-24.2.  Chauhan,Ashutosh Singh, Anjali Kedawat, and Pooja Parnami. “An Approach toImplement Map Reduce with NoSQL Databases.”3.  Das, T.K.

, and P. Mohan Kumar. “Big data analytics: A framework for unstructureddata analysis.” InternationalJournal of Engineering Science & Technology 5.1 (2013): 153.

4.  Eckerstorfer,Florian. “Performance of NoSQL Databases.” (2011).5.   Faraj, Azhi, Bilal Rashid, and Twana Shareef.

“Comparative study of relational and non-relations database performancesusing Oracle and MongoDB systems.” JournalImpact Factor 5.11 (2014):11-22.

6.  Farooq,Hina, Azka Mahmood, and Javed Ferzund. “Do NoSQL Databases Cope withCurrent Data Challenges.”7.  Franco,M., and M.

Nogueira. “Using NoSQL Database to Persist Complex DataObjects.” Instituto deInformatica, Universidade Federal de Goias (UFG), VIII Seminário dePós-Graduação da UFG-Mestrado (2011).8.

  Hecht,Robin, and Stefan Jablonski. “NoSQL evaluation: A use case orientedsurvey.” Cloud andService Computing (CSC), 2011 International Conference on. IEEE, 2011.9.  Heripracoyo,Sulistyo, and Roni Kurniawan. “Big Data Analysis with MongoDB for DecisionSupport System.

” TELKOMNIKA(Telecommunication Computing Electronics and Control) 14.3 (2016): 1083-1089.10.Li, Yishan, and Sathiamoorthy Manoharan.”A performance comparison of SQL and NoSQL databases.” Communications, computers andsignal processing (PACRIM), 2013 IEEE pacific rim conference on.

IEEE,2013.11.Mapanga, Innocent, and Prudence Kadebu.”Database management systems: A nosql analysis.” Interna-tional Journal of ModernCommunication Technologies & Research (IJMCTR) 1 (2013): 12-18.12.Mohamed, Mohamed A.

, Obay G. Altrafi, andMohammed O. Ismail. “Relational vs. nosql databases: A survey.” International Journal of Computerand Information Technology 3.03(2014): 598-601.13.

Nayak, Ameya, Anil Poriya, and Dikshay Poojary. “Type ofNOSQL databases and its comparison with relational databases.” International Journal of AppliedInformation Systems 5.4(2013): 16-19.14.

Swaroop, Pankhudi, and K. R. S. S. N. R. VijitGupta. “NoSQL Paradigm and Performance Evaluation.

” Scientific Society of AdvancedResearch and Social Change 3(2016).15.Zaki, Asadulla Khan. “NoSQL databases: newmillennium database for big data, big users, cloud computing and its securitychallenges.

” InternationalJournal of Research in Engineering and Technology (IJRET) 3.15 (2014): 403-409.16.Zvarevashe, Kudakwashe, and Tatenda TrustGotora.

“A Random Walk through the Dark Side of NoSQL Databases in BigData Analytics.” InternationalJournal of Science and Research 3.6(2014): 506-509.17.Boicea, Alexandru, Florin Radulescu, and LauraIoana Agapin. “MongoDB vs Oracle–database comparison.” EmergingIntelligent Data and Web Technologies (EIDWT), 2012 Third InternationalConference on. IEEE, 2012.

18.Priyanka, AmitPal. “A Review of NoSQLDatabases, Types and Comparison with Relational Database.” InternationalJournal of Engineering Science 4963 (2016).19. Gy?rödi, Cornelia, et al.

“A comparativestudy: MongoDB vs. MySQL.” Engineering of Modern Electric Systems(EMES), 2015 13th International Conference on. IEEE, 2015.

20. Simanjuntak, Humasak TA, et al. “QUERYRESPONSE TIME COMPARISON NOSQLDB MONGODB WITH SQLDB ORACLE.” JUTI:Jurnal Ilmiah Teknologi Informasi 13.1 (2015): 95-105.21.Truic?, Ciprian Octavian, Alexandru Boicea, andIonut Trifan. “CRUD operations in MongoDB.

” Proceedings ofthe 2013 international Conference on Advanced Computer Science and ElectronicsInformation, Ed. Atlantis Press. 2013. Authors Profile 

x

Hi!
I'm Ruth!

Would you like to get a custom essay? How about receiving a customized one?

Check it out