SlideShare a Scribd company logo
1 of 16
NoSQL Data Modeling
IdoFriedman.yml
Name: Ido Friedman,
Past:”SQL Server consultant,Instructor,Team Leader”
Present:”Data engineer and Architect,
Elasticsearch,CouchBase,MongoDB,Python”,…]
WorkPlace:Perion
WhenNotWorking:@Sea
Let’s talk
• What is the role of data modeling
• What does data modeling effect
Data models
Document Columnar Graph
Relational New SQL*
And
more..
Document
Data Domains
On line
Batch
Real time
analytics
Micro
batch
Streaming
Schema and structure
Schema
free
Structured
Unstruc
tured
Semi
Structured
• Who needs schemas?
• Schema description
Normalization/De-Normalization
• Born to reserve storage and keep data integrity (RI)
• Resolve data joining issues
• Performance aspects
Is it still relevant???
Normalization example
{"_index": "user_profiles",
"_type": "properties",
"_id": "25467834901804247006200168495554902214",
"_version": 4,
"_score": 1,
"_source": {
"app_package_id": 4495665825523018,
"device_id": "b94b29c3-f03f-4e43-a646-53708e025779",
"group_id": 876,
"customer_user_id": "",
"customer_device_id": "b2f5fbfb-5d05-01e9-32e9-a8b332e9a8b3",
"advertise_id": "",
"device_os": "android",
"device_os_comparable_version": "00000004.00000002.00000002.00000017",
"device_os_full_name": "android 4.2.2.17",
"android_id": "c93334e4e246b83c",
"manufacturer": "OPPO",
"model": "R1001",
"screen_width": 480,
"screen_height": 800,
"device_language": "vi",
"cpu": "",
"is_rooted": 1,
"is_jailbroken": 0,
"vendor": "perion",
"app_installation_time": 1435173851000,
"push_allowed": 1,
"operator": "Beeline VN",
"mcc": "452",
"mnc": "07",
"mac_address": "",
"created_at": 1435174685000,
"registered_in_desktop": "",
"short_country_code": "VN",
"updated_at": 1435259712000,
"app_package_name": "com.gingersoftware.android.keyboard",
"app_version_type": ""
}
}
"manufacturer": "OPPO",
{"_index": "events-2015-06-04",
"_type": "events",
"_id": "AU4-zg5nOG4dkiMGKrCx",
"_version": 1,
"_score": 1,
"_source": {
"numeric_value_unit": "key",
"event_type_name": "custom",
"text_value": "",
"event_date": 1433440149000,
"numeric_value": 13,
"quantity": 0,
"event_name": "Saved Tap",
"numeric_value_name": "taps saved",
"app_package_id": 1433440149000,
"api_key": “asasa1w121",
"device_id": "c5eb1fe0-8a77-41ef-9f79-ed7ed69d32e6"
}
}
"event_name": "Saved Tap",
"event_name": "SVD T",
"event_name": "Saved TP",
"event_name": "Saved",
Constraints
• No BIG Brother
• Data can't be verified once it leaves
the application
Transactions
• Atomicity
• Locking
• Rollback
Relations type
• One to One
• One to Many
• Many to Many
Relations example
1 to Many
City : Person
1 to 1
Employee: Resume
{
_id:101,
Name:Jason Voorhees,
Age: 99
Resume_ID:1004
}
{
_id:1004,
Jobs:[Cook]
Education:[Knifery]
Hobbies:[Murder]
Employee_id:101
}
{
"name" : "Dam Square, Amsterdam",
"location" : {
"type" : "polygon",
"coordinates" : [[
[ 4.89218, 52.37356 ],
[ 4.89205, 52.37276 ], ….…
]]}
}
{
_id:101,
Name:Jason Voorhees,
Age: 99
Resume_ID:1004
}
Many to Many
Student : Teacher
{
_id:101,
Name:Jason Voorhees,
Age: 99
Resume_ID:1004
Courses:[“Chainsaw 101”,”Axing”],
Teachers:[101]
}
{
_id:101,
Name: “Freddy Krueger”,
Age: 60
Resume_ID:1004
Skills: [{Skill:}]
}
Embedding
• Embed
• Known doc size
• Data is highly related
• No joins
• Don’t Embed
• Very large data sets
• Data is updated rapidly
Doesn’t fit ….
• Use the data model that most fits your needs
• Don’t be afraid of Polyglot Persistence
Polyglot Persistence
• Data usage patterns
• Readers vs. Writers
• Online vs. Batch
• Concurrency
• Issues
• Data freshness
• Data consistency
• System Coupling
Questions?

