You are on page 1of 297

Better Managers for a Better World

Distributed Architectures, Data mesh,


MongoDB and NoSQL databases

DATA SCIENCE
Edgar Frank Codd aka “Ted”

www.romebusinessschool.com
Data science:

www.romebusinessschool.com
Data science:

www.romebusinessschool.com
Data science:

www.romebusinessschool.com
Data science:

www.romebusinessschool.com
Data science:

www.romebusinessschool.com
.

www.romebusinessschool.com
Edgar Frank Codd aka “Ted”

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
www.romebusinessschool.com
www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
CAP Theorem

www.romebusinessschool.com
CAP Theorem

www.romebusinessschool.com
CAP Theorem

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
.

www.romebusinessschool.com
From SQL to NoSQL Better Managers for a Better World
From SQL to NoSQL Better Managers for a Better World
Relational databases Better Managers for a Better World
Relational databases Better Managers for a Better World
Relational databases Better Managers for a Better World
Relational databases Better Managers for a Better World
Relational databases Better Managers for a Better World
New trends Better Managers for a Better World
Not Only SQL Better Managers for a Better World
Not Only SQL Better Managers for a Better World
Not Only SQL Better Managers for a Better World
Schema-less models Better Managers for a Better World
Schema-less models Better Managers for a Better World
NoSQL data models Better Managers for a Better World
NoSQL data models: key-value Better Managers for a Better World
NoSQL data models: column family Better Managers for a Better World
NoSQL data models: column family Better Managers for a Better World
NoSQL data models: graph based Better Managers for a Better World
NoSQL data models: document based Better Managers for a Better World
NoSQL data models: document based Better Managers for a Better World
SQL and NoSQL databases and models Better Managers for a Better World
IDEALLY… Better Managers for a Better World
The Benefits of NoSQL Better Managers for a Better World

When compared to relational databases, NoSQL databases are more


scalable and provide superior performance, and their data model
addresses several issues that the relational model is not designed to
address:
– Geographically distributed architecture instead of expensive,
monolithic architecture
– Large volumes of rapidly changing structured, semi-structured, and
unstructured data
– Agile sprints, quick schema iteration, and frequent code pushes
– Object-oriented programming that is easy to use and flexible
Better Managers for a Better World
NoSQL Database Types Better Managers for a Better World

• Graph stores are used to store information about networks of data, such
as social connections. Graph stores include Neo4J and triple stores like
Fuseki.
• Document databases pair each key with a complex data structure
known as a document.

• Key-value stores are the simplest NoSQL databases. Every single item in
the database is stored as an attribute name (or 'key'), together with its
value. Examples of key-value stores are Riak and Berkeley DB.

• Wide-column stores such as Cassandra and HBase are optimized for


queries over large datasets, and store columns of data together, instead of
rows.
Document Store Better Managers for a Better World

• The central concept is the notion of a "document“ which corresponds to a


row in RDBMS.

• A document comes in some standard formats like JSON (BSON).

• Documents are addressed in the database via a unique key that


represents that document.

• The database offers an API or query language that retrieves documents


based on their contents.

• Documents are schema free, i.e., different documents can have structures
and schema that differ from one another. (An RDBMS requires that each
row contain the same columns.)
MongoDB to documents (JSON): Better Managers for a Better World

{
_id: ObjectId("51156a1e056d6f966f268f81"),
type: "Article",
author: "Derick Rethans",
title: "Introduction to Document Databases with MongoDB",
date: ISODate("2013-04-24T16:26:31.911Z"),
body: "This arti…"
},
{
_id: ObjectId("51156a1e056d6f966f268f82"),
type: "Book",
author: "Derick Rethans",
title: "php|architect's Guide to Date and Time Programming with PHP",
isbn: "978-0-9738621-5-7"
}
Most popular NoSQL database? Better Managers for a Better World

Asking “what NoSQL database is the most popular” is a bit


incorrect since different problems require different types of
NoSQL solutions. …focus on solving very specific problems.
While this allows to achieve the best possible results in those
specific cases, it comes at a cost of some other
functionalities.
Most popular NoSQL database? Better Managers for a Better World
Most popular NoSQL database? Better Managers for a Better World
From NoSQL to graphs Better Managers for a Better World

stole compani
fro loves
on loves appeare
ene m d
compani
my appeare in
on
d
appeare in
ene
d
my
in ene
appeare appeare
my A Good
d Victory of
d Man Goes
to War
in the
Daleks
in

appeare
d
in
From NoSQL to graphs Better Managers for a Better World
From NoSQL to graphs Better Managers for a Better World
From NoSQL to graphs Better Managers for a Better World

name: the Doctor


age: 907
species: Time Lord

first name: Rose


late name: Tyler

vehicle: tardis
model: Type 40
From NoSQL to graphs Better Managers for a Better World
Better Managers for a Better World
Better Managers for a Better World
Better Managers for a Better World
Better Managers for a Better World
Better Managers for a Better World
Better Managers for a Better World
Better Managers for a Better World
Better Managers for a Better World
Better Managers for a Better World
Better Managers for a Better World

