SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
Graph Database
General Discussion
Richard Kuo
References
Extracted from:
• http://neo4j.org/, Tobias Ivarsson, Emil Eifrem,
• http://markorodriguez.com, Marko A. Rodriguez
• http://www.jayway.com/, Andreas Ronge
• etc• etc
4/12/2011 Creative Commons Attribution-Share Alike 3.0 2
Outline
• NoSQL
– What, Why, Who
• Graph Database
– Graph Theory– Graph Theory
– Benefit
• Neo4J
– Function & Feature
– Code & Demo
4/12/2011 3Creative Commons Attribution-Share Alike 3.0
Why ? Not only SQL
• Size
• Distributed data with accelerating growth of data
• Scalability & elasticity (at low cost!)
• Connectedness
• Global linked data• Global linked data
• Semi-structure
• Flexible schemas / semi-structured data
• Complex queries
• Architecture
• Data mining and association toward more complex data modeling
• Transactions / strong consistency / integrity
• Geographic distribution (multiple datacenters)
4/12/2011 Creative Commons Attribution-Share Alike 3.0 4
4/12/2011 Creative Commons Attribution-Share Alike 3.0 5
http://richard.cyganiak.de/2007/10/lod/lod-datasets_2010-09-22_colored.html
4/12/2011 Creative Commons Attribution-Share Alike 3.0 6
4/12/2011 Creative Commons Attribution-Share Alike 3.0 7
NoSQL Taxonomy
Key-Value stores
• Simple K/V lookups (DHT)
Column stores
• Each key is associated with many attributes (columns)
• NoSQL column stores are actually hybrid row/column stores
• • Different from “pure” relational column stores!• • Different from “pure” relational column stores!
Document stores
• Store semi-structured documents (JSON)
• Map/Reduce based materialization, sorting, aggregation, etc.
Graph databases
• Scale, semi-structure data model
More …
4/12/2011 Creative Commons Attribution-Share Alike 3.0 8
4/12/2011 Creative Commons Attribution-Share Alike 3.0 9
Graph Database Comparison
http://nosql.mypopescu.com/post/619181345/nosql-graph-database-matrix
4/12/2011 Creative Commons Attribution-Share Alike 3.0 10
GRAPH DATABASE
Why Graph Databases?
Data mining
• You can make algorithms for searching patterns and add AI
High-critical environments
• You can apply neo4j for high load databases and optimize the
queries and reduce costs on hardware use
• Engineering in biochemical components• Engineering in biochemical components
• You can make algorithms for helping the study of protein synthesys,
for example
Discrete event simulation
• You can apply a pattern and behavior and assign everything to a
graph database
Social graph
• Everything in user related “tastes” can be organized in a graph
Network architecture
4/12/2011 Creative Commons Attribution-Share Alike 3.0 12
When should I use a Graph DB ?
Massive data volumes
• Massively distributed architecture required to store the data
• Google, Amazon, Yahoo, Facebook – 10-100K servers
Extreme query workload
• Impossible to efficiently do joins at that scale with an RDBMS
Have a complex and evolving data modelHave a complex and evolving data model
• Big part of domain is expressed as relationships
• Schema flexibility (migration) is not trivial at large scale
• Schema changes can be gradually introduced with NoSQL
• Few mandatory and many optional attributes
• Have SQL queries that span many table joins
Many YES => maybe a Graph DB is a good choice
4/12/2011 13Creative Commons Attribution-Share Alike 3.0
When NOT use Graph DB
• Don't have a graph related problem ?
• Not too much changing requirements ?
• Easy to organized data into:
− Tables, Documents or Key-Value models ?− Tables, Documents or Key-Value models ?
Few & well defined relationships in the domain ?
Don't have SQL queries that span many table joins ?
Many YES => maybe Graph DB not a good choice
4/12/2011 14Creative Commons Attribution-Share Alike 3.0
Undirected Graph
• dots (vertices) + lines
(edges) = graphs.
• The Undirected Graph
VerticesVertices
• All vertices denote the
same
• type of object.
Edges
• All edges denote the same
type of relationship.
• All edges denote a
symmetric relationship.
4/12/2011 Creative Commons Attribution-Share Alike 3.0 15
Directed, Multiple Relational Graph
Vertices
• Vertices can be
different type of object.
EdgesEdges
• Edges can be different
type of relationship.
• All edges denote an
asymmetric
relationship.
4/12/2011 Creative Commons Attribution-Share Alike 3.0 16
4/12/2011 Creative Commons Attribution-Share Alike 3.0 17
Benefits of Graph Database
• Express your domain as a Graph
− Domain Modeling Friendly
− No O/R mismatch
− Efficient storage of Semi Structured InformationEfficient storage of Semi Structured Information
− Schema Less
• Express Queries as Traversals
− Fast deep traversal instead of slow SQL queries that
span many table joins
4/12/2011 18Creative Commons Attribution-Share Alike 3.0
4/12/2011 Creative Commons Attribution-Share Alike 3.0 19
Semi-structured information
4/12/2011 20Creative Commons Attribution-Share Alike 3.0
NEO4J
4/12/2011 Creative Commons Attribution-Share Alike 3.0 22
Why Neo4j ?
• Widely deployed graph db in the world
• ACID, persistent, embedded/server
• Robust: 24/7 production since 2003
• Mature: lots of production deployments
Scalable: High Availability, Master failover• Scalable: High Availability, Master failover
• Community: ecosystem of tools, bindings, frameworks
• Product: OSGi, Spatial, RDF, languages
• Available under AGPLv3 and as commercial product
• But the first one is free! For ALL use-cases
4/12/2011 Creative Commons Attribution-Share Alike 3.0 23
DEMO
BACKUP SLIDES
Create Node
4/12/2011 Creative Commons Attribution-Share Alike 3.0 26
Create Relationship & Traverse (1/2)
4/12/2011 Creative Commons Attribution-Share Alike 3.0 27
Traverse (2/2)
4/12/2011 Creative Commons Attribution-Share Alike 3.0 28
NeoEclipse
4/12/2011 Creative Commons Attribution-Share Alike 3.0 29
4/12/2011 30Creative Commons Attribution-Share Alike 3.0
4/12/2011 Creative Commons Attribution-Share Alike 3.0 31