More Related Content

What's hot

5 Data Modeling for NoSQL 1/2
5 Data Modeling for NoSQL 1/25 Data Modeling for NoSQL 1/2
5 Data Modeling for NoSQL 1/2Fabio Fumarola
 
MongoDB for Coder Training (Coding Serbia 2013)
MongoDB for Coder Training (Coding Serbia 2013)MongoDB for Coder Training (Coding Serbia 2013)
MongoDB for Coder Training (Coding Serbia 2013)Uwe Printz
 
NoSQL: Why, When, and How
NoSQL: Why, When, and HowNoSQL: Why, When, and How
NoSQL: Why, When, and HowBigBlueHat
 
Benefits of using MongoDB: Reduce Complexity & Adapt to Changes
Benefits of using MongoDB: Reduce Complexity & Adapt to ChangesBenefits of using MongoDB: Reduce Complexity & Adapt to Changes
Benefits of using MongoDB: Reduce Complexity & Adapt to ChangesAlex Nguyen
 
An Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDBAn Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDBLee Theobald
 
Cool NoSQL on Azure with DocumentDB
Cool NoSQL on Azure with DocumentDBCool NoSQL on Azure with DocumentDB
Cool NoSQL on Azure with DocumentDBJan Hentschel
 
Introduction à DocumentDB
Introduction à DocumentDBIntroduction à DocumentDB
Introduction à DocumentDBMSDEVMTL
 
MongoDB Schema Design by Examples
MongoDB Schema Design by ExamplesMongoDB Schema Design by Examples
MongoDB Schema Design by ExamplesHadi Ariawan
 
Azure doc db (slideshare)
Azure doc db (slideshare)Azure doc db (slideshare)
Azure doc db (slideshare)David Green
 
NoSQL with ASP.NET MVC
NoSQL with ASP.NET MVCNoSQL with ASP.NET MVC
NoSQL with ASP.NET MVCManoj Bandara
 
Mongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorials
Mongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorialsMongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorials
Mongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorialsSpringPeople
 
Introduction to mongo db
Introduction to mongo dbIntroduction to mongo db
Introduction to mongo dbRohit Bishnoi
 

What's hot (20)

5 Data Modeling for NoSQL 1/2
5 Data Modeling for NoSQL 1/25 Data Modeling for NoSQL 1/2
5 Data Modeling for NoSQL 1/2
 
MongoDB for Coder Training (Coding Serbia 2013)
MongoDB for Coder Training (Coding Serbia 2013)MongoDB for Coder Training (Coding Serbia 2013)
MongoDB for Coder Training (Coding Serbia 2013)
 
No sql
No sqlNo sql
No sql
 
Mongo DB
Mongo DB Mongo DB
Mongo DB
 
SQL & NoSQL
SQL & NoSQLSQL & NoSQL
SQL & NoSQL
 
NoSQL: Why, When, and How
NoSQL: Why, When, and HowNoSQL: Why, When, and How
NoSQL: Why, When, and How
 
Benefits of using MongoDB: Reduce Complexity & Adapt to Changes
Benefits of using MongoDB: Reduce Complexity & Adapt to ChangesBenefits of using MongoDB: Reduce Complexity & Adapt to Changes
Benefits of using MongoDB: Reduce Complexity & Adapt to Changes
 
An Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDBAn Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDB
 
Cool NoSQL on Azure with DocumentDB
Cool NoSQL on Azure with DocumentDBCool NoSQL on Azure with DocumentDB
Cool NoSQL on Azure with DocumentDB
 
Introduction à DocumentDB
Introduction à DocumentDBIntroduction à DocumentDB
Introduction à DocumentDB
 
The What and Why of NoSql
The What and Why of NoSqlThe What and Why of NoSql
The What and Why of NoSql
 
MongoDB Schema Design by Examples
MongoDB Schema Design by ExamplesMongoDB Schema Design by Examples
MongoDB Schema Design by Examples
 
Azure doc db (slideshare)
Azure doc db (slideshare)Azure doc db (slideshare)
Azure doc db (slideshare)
 
NoSQL with ASP.NET MVC
NoSQL with ASP.NET MVCNoSQL with ASP.NET MVC
NoSQL with ASP.NET MVC
 
Mongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorials
Mongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorialsMongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorials
Mongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorials
 
MongoDB
MongoDBMongoDB
MongoDB
 
MongoDB
MongoDBMongoDB
MongoDB
 