[ <bibliography>
{ "ISBN": "ISBN-10", <book ISBN="ISBN-10" price="80.00">
"price": 80.00, <title>Foundations of Databases</title>
"title": "Foundations of Databases", <author>Abiteboul</author>
"authors": [ “Abiteboul", "Hull", "Vianu" ], <author>Hull</author>
"publisher": "Addison Wesley", <author>Vianu</author>
"year": 1995, <publisher>Addison Wesley</publisher>
"sections": <year>1995</year>
[{ "title": "Section 1", "sections": <section>
[ { "title": "Section 1.1” }, <title>Section 1</title>
{ "title": "Section 1.2” } ] }, <section><title>Section 1.1</title></section>
{ "title": "Section 2" } ] }, <section><title>Section 1.2</title></section>
… </section>
… <section>
… <title>Section 2</title>
</section>
</book>
</bibliography>
Better Managers for a Better World
Better Managers for a Better World
Terminology Better Managers for a Better World
Documents Better Managers for a Better World
Data Types Better Managers for a Better World
Data Types Better Managers for a Better World
Data Types Better Managers for a Better World
Collections Better Managers for a Better World
Databases Better Managers for a Better World
Better Managers for a Better World
Better Managers for a Better World
Better Managers for a Better World
Better Managers for a Better World
Database schema Better Managers for a Better World
Embedded Docs Better Managers for a Better World
References Better Managers for a Better World
References Better Managers for a Better World
Write operations Better Managers for a Better World
Insert Better Managers for a Better World
Insert Better Managers for a Better World
Read Better Managers for a Better World
Better Managers for a Better World
Querying with predicates Better Managers for a Better World
Projection Better Managers for a Better World
Query with predicate and Projection Better Managers for a Better World
Projection Better Managers for a Better World
Selection criteria Better Managers for a Better World
Selection criteria Better Managers for a Better World
Query conditions Better Managers for a Better World
Query conditions Better Managers for a Better World
Query conditions Better Managers for a Better World
Query conditions Better Managers for a Better World
Query conditions Better Managers for a Better World
Queries for null or missing values Better Managers for a Better World
Queries for null or missing values Better Managers for a Better World
Regular expressions Better Managers for a Better World
Queries on arrays Better Managers for a Better World
Queries on arrays Better Managers for a Better World
Queries on embedded documents Better Managers for a Better World
Queries on embedded documents Better Managers for a Better World
Queries on references Better Managers for a Better World
Queries on references Better Managers for a Better World
Queries on references Better Managers for a Better World
Update Better Managers for a Better World
Update Better Managers for a Better World
Update Better Managers for a Better World
Update Better Managers for a Better World
Update field operators Better Managers for a Better World
Update with upsert Better Managers for a Better World
Delete Better Managers for a Better World
Aggregation pipeline Better Managers for a Better World
Aggregation pipeline Better Managers for a Better World
Main Aggregation Stage Operators Better Managers for a Better World
Main Aggregation Stage Operators Better Managers for a Better World
Main Aggregation Stage Operators Better Managers for a Better World
$match Better Managers for a Better World
$project Better Managers for a Better World
$project Better Managers for a Better World
$unwind Better Managers for a Better World
$group Better Managers for a Better World
$group example Better Managers for a Better World
Main Accumulator Operators Better Managers for a Better World
Better Managers for a Better World
Better Managers for a Better World
Better Managers for a Better World
Better Managers for a Better World
Better Managers for a Better World
Better Managers for a Better World
Better Managers for a Better World

[ { "_id" : "B000944" , [ { "_id" : "HSAG" ,


"birthday" : ISODate ("1952 -11 -09T00:00:00Z"), "displayname " : "House Committee on Agriculture" ,
"gender" : "M" , "type" : "house" ,
"name" : "Sherrod Brown" , "members" :
"roles" : [ { "id" : "C001062" ,
[ { "district" : 13, "role" : "Chair" } ,
"enddate" : ISODate ("1995 -01 -03T00:00:00Z"), { "id" : "G000289" },
"party" : "Democrat" , ……],
"startdate " : ISODate ("1993 -01 -05T00:00:00Z"), "subcommittees" :
"state" : "OH" , [ { "code" : "15" ,
"type" : "rep" } , "displayname " : "Conservation and
{ "district" : 13, Forestry" ,
"enddate" : ISODate ("1997 -01 -03T00:00:00Z"), "members" : [ { "id" : "L000491" ,
"party" : "Democrat" , "role" : "Chair" } ,
"startdate " : ISODate ("1995 -01 -04T00:00:00Z"), { "id" : "T000467" },
"state" : "OH" , … … ] }, … … ] } , … … ]
"type" : "rep" },
……]},……]
Better Managers for a Better World
Better Managers for a Better World
Better Managers for a Better World
Better Managers for a Better World
Better Managers for a Better World
Better Managers for a Better World
Copyright

No part of the previous contents may be reproduced,


copied, modified of adapted, without the prior written
consent of the author, unless otherwise indicated for
stand-alone materials.

Copyright Rome Business School


All rights reserved
Thank you

Via Giuseppe Montanelli, 5


00195, Roma RM
romebusinessschool.com

You might also like