Contenu connexe

Tendances

Getting started with Graph Databases & Neo4j
Getting started with Graph Databases & Neo4jGetting started with Graph Databases & Neo4j
Getting started with Graph Databases & Neo4jSuroor Wijdan
 
RDBMS to Graph
RDBMS to GraphRDBMS to Graph
RDBMS to GraphNeo4j
 
Graph Databases & OrientDB
Graph Databases & OrientDBGraph Databases & OrientDB
Graph Databases & OrientDBArpit Poladia
 
London HUG
London HUGLondon HUG
London HUGBoudicca
 
Intro to Neo4j with Ruby
Intro to Neo4j with RubyIntro to Neo4j with Ruby
Intro to Neo4j with RubyMax De Marzi
 
The Web of data and web data commons
The Web of data and web data commonsThe Web of data and web data commons
The Web of data and web data commonsJesse Wang
 
MongoDB & Hadoop - Understanding Your Big Data
MongoDB & Hadoop - Understanding Your Big DataMongoDB & Hadoop - Understanding Your Big Data
MongoDB & Hadoop - Understanding Your Big DataMongoDB
 
BDT204 Awesome Applications of Open Data - AWS re: Invent 2012
BDT204 Awesome Applications of Open Data - AWS re: Invent 2012BDT204 Awesome Applications of Open Data - AWS re: Invent 2012
BDT204 Awesome Applications of Open Data - AWS re: Invent 2012Amazon Web Services
 
Performance comparison: Multi-Model vs. MongoDB and Neo4j
Performance comparison: Multi-Model vs. MongoDB and Neo4jPerformance comparison: Multi-Model vs. MongoDB and Neo4j
Performance comparison: Multi-Model vs. MongoDB and Neo4jArangoDB Database
 
Using Neo4j from Java
Using Neo4j from JavaUsing Neo4j from Java
Using Neo4j from JavaNeo4j
 
Analytics and Access to the UK web archive
Analytics and Access to the UK web archiveAnalytics and Access to the UK web archive
Analytics and Access to the UK web archiveLewis Crawford
 
Cenitpede: Analyzing Webcrawl
Cenitpede: Analyzing WebcrawlCenitpede: Analyzing Webcrawl
Cenitpede: Analyzing WebcrawlPrimal Pappachan
 
Performance of graph query languages
Performance of graph query languagesPerformance of graph query languages
Performance of graph query languagesAthiq Ahamed
 
Scaling up Linked Data
Scaling up Linked DataScaling up Linked Data
Scaling up Linked DataEUCLID project
 