Introduction to mongo db
Introduction to mongo dbIntroduction to mongo db
Introduction to mongo db
 
Introduction to datomic
Introduction to datomicIntroduction to datomic
Introduction to datomic
 
Mongo db
Mongo dbMongo db
Mongo db
 

Viewers also liked

ประวัติ สุภัสสร
ประวัติ  สุภัสสรประวัติ  สุภัสสร
ประวัติ สุภัสสรSupassron Thongnuch
 
Prime Star Powerpoint Corp Overview2010 Ppsx
Prime Star Powerpoint Corp Overview2010 PpsxPrime Star Powerpoint Corp Overview2010 Ppsx
Prime Star Powerpoint Corp Overview2010 PpsxKen Celebucki
 
PP Presentation 1-w Sound
PP Presentation 1-w SoundPP Presentation 1-w Sound
PP Presentation 1-w Soundkorte1sl
 
Manual power point
Manual power pointManual power point
Manual power pointtravajo
 
Autonome voertuigen
Autonome voertuigenAutonome voertuigen
Autonome voertuigenJeroenVB
 
Advertentie Crescendo Venlo
Advertentie Crescendo VenloAdvertentie Crescendo Venlo
Advertentie Crescendo Venloahavis
 
Final copy of sam mendes
Final copy of sam mendesFinal copy of sam mendes
Final copy of sam mendeslobomaniac
 
Nuevas tecnologias
Nuevas tecnologiasNuevas tecnologias
Nuevas tecnologiasoksanazayats
 
Unleashing the potential of Consultative Selling by Shieny Aprilia
Unleashing the potential of Consultative Selling by Shieny ApriliaUnleashing the potential of Consultative Selling by Shieny Aprilia
Unleashing the potential of Consultative Selling by Shieny ApriliaAgate Studio
 
A Novel Multiple-kernel based Fuzzy c-means Algorithm with Spatial Informatio...
A Novel Multiple-kernel based Fuzzy c-means Algorithm with Spatial Informatio...A Novel Multiple-kernel based Fuzzy c-means Algorithm with Spatial Informatio...
A Novel Multiple-kernel based Fuzzy c-means Algorithm with Spatial Informatio...CSCJournals
 
Fonts & colors
Fonts & colorsFonts & colors
Fonts & colorsStacey
 

Viewers also liked (20)

Practica 5 ntae
Practica 5 ntaePractica 5 ntae
Practica 5 ntae
 
Facebook
FacebookFacebook
Facebook
 
ประวัติ สุภัสสร
ประวัติ  สุภัสสรประวัติ  สุภัสสร
ประวัติ สุภัสสร
 
Aprendizaje invertido
Aprendizaje invertidoAprendizaje invertido
Aprendizaje invertido
 
Prime Star Powerpoint Corp Overview2010 Ppsx
Prime Star Powerpoint Corp Overview2010 PpsxPrime Star Powerpoint Corp Overview2010 Ppsx
Prime Star Powerpoint Corp Overview2010 Ppsx
 
PP Presentation 1-w Sound
PP Presentation 1-w SoundPP Presentation 1-w Sound
PP Presentation 1-w Sound
 
CV - Kavitha
CV - KavithaCV - Kavitha
CV - Kavitha
 
Manual power point
Manual power pointManual power point
Manual power point
 
Me[1][1]
Me[1][1]Me[1][1]
Me[1][1]
 
Autonome voertuigen
Autonome voertuigenAutonome voertuigen
Autonome voertuigen
 
CCF SciVerse Update
CCF SciVerse UpdateCCF SciVerse Update
CCF SciVerse Update
 
Advertentie Crescendo Venlo
Advertentie Crescendo VenloAdvertentie Crescendo Venlo
Advertentie Crescendo Venlo
 
Final copy of sam mendes
Final copy of sam mendesFinal copy of sam mendes
Final copy of sam mendes
 
lezione n 1
lezione n 1lezione n 1
lezione n 1
 
Nuevas tecnologias
Nuevas tecnologiasNuevas tecnologias
Nuevas tecnologias
 
Unleashing the potential of Consultative Selling by Shieny Aprilia
Unleashing the potential of Consultative Selling by Shieny ApriliaUnleashing the potential of Consultative Selling by Shieny Aprilia
Unleashing the potential of Consultative Selling by Shieny Aprilia
 
