You are on page 1of 11

Introduction to NoSQL – Graph Database

AAIN Eka Karyawati


Informatika FMIPA Unud
Bahan Kajian

Introduction to NoSQL: definition of NoSQL database, and the main differences
between NoSQL and SQL;

Four main categories of NoSQL Databases: Key-value stores; Document databases;
Column-oriented databases; and Graph databases;

Introduction to Graph Databases: Graph Theory and Its Applications; Concepts of
Graph Databases; and Query performance;

Neo4j Graph Database: introduction; properties; and Cypher query language

Graph Database vs Ontology;

Applications of Graph Database: NLP and Graph Data Science.

<date/time> <footer> 2
Introduction to NoSQL Databases
A database Management System provides the
mechanism to store and retrieve the data. There are
different kinds of database Management Systems:
1. RDBMS (Relational Database Management Systems)
2. OLAP (Online Analytical Processing)
3. NoSQL (Not only SQL)

<date/time> <footer> 3
What is a NoSQL database?

NoSQL databases are different than relational databases like MySQL. In
relational database you need to create the table, define schema, set the
data types of fields etc before you can actually insert the data. In NoSQL
you don’t have to worry about that, you can insert, update data on the fly.

One of the advantage of NoSQL database is that they are really easy to
scale and they are much faster in most types of operations that we
perform on database.

There are certain situations where you would prefer relational database
over NoSQL, however when you are dealing with huge amount of data
then NoSQL database is your best choice.
<date/time> <footer> 4
The differences between SQL vs NoSQL
SQL databases are relational, NoSQL databases are non-relational.
SQL databases use structured query language and have a predefined
schema. NoSQL databases have dynamic schemas for unstructured data.
SQL databases are vertically scalable, while NoSQL databases are
horizontally scalable.
SQL databases are table-based, while NoSQL databases are document,
key-value, graph, or wide-column stores.
SQL databases are better for multi-row transactions, while NoSQL is better
for unstructured data like documents or JSON.

<date/time> <footer> 5
Types of NoSQL Databases
Four main types of NoSQL databases:
1. Key-value stores
2. Document databases
3. Column-oriented Databases
4. Graph databases

<date/time> <footer> 6
Key-value stores

Its structure consists in pairing keys to values.

When performing a change in a value, the entire value other than the key
must be updated.

It scales well because of the simplicity.

However, it can limit the complexity of the queries and other advanced
features.

Examples:Python Lib (PupDB, PickleDB), Riak, Redis, Dynamo, Azure
Table Storage, BerkeleyDB

<date/time> <footer> 7
Document Databases

The records stored are called documents,
which consist of grouping of key-value pairs.

Values can be nested to arbitrary depths.

Examples: MongoDB, Elastic, Azure
DocumentDB

<date/time> <footer> 8
Column-oriented
Databases/Columnar Databases

While RDBMS store all the data in a particular table’s rows together
on-disk, being able to retrieve a particular row fast

Column-family databases are able to retrieve a large amount of a
specific attribute fast by serializing all the values of a particular
column together on-disk.

This approach is useful for aggregate queries.

Examples: Apache HBase, Apache Cassandra, Amazon Simple DB

<date/time> <footer> 9
Graph Databases

Ideal at dealing with interconnected data.

Their structure consist of connections, or edges, between nodes.

Both nodes and their edges can store additional properties such as key-
value pairs.

The strength of a graph database is in traversing the connections
between the nodes.

Their downside is that they generally require all data to fit on one
machine, limiting their scalability.

Examples: Neo4J, InfiniteGraph, TITAN
<date/time> <footer> 10
<date/time> <footer> 11

You might also like