The Real-time Web in the Age of Agents
The Real-time Web in the Age of AgentsThe Real-time Web in the Age of Agents
The Real-time Web in the Age of AgentsJoshua Shinavier
 
The openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query LanguageThe openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query LanguageNeo4j
 

Tendances (20)

Getting started with Graph Databases & Neo4j
Getting started with Graph Databases & Neo4jGetting started with Graph Databases & Neo4j
Getting started with Graph Databases & Neo4j
 
RDBMS to Graph
RDBMS to GraphRDBMS to Graph
RDBMS to Graph
 
Graph Databases & OrientDB
Graph Databases & OrientDBGraph Databases & OrientDB
Graph Databases & OrientDB
 
DBPedia-past-present-future
DBPedia-past-present-futureDBPedia-past-present-future
DBPedia-past-present-future
 
Neo4j in Depth
Neo4j in DepthNeo4j in Depth
Neo4j in Depth
 
London HUG
London HUGLondon HUG
London HUG
 
Intro to Neo4j with Ruby
Intro to Neo4j with RubyIntro to Neo4j with Ruby
Intro to Neo4j with Ruby
 
The Web of data and web data commons
The Web of data and web data commonsThe Web of data and web data commons
The Web of data and web data commons
 
MongoDB & Hadoop - Understanding Your Big Data
MongoDB & Hadoop - Understanding Your Big DataMongoDB & Hadoop - Understanding Your Big Data
MongoDB & Hadoop - Understanding Your Big Data
 
BDT204 Awesome Applications of Open Data - AWS re: Invent 2012
BDT204 Awesome Applications of Open Data - AWS re: Invent 2012BDT204 Awesome Applications of Open Data - AWS re: Invent 2012
BDT204 Awesome Applications of Open Data - AWS re: Invent 2012
 
NoSQL Databases
NoSQL DatabasesNoSQL Databases
NoSQL Databases
 
Performance comparison: Multi-Model vs. MongoDB and Neo4j
Performance comparison: Multi-Model vs. MongoDB and Neo4jPerformance comparison: Multi-Model vs. MongoDB and Neo4j
Performance comparison: Multi-Model vs. MongoDB and Neo4j
 
Using Neo4j from Java
Using Neo4j from JavaUsing Neo4j from Java
Using Neo4j from Java
 
Analytics and Access to the UK web archive
Analytics and Access to the UK web archiveAnalytics and Access to the UK web archive
Analytics and Access to the UK web archive
 
Cenitpede: Analyzing Webcrawl
Cenitpede: Analyzing WebcrawlCenitpede: Analyzing Webcrawl
Cenitpede: Analyzing Webcrawl
 
Performance of graph query languages
Performance of graph query languagesPerformance of graph query languages
Performance of graph query languages
 
Mongo db
Mongo dbMongo db
Mongo db
 
Scaling up Linked Data
Scaling up Linked DataScaling up Linked Data
Scaling up Linked Data
 
The Real-time Web in the Age of Agents
The Real-time Web in the Age of AgentsThe Real-time Web in the Age of Agents
The Real-time Web in the Age of Agents
 
The openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query LanguageThe openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query Language
 

Similaire à Graph Database

Selecting the right database type for your knowledge management needs.
Selecting the right database type for your knowledge management needs.Selecting the right database type for your knowledge management needs.
Selecting the right database type for your knowledge management needs.Synaptica, LLC
 
introduction to NOSQL Database
introduction to NOSQL Databaseintroduction to NOSQL Database
introduction to NOSQL Databasenehabsairam
 
Silicon valley nosql meetup april 2012
Silicon valley nosql meetup  april 2012Silicon valley nosql meetup  april 2012
Silicon valley nosql meetup april 2012InfiniteGraph
 
No SQL- The Future Of Data Storage
No SQL- The Future Of Data StorageNo SQL- The Future Of Data Storage
No SQL- The Future Of Data StorageBethmi Gunasekara
 
UNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptxUNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptxRahul Borate
 
RELATIONAL MODEL OF DATABASES AND OTHER CONCEPTS OF DATABASES​
RELATIONAL MODEL OF DATABASES AND OTHER CONCEPTS OF DATABASES​RELATIONAL MODEL OF DATABASES AND OTHER CONCEPTS OF DATABASES​
RELATIONAL MODEL OF DATABASES AND OTHER CONCEPTS OF DATABASES​EdwinJacob5
 
UNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptxUNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptxRahul Borate
 
Big Data technology Landscape
Big Data technology LandscapeBig Data technology Landscape
Big Data technology LandscapeShivanandaVSeeri
 
Data Lakehouse, Data Mesh, and Data Fabric (r1)
Data Lakehouse, Data Mesh, and Data Fabric (r1)Data Lakehouse, Data Mesh, and Data Fabric (r1)
Data Lakehouse, Data Mesh, and Data Fabric (r1)James Serra
 
NoSQLDatabases
NoSQLDatabasesNoSQLDatabases
NoSQLDatabasesAdi Challa
 

Similaire à Graph Database (20)

NoSql
NoSqlNoSql
NoSql
 
Selecting the right database type for your knowledge management needs.
Selecting the right database type for your knowledge management needs.Selecting the right database type for your knowledge management needs.
Selecting the right database type for your knowledge management needs.
 
NoSQL
NoSQLNoSQL
NoSQL
 
NoSql Brownbag
NoSql BrownbagNoSql Brownbag
NoSql Brownbag
 
NOsql Presentation.pdf
NOsql Presentation.pdfNOsql Presentation.pdf
NOsql Presentation.pdf
 
UNIT-2.pptx
UNIT-2.pptxUNIT-2.pptx
UNIT-2.pptx
 
introduction to NOSQL Database
introduction to NOSQL Databaseintroduction to NOSQL Database
introduction to NOSQL Database
 
Silicon valley nosql meetup april 2012
Silicon valley nosql meetup  april 2012Silicon valley nosql meetup  april 2012
Silicon valley nosql meetup april 2012
 
the rising no sql technology
the rising no sql technologythe rising no sql technology
the rising no sql technology
 
No SQL- The Future Of Data Storage
No SQL- The Future Of Data StorageNo SQL- The Future Of Data Storage
No SQL- The Future Of Data Storage
 
UNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptxUNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptx
 
RELATIONAL MODEL OF DATABASES AND OTHER CONCEPTS OF DATABASES​
RELATIONAL MODEL OF DATABASES AND OTHER CONCEPTS OF DATABASES​RELATIONAL MODEL OF DATABASES AND OTHER CONCEPTS OF DATABASES​
RELATIONAL MODEL OF DATABASES AND OTHER CONCEPTS OF DATABASES​
 
NoSQL.pptx
NoSQL.pptxNoSQL.pptx
NoSQL.pptx
 
NoSQL databases
NoSQL databasesNoSQL databases
NoSQL databases
 
UNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptxUNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptx
 
Neo4j
Neo4jNeo4j
Neo4j
 
Big Data technology Landscape
Big Data technology LandscapeBig Data technology Landscape
Big Data technology Landscape
 
Database Technologies
Database TechnologiesDatabase Technologies
Database Technologies
 
Data Lakehouse, Data Mesh, and Data Fabric (r1)
Data Lakehouse, Data Mesh, and Data Fabric (r1)Data Lakehouse, Data Mesh, and Data Fabric (r1)
Data Lakehouse, Data Mesh, and Data Fabric (r1)
 
NoSQLDatabases
NoSQLDatabasesNoSQLDatabases
NoSQLDatabases
 

Plus de Richard Kuo

Machine Learning - Convolutional Neural Network
Machine Learning - Convolutional Neural NetworkMachine Learning - Convolutional Neural Network
Machine Learning - Convolutional Neural NetworkRichard Kuo
 
View Orchestration from Model Driven Engineering Prospective
View Orchestration from Model Driven Engineering ProspectiveView Orchestration from Model Driven Engineering Prospective
View Orchestration from Model Driven Engineering ProspectiveRichard Kuo
 
Telecom Infra Project study notes
Telecom Infra Project study notesTelecom Infra Project study notes
Telecom Infra Project study notesRichard Kuo
 
5g, gpu and fpga
5g, gpu and fpga5g, gpu and fpga
5g, gpu and fpgaRichard Kuo
 
Kubernetes20151017a
Kubernetes20151017aKubernetes20151017a
Kubernetes20151017aRichard Kuo
 
Ontology, Semantic Web and DBpedia
Ontology, Semantic Web and DBpediaOntology, Semantic Web and DBpedia
Ontology, Semantic Web and DBpediaRichard Kuo
 
UML, OWL and REA based enterprise business model 20110201a
UML, OWL and REA based enterprise business model 20110201aUML, OWL and REA based enterprise business model 20110201a
UML, OWL and REA based enterprise business model 20110201aRichard Kuo
 