A Novel Multiple-kernel based Fuzzy c-means Algorithm with Spatial Informatio...
A Novel Multiple-kernel based Fuzzy c-means Algorithm with Spatial Informatio...A Novel Multiple-kernel based Fuzzy c-means Algorithm with Spatial Informatio...
A Novel Multiple-kernel based Fuzzy c-means Algorithm with Spatial Informatio...
 
Iss
IssIss
Iss
 
Fonts & colors
Fonts & colorsFonts & colors
Fonts & colors
 
UTM JOURNAL
UTM JOURNALUTM JOURNAL
UTM JOURNAL
 

Similar to NoSQL Tel Aviv Meetup#1: NoSQL Data Modeling

Conceptual vs. Logical vs. Physical Data Modeling
Conceptual vs. Logical vs. Physical Data ModelingConceptual vs. Logical vs. Physical Data Modeling
Conceptual vs. Logical vs. Physical Data ModelingDATAVERSITY
 
Data Modelling Zone 2019 - data modelling and JSON
Data Modelling Zone 2019 - data modelling and JSONData Modelling Zone 2019 - data modelling and JSON
Data Modelling Zone 2019 - data modelling and JSONGeorge McGeachie
 
chapter5-220725172250-dc425eb2.pdf
chapter5-220725172250-dc425eb2.pdfchapter5-220725172250-dc425eb2.pdf
chapter5-220725172250-dc425eb2.pdfMahmoudSOLIMAN380726
 
Chapter 5: Data Development
Chapter 5: Data Development Chapter 5: Data Development
Chapter 5: Data Development Ahmed Alorage
 
MongoDB & NoSQL 101
 MongoDB & NoSQL 101 MongoDB & NoSQL 101
MongoDB & NoSQL 101Jollen Chen
 
How to Survive as a Data Architect in a Polyglot Database World
How to Survive as a Data Architect in a Polyglot Database WorldHow to Survive as a Data Architect in a Polyglot Database World
How to Survive as a Data Architect in a Polyglot Database WorldKaren Lopez
 
The Semantic Knowledge Graph
The Semantic Knowledge GraphThe Semantic Knowledge Graph
The Semantic Knowledge GraphTrey Grainger
 
Steps towards business intelligence
Steps towards business intelligenceSteps towards business intelligence
Steps towards business intelligenceAhsan Kabir
 
Introduction to Graph databases and Neo4j (by Stefan Armbruster)
Introduction to Graph databases and Neo4j (by Stefan Armbruster)Introduction to Graph databases and Neo4j (by Stefan Armbruster)
Introduction to Graph databases and Neo4j (by Stefan Armbruster)barcelonajug
 
Machine Learning and AI at Oracle
Machine Learning and AI at OracleMachine Learning and AI at Oracle
Machine Learning and AI at OracleSandesh Rao
 
SQL to NoSQL: Top 6 Questions
SQL to NoSQL: Top 6 QuestionsSQL to NoSQL: Top 6 Questions
SQL to NoSQL: Top 6 QuestionsMike Broberg
 
Using SparkML to Power a DSaaS (Data Science as a Service): Spark Summit East...
Using SparkML to Power a DSaaS (Data Science as a Service): Spark Summit East...Using SparkML to Power a DSaaS (Data Science as a Service): Spark Summit East...
Using SparkML to Power a DSaaS (Data Science as a Service): Spark Summit East...Spark Summit
 
201906 02 Introduction to AutoML with ML.NET 1.0
201906 02 Introduction to AutoML with ML.NET 1.0201906 02 Introduction to AutoML with ML.NET 1.0
201906 02 Introduction to AutoML with ML.NET 1.0Mark Tabladillo
 
Working with MongoDB as MySQL DBA
Working with MongoDB as MySQL DBAWorking with MongoDB as MySQL DBA
Working with MongoDB as MySQL DBAIgor Donchovski
 
Data lineage and observability with Marquez - subsurface 2020
Data lineage and observability with Marquez - subsurface 2020Data lineage and observability with Marquez - subsurface 2020
Data lineage and observability with Marquez - subsurface 2020Julien Le Dem
 
Introducing DocumentDB
Introducing DocumentDB Introducing DocumentDB
Introducing DocumentDB James Serra
 
Data Natives Munich v 12.0 | "How to be more productive with Autonomous Data ...
Data Natives Munich v 12.0 | "How to be more productive with Autonomous Data ...Data Natives Munich v 12.0 | "How to be more productive with Autonomous Data ...
Data Natives Munich v 12.0 | "How to be more productive with Autonomous Data ...Dataconomy Media
 

