NoSQL Module -5
NoSQL Module -5
Database
Dept of CSE
Course Objectives
CLO 1. Recognize and Describe the four types of NoSQL Databases, the Document-oriented,
Key-Value pairs
CLO 2. Column-oriented and Graph databases useful for diverse applications.
CLO 3. Apply performance tuning on Column-oriented NoSQL databases and Document-
oriented NoSQL Databases.
CLO 4. Differentiate the detailed architecture of column oriented NoSQL database,
Document database and Graph Database and relate usage of processor, memory, storage
and file system commands.
CLO 5. Evaluate several applications for location based service and recommendation
services. Devise an application using the components of NoSQL
Dept of CSE
Course Outcomes
CO1. Demonstrate an understanding of the detailed architecture of Column Oriented NoSQL
databases, Document databases, Graph databases.
CO2. Use the concepts pertaining to all the types of databases.
CO3. Analyze the structural Models of NoSQL.
CO4. Develop various applications using NoSQL databases.
Assessment Details (both CIE and SEE)
Continuous Internal Evaluation:
Three Unit Tests each of 20 Marks (duration 01 hour) 60M
Dept of CSE
Textbooks
1. Sadalage, P. & Fowler, NoSQL Distilled: A Brief Guide to the Emerging World of
Polyglot Persistence, Pearson Addision Wesley, 2012
Reference Books
1. Dan Sullivan, "NoSQL For Mere Mortals", 1st Edition, Pearson Education India, 2015.
(ISBN- 13: 978-9332557338)
Dept of CSE 2. Dan McCreary and Ann Kelly, "Making Sense of NoSQL: A guide for Managers and the
Rest of us", 1st Edition, Manning Publication/Dreamtech Press, 2013. (ISBN-13: 978-
9351192022)
3. Kristina Chodorow, "Mongodb: The Definitive Guide- Powerful and Scalable Data
Storage", 2nd Edition, O'Reilly Publications, 2013. (ISBN-13: 978-9351102694)
Weblinks and Video Lectures (e-Resources):
1. https://www.geeksforgeeks.org/introduction-to-nosql/ ( and related links in the
page)
Dept of CSE
Graph
Databases
Graph
Dept of CSE
Dept of CSE
Graph
Databases
Dept of CSE
Graph
Databases
Dept of CSE
Graph
Databases
Dept of CSE
Graph
Databases
Dept of CSE
Graph
Databases
Dept of CSE
Graph
Databases
Dept of CSE
Graph
Databases
Dept of CSE
Graph
Databases
Dept of CSE
Graph
Databases
Dept of CSE
Graph
Databases
Dept of CSE
Graph
Databases
Neo4J
• Neo4j is a graph database that stores data in the form of
graphs. The name "Neo4j" comes from the Greek words "neo"
(meaning new) and the suffix "4j" (indicating that it's the fourth
version of the database).
• In Neo4J, creating a graph is as simple as creating two nodes and
then creating a relationship.
Dept of CSE
• Let’s create two nodes, Martin and Pramod:
Node martin = graphDb.createNode();
martin.setProperty("name", "Martin");
Node pramod = graphDb.createNode();
pramod.setProperty("name", "Pramod");
Graph
Databases
• We have assigned the name property of the two nodes the
values of Martin and Pramod.
• Once we have more than one node, we can create a
relationship:
martin.createRelationshipTo(pramod, FRIEND);
pramod.createRelationshipTo(martin, FRIEND);
Dept of CSE
Graph
Databases
Dept of CSE
Graph
Databases
Features of Neo4j
• Following are the notable features of Neo4j −
• Data model (flexible schema) − Neo4j follows a data model named native property graph model. Here,
the graph contains nodes (entities) and these nodes are connected with each other (depicted by
relationships). Nodes and relationships store data in key-value pairs known as properties.
• In Neo4j, there is no need to follow a fixed schema. You can add or remove properties as per requirement.
It also provides schema constraints.
• ACID properties − Neo4j supports full ACID (Atomicity, Consistency, Isolation, and Durability) rules.
• Scalability and reliability − You can scale the database by increasing the number of reads/writes, and the
volume without effecting the query processing speed and data integrity. Neo4j also provides support for
Dept of CSE replication for data safety and reliability.
• Cypher Query Language − Neo4j provides a powerful declarative query language known as Cypher. It uses
ASCII-art for depicting graphs. Cypher is easy to learn and can be used to create and retrieve relations
between data without using the complex queries like Joins.
• Built-in web application − Neo4j provides a built-in Neo4j Browser web application. Using this, you can
create and query your graph data.
•
Graph
Databases
Advantages of
Neo4j
• Following are the advantages of Neo4j.
• Flexible data model − Neo4j provides a flexible simple and yet powerful data
model, which can be easily changed according to the applications and industries.
• Real-time insights − Neo4j provides results based on real-time data.
• High availability − Neo4j is highly available for large enterprise real-time
applications with transactional guarantees.
Dept of CSE • Connected and semi structures data − Using Neo4j, you can easily represent
connected and semi-structured data.
• Easy retrieval − Using Neo4j, you can not only represent but also easily retrieve
(traverse/navigate) connected data faster when compared to other databases.
• Cypher query language − Neo4j provides a declarative query language to represent
the graph visually, using an ascii-art syntax. The commands of this language are in
human readable format and very easy to learn.
• No joins − Using Neo4j, it does NOT require complex joins to retrieve
connected/related data as it is very easy to retrieve its adjacent node or
relationship details without joins or indexes.
Graph
Databases
Dept of CSE
Graph
Databases
Dept of CSE