Open v switch20150410b
Open v switch20150410bOpen v switch20150410b
Open v switch20150410bRichard Kuo
 
Spark Study Notes
Spark Study NotesSpark Study Notes
Spark Study NotesRichard Kuo
 
Docker and coreos20141020b
Docker and coreos20141020bDocker and coreos20141020b
Docker and coreos20141020bRichard Kuo
 
Cloud computing reference architecture from nist and ibm
Cloud computing reference architecture from nist and ibmCloud computing reference architecture from nist and ibm
Cloud computing reference architecture from nist and ibmRichard Kuo
 

Plus de Richard Kuo (15)

Machine Learning - Convolutional Neural Network
Machine Learning - Convolutional Neural NetworkMachine Learning - Convolutional Neural Network
Machine Learning - Convolutional Neural Network
 
View Orchestration from Model Driven Engineering Prospective
View Orchestration from Model Driven Engineering ProspectiveView Orchestration from Model Driven Engineering Prospective
View Orchestration from Model Driven Engineering Prospective
 
Telecom Infra Project study notes
Telecom Infra Project study notesTelecom Infra Project study notes
Telecom Infra Project study notes
 
5g, gpu and fpga
5g, gpu and fpga5g, gpu and fpga
5g, gpu and fpga
 
Learning
Learning Learning
Learning
 
Kubernetes20151017a
Kubernetes20151017aKubernetes20151017a
Kubernetes20151017a
 
IaaS with Chef
IaaS with ChefIaaS with Chef
IaaS with Chef
 
Ontology, Semantic Web and DBpedia
Ontology, Semantic Web and DBpediaOntology, Semantic Web and DBpedia
Ontology, Semantic Web and DBpedia
 
SDN and NFV
SDN and NFVSDN and NFV
SDN and NFV
 
UML, OWL and REA based enterprise business model 20110201a
UML, OWL and REA based enterprise business model 20110201aUML, OWL and REA based enterprise business model 20110201a
UML, OWL and REA based enterprise business model 20110201a
 
Open v switch20150410b
Open v switch20150410bOpen v switch20150410b
Open v switch20150410b
 
Spark Study Notes
Spark Study NotesSpark Study Notes
Spark Study Notes
 
Docker and coreos20141020b
Docker and coreos20141020bDocker and coreos20141020b
Docker and coreos20141020b
 
Git studynotes
Git studynotesGit studynotes
Git studynotes
 
Cloud computing reference architecture from nist and ibm
Cloud computing reference architecture from nist and ibmCloud computing reference architecture from nist and ibm
Cloud computing reference architecture from nist and ibm
 