Similar to NoSQL Tel Aviv Meetup#1: NoSQL Data Modeling (20)

Conceptual vs. Logical vs. Physical Data Modeling
Conceptual vs. Logical vs. Physical Data ModelingConceptual vs. Logical vs. Physical Data Modeling
Conceptual vs. Logical vs. Physical Data Modeling
 
Data Modelling Zone 2019 - data modelling and JSON
Data Modelling Zone 2019 - data modelling and JSONData Modelling Zone 2019 - data modelling and JSON
Data Modelling Zone 2019 - data modelling and JSON
 
chapter5-220725172250-dc425eb2.pdf
chapter5-220725172250-dc425eb2.pdfchapter5-220725172250-dc425eb2.pdf
chapter5-220725172250-dc425eb2.pdf
 
Chapter 5: Data Development
Chapter 5: Data Development Chapter 5: Data Development
Chapter 5: Data Development
 
DA_01_Intro.pptx
DA_01_Intro.pptxDA_01_Intro.pptx
DA_01_Intro.pptx
 
MongoDB & NoSQL 101
 MongoDB & NoSQL 101 MongoDB & NoSQL 101
MongoDB & NoSQL 101
 
How to Survive as a Data Architect in a Polyglot Database World
How to Survive as a Data Architect in a Polyglot Database WorldHow to Survive as a Data Architect in a Polyglot Database World
How to Survive as a Data Architect in a Polyglot Database World
 
The Semantic Knowledge Graph
The Semantic Knowledge GraphThe Semantic Knowledge Graph
The Semantic Knowledge Graph
 
Steps towards business intelligence
Steps towards business intelligenceSteps towards business intelligence
Steps towards business intelligence
 
Introduction to Graph databases and Neo4j (by Stefan Armbruster)
Introduction to Graph databases and Neo4j (by Stefan Armbruster)Introduction to Graph databases and Neo4j (by Stefan Armbruster)
Introduction to Graph databases and Neo4j (by Stefan Armbruster)
 
Introduction to azure document db
Introduction to azure document dbIntroduction to azure document db
Introduction to azure document db
 
Machine Learning and AI at Oracle
Machine Learning and AI at OracleMachine Learning and AI at Oracle
Machine Learning and AI at Oracle
 
SQL to NoSQL: Top 6 Questions
SQL to NoSQL: Top 6 QuestionsSQL to NoSQL: Top 6 Questions
SQL to NoSQL: Top 6 Questions
 
Using SparkML to Power a DSaaS (Data Science as a Service): Spark Summit East...
Using SparkML to Power a DSaaS (Data Science as a Service): Spark Summit East...Using SparkML to Power a DSaaS (Data Science as a Service): Spark Summit East...
Using SparkML to Power a DSaaS (Data Science as a Service): Spark Summit East...
 
201906 02 Introduction to AutoML with ML.NET 1.0
201906 02 Introduction to AutoML with ML.NET 1.0201906 02 Introduction to AutoML with ML.NET 1.0
201906 02 Introduction to AutoML with ML.NET 1.0
 
Working with MongoDB as MySQL DBA
Working with MongoDB as MySQL DBAWorking with MongoDB as MySQL DBA
Working with MongoDB as MySQL DBA
 
Neo4j in Depth
Neo4j in DepthNeo4j in Depth
Neo4j in Depth
 
Data lineage and observability with Marquez - subsurface 2020
Data lineage and observability with Marquez - subsurface 2020Data lineage and observability with Marquez - subsurface 2020
Data lineage and observability with Marquez - subsurface 2020
 
Introducing DocumentDB
Introducing DocumentDB Introducing DocumentDB
Introducing DocumentDB
 
Data Natives Munich v 12.0 | "How to be more productive with Autonomous Data ...
Data Natives Munich v 12.0 | "How to be more productive with Autonomous Data ...Data Natives Munich v 12.0 | "How to be more productive with Autonomous Data ...
Data Natives Munich v 12.0 | "How to be more productive with Autonomous Data ...
 

Recently uploaded

VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)Delhi Call girls
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.soniya singh
 
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...SUHANI PANDEY
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...singhpriety023
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...tanu pandey
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtrahman018755
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge GraphsEleniIlkou
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...nirzagarg
 
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...SUHANI PANDEY
 
Microsoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftMicrosoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftAanSulistiyo
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...Escorts Call Girls
 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...SUHANI PANDEY
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Call Girls in Nagpur High Profile
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...SUHANI PANDEY
 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...SUHANI PANDEY
 

Recently uploaded (20)

VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
 
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
 
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
Russian Call Girls in %(+971524965298  )#  Call Girls in DubaiRussian Call Girls in %(+971524965298  )#  Call Girls in Dubai
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
 
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
 
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
 
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
 
Microsoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftMicrosoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck Microsoft
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
 
📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱
📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱
📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
 

NoSQL Tel Aviv Meetup#1: NoSQL Data Modeling

  • 2. IdoFriedman.yml Name: Ido Friedman, Past:”SQL Server consultant,Instructor,Team Leader” Present:”Data engineer and Architect, Elasticsearch,CouchBase,MongoDB,Python”,…] WorkPlace:Perion WhenNotWorking:@Sea
  • 3. Let’s talk • What is the role of data modeling • What does data modeling effect
  • 4. Data models Document Columnar Graph Relational New SQL* And more.. Document
  • 5. Data Domains On line Batch Real time analytics Micro batch Streaming
  • 7. Normalization/De-Normalization • Born to reserve storage and keep data integrity (RI) • Resolve data joining issues • Performance aspects Is it still relevant???
  • 8. Normalization example {"_index": "user_profiles", "_type": "properties", "_id": "25467834901804247006200168495554902214", "_version": 4, "_score": 1, "_source": { "app_package_id": 4495665825523018, "device_id": "b94b29c3-f03f-4e43-a646-53708e025779", "group_id": 876, "customer_user_id": "", "customer_device_id": "b2f5fbfb-5d05-01e9-32e9-a8b332e9a8b3", "advertise_id": "", "device_os": "android", "device_os_comparable_version": "00000004.00000002.00000002.00000017", "device_os_full_name": "android 4.2.2.17", "android_id": "c93334e4e246b83c", "manufacturer": "OPPO", "model": "R1001", "screen_width": 480, "screen_height": 800, "device_language": "vi", "cpu": "", "is_rooted": 1, "is_jailbroken": 0, "vendor": "perion", "app_installation_time": 1435173851000, "push_allowed": 1, "operator": "Beeline VN", "mcc": "452", "mnc": "07", "mac_address": "", "created_at": 1435174685000, "registered_in_desktop": "", "short_country_code": "VN", "updated_at": 1435259712000, "app_package_name": "com.gingersoftware.android.keyboard", "app_version_type": "" } } "manufacturer": "OPPO", {"_index": "events-2015-06-04", "_type": "events", "_id": "AU4-zg5nOG4dkiMGKrCx", "_version": 1, "_score": 1, "_source": { "numeric_value_unit": "key", "event_type_name": "custom", "text_value": "", "event_date": 1433440149000, "numeric_value": 13, "quantity": 0, "event_name": "Saved Tap", "numeric_value_name": "taps saved", "app_package_id": 1433440149000, "api_key": “asasa1w121", "device_id": "c5eb1fe0-8a77-41ef-9f79-ed7ed69d32e6" } } "event_name": "Saved Tap", "event_name": "SVD T", "event_name": "Saved TP", "event_name": "Saved",
  • 9. Constraints • No BIG Brother • Data can't be verified once it leaves the application
  • 11. Relations type • One to One • One to Many • Many to Many
  • 12. Relations example 1 to Many City : Person 1 to 1 Employee: Resume { _id:101, Name:Jason Voorhees, Age: 99 Resume_ID:1004 } { _id:1004, Jobs:[Cook] Education:[Knifery] Hobbies:[Murder] Employee_id:101 } { "name" : "Dam Square, Amsterdam", "location" : { "type" : "polygon", "coordinates" : [[ [ 4.89218, 52.37356 ], [ 4.89205, 52.37276 ], ….… ]]} } { _id:101, Name:Jason Voorhees, Age: 99 Resume_ID:1004 } Many to Many Student : Teacher { _id:101, Name:Jason Voorhees, Age: 99 Resume_ID:1004 Courses:[“Chainsaw 101”,”Axing”], Teachers:[101] } { _id:101, Name: “Freddy Krueger”, Age: 60 Resume_ID:1004 Skills: [{Skill:}] }
  • 13. Embedding • Embed • Known doc size • Data is highly related • No joins • Don’t Embed • Very large data sets • Data is updated rapidly
  • 14. Doesn’t fit …. • Use the data model that most fits your needs • Don’t be afraid of Polyglot Persistence
  • 15. Polyglot Persistence • Data usage patterns • Readers vs. Writers • Online vs. Batch • Concurrency • Issues • Data freshness • Data consistency • System Coupling