Professional Documents
Culture Documents
Graph Moderndatabase Report
Graph Moderndatabase Report
Graph Moderndatabase Report
PostgreSQL
d. SQLite
Relational database vs NoSQL databases
e. Oracle
a. MySQL
b. Microsoft SQL Server
accordingly. But there are some companies and
II.I Characteristics of relational databases businesses who are just emerging or switching to this
database approach from traditional relational database,
Relational database generally works with relational without deep research or understanding it accordingly.
tables and assumptions. Therefore, these assumptions Below the different types of NoSQL type and the
actually make the relational database not the real characteristics of this database is discussed.
reflective of the real world. In relational or SQL
databases world we have restrictions of what we put in
a table as it is has clear structural schema. All the
III.I Types and characteristics of NoSQL databases
records must follow the predefined schema that we
have in the beginning of the data structured process of NoSQL databases can store lots and lots of data in an
the record. We store data, distributed across multiple efficient way. Unlike relational database, in this kind of
tables which we then connect with relations. Then we databases we have collections, documents to create the
can use SQL to query these relationships for different database for the data in hand.
outputs and queries.
The following types of NoSQL databases can used,
The following are some of the common features or depending on the data model we use;
characteristics of relational databases;
a. Key-value data model: Prepared as collection
• Strict schema of key-value pairs. E.g. Redis, DynamoDB, Riak
• Relation world etc.
• Restriction on data duplication: b. Column-oriented: They store data in a
• Normalised distributed data column. E.g. Cassandra, Apache Hbase,MapD
etc.
c. Document store: Allows the inserting,
Data model is used to structure the data in the database retrieving and manipulating of semi-
model and then links are created between the different structured data. E.g. XML, JSON, BSON etc.
d. Graph data stores: Where relationships are
entities in the database. The normalised distributed data
presented as graphs. E.g. Neo4j, Allegro
is the core advantage and strong characteristics of
Graph, Redis Graph etc.
relational database. As this normalised distributed data
can be then merged with SQL queries. Duplication is
minimised as well by using the Primary key of one table Some of the common features and characteristics of the
in another record as a Foreign key when creation NoSQL databases are discussed below.
relationships of different entities.
NoSQL has no schema or flexible schema, which allows
for flexibility and addition of data in the near future to
your database. There is also No relationships, so you put
III. NOSQL DATABASES all your collections in one place to process it later. As
NoSQL databases are the reflection of the real world there is less relation merging going on, this makes it
as it doesn’t have much assumptions and restrictions super and fast efficient querying. The downside or
like in as the relational database. NoSQL databases are disadvantage side of it is that it duplicates data, for
non-relational databases, which are new technologies example if you have employee name changed. You must
emerging among organizations and businesses in today’s change all the data in the different collections related to
world. Many companies are utilizing the benefit of this that employee name, as there are no relationships
database approach by implementing it very well and which makes it changeable in relational database.
IV. COMPARISON BETWEEN RELATIONAL DATABASES NoSQL:
AND NOSQL DATABASES
o NoSQL is Schema-less or has flexible schema. This
can be advantageous and disadvantageous. The
more flexible can be an advantage or can be
The main purpose of my research is to compare disadvantage as you can’t rely on the records you
Relational databases vs NoSQL databases. As well to have as there is no schema to give you a
come up if some of the characteristics have similarities guideline.
and commonality. This purpose or comparison can give o There is no or few relations. This is great for
reading and query a lot. But can be disadvantage
an insight to businesses or originations when dealing with
in a way when you have a lot of write request that
data and choosing which database to choose for that affect multiple collections, as you have to update
case. it simultaneously causing data duplications.
o In NoSQL data is typically merged, which serves
The differences and comparison are discussed below in a certain purposes than having lot of queries.
form of advantage and disadvantage and relating both o Both horizontal and vertical scaling is possible
database approaches accordingly. unlike in relational database.
o Great performance for mass read and write
Relational database/ SQL: requests. Except when you have to update a lot
which may slow the performance.
o The structural schema can really be an advantage
or disadvantage. If you want to be flexible it could
be disadvantage but an advantage if you want to Below is summary of the differences of both databases
have predictable structure or layout, which can Relational database and NoSQL databases.
minimise errors and data structure.
o The relations can be an advantage when updating Relational database (SQL) NoSQL databases
data, as you only update once at it is managed and
stored in one place unlike in NoSQL. But can be Data uses Schema No schema or schema-less
disadvantage when you do complex query, the
Have relations Few relations or No
performance can be slow as compared to NoSQL.
This is because you have to merge the relations
relationships manually when doing query unlike in
Distribution of data is Data is usually merged or
NoSQL.
across multiple tables nested in few collections
o Data is distributed across multiple tables. This can
be advantage or disadvantage as above as in Horizontal scaling is Horizontal scaling is possible
regarding updating.
impossible or very difficult
o At some point scaling can be hard. This is one of
the strong disadvantages, because vertical scaling Vertical scaling possible but Vertical scaling is possible
has limitation and horizontal scaling is impossible limitations
in relational database or SQL. Unlike in NoSQL
databases can be split horizontally as there is no There are limitations when Great performance lots read
relationship with the data. querying lots of read & & write queries
o There are limitations when dealing with lots or write queries per second
masses of read and write queries per second
request. Table 1. SQL VS NoSQL
V. CONCLUSIONS AND FUTURE RESEARCHES or applications. The research of my topic comes to
conclusion with future developments also considered in
accordance to both relational database and NoSQL
To conclude or to come up to which one is better or databases. Even though technology is emerging highly
more appropriate? There is no clear border as you can and evolving, there is always a better or efficient way to
use or build an application with either databases. Except deal with the current situation with old technologies and
when you grow big where you have to use both or traditional ways. It is always better and wise to do
databases. Mainly you have to think about your core research before using one of the technologies available,
strength and requirements. Whether you need clear in this case research relating you new project and the
schema, do you use a lot of relationships, do you work databases you want to use.
with data that changes frequently and is used on your
different part of applications, then in this case you need
relational database. As this allows you to manage your ACKNOWLEDGMENT
data as the above guidelines you thought of.
I thank the University of Greenwich for giving me the
knowledge and guidelines in order to conduct this
research paper. I would also, like to acknowledge Dr.
The NoSQL approach is great for application when you Tatiana the lecturer of this course for giving me the
need to write and read a lot. But not necessarily update required knowledge related to NoSQL data and general
regularly in your databases. As well when read and database. It really gave me the platform and the
display your data as quickly as possible without running encourage to conduct this research and paper.
complex join query. Also, where scaling is also a matter of
concern. Then you may be leaning to NoSQL DATABASE.
or better off choosing NoSQL DATABASE.