Dernier

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Dernier (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

Graph Database

  • 2. References Extracted from: • http://neo4j.org/, Tobias Ivarsson, Emil Eifrem, • http://markorodriguez.com, Marko A. Rodriguez • http://www.jayway.com/, Andreas Ronge • etc• etc 4/12/2011 Creative Commons Attribution-Share Alike 3.0 2
  • 3. Outline • NoSQL – What, Why, Who • Graph Database – Graph Theory– Graph Theory – Benefit • Neo4J – Function & Feature – Code & Demo 4/12/2011 3Creative Commons Attribution-Share Alike 3.0
  • 4. Why ? Not only SQL • Size • Distributed data with accelerating growth of data • Scalability & elasticity (at low cost!) • Connectedness • Global linked data• Global linked data • Semi-structure • Flexible schemas / semi-structured data • Complex queries • Architecture • Data mining and association toward more complex data modeling • Transactions / strong consistency / integrity • Geographic distribution (multiple datacenters) 4/12/2011 Creative Commons Attribution-Share Alike 3.0 4
  • 5. 4/12/2011 Creative Commons Attribution-Share Alike 3.0 5 http://richard.cyganiak.de/2007/10/lod/lod-datasets_2010-09-22_colored.html
  • 6. 4/12/2011 Creative Commons Attribution-Share Alike 3.0 6
  • 7. 4/12/2011 Creative Commons Attribution-Share Alike 3.0 7
  • 8. NoSQL Taxonomy Key-Value stores • Simple K/V lookups (DHT) Column stores • Each key is associated with many attributes (columns) • NoSQL column stores are actually hybrid row/column stores • • Different from “pure” relational column stores!• • Different from “pure” relational column stores! Document stores • Store semi-structured documents (JSON) • Map/Reduce based materialization, sorting, aggregation, etc. Graph databases • Scale, semi-structure data model More … 4/12/2011 Creative Commons Attribution-Share Alike 3.0 8
  • 9. 4/12/2011 Creative Commons Attribution-Share Alike 3.0 9
  • 12. Why Graph Databases? Data mining • You can make algorithms for searching patterns and add AI High-critical environments • You can apply neo4j for high load databases and optimize the queries and reduce costs on hardware use • Engineering in biochemical components• Engineering in biochemical components • You can make algorithms for helping the study of protein synthesys, for example Discrete event simulation • You can apply a pattern and behavior and assign everything to a graph database Social graph • Everything in user related “tastes” can be organized in a graph Network architecture 4/12/2011 Creative Commons Attribution-Share Alike 3.0 12
  • 13. When should I use a Graph DB ? Massive data volumes • Massively distributed architecture required to store the data • Google, Amazon, Yahoo, Facebook – 10-100K servers Extreme query workload • Impossible to efficiently do joins at that scale with an RDBMS Have a complex and evolving data modelHave a complex and evolving data model • Big part of domain is expressed as relationships • Schema flexibility (migration) is not trivial at large scale • Schema changes can be gradually introduced with NoSQL • Few mandatory and many optional attributes • Have SQL queries that span many table joins Many YES => maybe a Graph DB is a good choice 4/12/2011 13Creative Commons Attribution-Share Alike 3.0
  • 14. When NOT use Graph DB • Don't have a graph related problem ? • Not too much changing requirements ? • Easy to organized data into: − Tables, Documents or Key-Value models ?− Tables, Documents or Key-Value models ? Few & well defined relationships in the domain ? Don't have SQL queries that span many table joins ? Many YES => maybe Graph DB not a good choice 4/12/2011 14Creative Commons Attribution-Share Alike 3.0
  • 15. Undirected Graph • dots (vertices) + lines (edges) = graphs. • The Undirected Graph VerticesVertices • All vertices denote the same • type of object. Edges • All edges denote the same type of relationship. • All edges denote a symmetric relationship. 4/12/2011 Creative Commons Attribution-Share Alike 3.0 15
  • 16. Directed, Multiple Relational Graph Vertices • Vertices can be different type of object. EdgesEdges • Edges can be different type of relationship. • All edges denote an asymmetric relationship. 4/12/2011 Creative Commons Attribution-Share Alike 3.0 16
  • 17. 4/12/2011 Creative Commons Attribution-Share Alike 3.0 17
  • 18. Benefits of Graph Database • Express your domain as a Graph − Domain Modeling Friendly − No O/R mismatch − Efficient storage of Semi Structured InformationEfficient storage of Semi Structured Information − Schema Less • Express Queries as Traversals − Fast deep traversal instead of slow SQL queries that span many table joins 4/12/2011 18Creative Commons Attribution-Share Alike 3.0
  • 19. 4/12/2011 Creative Commons Attribution-Share Alike 3.0 19
  • 20. Semi-structured information 4/12/2011 20Creative Commons Attribution-Share Alike 3.0
  • 21. NEO4J
  • 22. 4/12/2011 Creative Commons Attribution-Share Alike 3.0 22
  • 23. Why Neo4j ? • Widely deployed graph db in the world • ACID, persistent, embedded/server • Robust: 24/7 production since 2003 • Mature: lots of production deployments Scalable: High Availability, Master failover• Scalable: High Availability, Master failover • Community: ecosystem of tools, bindings, frameworks • Product: OSGi, Spatial, RDF, languages • Available under AGPLv3 and as commercial product • But the first one is free! For ALL use-cases 4/12/2011 Creative Commons Attribution-Share Alike 3.0 23
  • 24. DEMO
  • 26. Create Node 4/12/2011 Creative Commons Attribution-Share Alike 3.0 26
  • 27. Create Relationship & Traverse (1/2) 4/12/2011 Creative Commons Attribution-Share Alike 3.0 27
  • 28. Traverse (2/2) 4/12/2011 Creative Commons Attribution-Share Alike 3.0 28
  • 29. NeoEclipse 4/12/2011 Creative Commons Attribution-Share Alike 3.0 29
  • 30. 4/12/2011 30Creative Commons Attribution-Share Alike 3.0
  • 31. 4/12/2011 Creative Commons Attribution-Share Alike 3.0 31