pimtechdaydemo

Post on 18-Sep-2014

816 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

© All Rights Reserved 2013 | Neo Technology, Inc.

Graph����������� ������������������  Databases����������� ������������������  -����������� ������������������  How����������� ������������������  does����������� ������������������  it����������� ������������������  work?

Pernilla����������� ������������������  Lindh

1måndag 15 juli 13intro me

© All Rights Reserved 2013 | Neo Technology, Inc.

About Me

2måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

About Me

Geek Girl Meetup Öresund, Sweden

2måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

About Me

Developer Evangelist Geek Girl Meetup Öresund, Sweden

2måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

About Me

Developer Evangelist Started at Neo4j 2012

Geek Girl Meetup Öresund, Sweden

2måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

About Me

Developer Evangelist Started at Neo4j 2012My Blog: www.p3rnilla.com

Geek Girl Meetup Öresund, Sweden

2måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

About Me

Developer Evangelist Started at Neo4j 2012My Blog: www.p3rnilla.comFind me on Twitter: @p3rnilla

Geek Girl Meetup Öresund, Sweden

2måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

About Me

Developer Evangelist Started at Neo4j 2012My Blog: www.p3rnilla.comFind me on Twitter: @p3rnillaEmail me: pernilla@neotechnology.com

Geek Girl Meetup Öresund, Sweden

2måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

(Big)DataNOSQLWhat is a Graph Database, Not?What is a Graph, then?What is a Graph Database?What is Neo4j?

AGENDA

3måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

4måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

http://nostarch.com/mg_databases.htm#reviews

5måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

http://nostarch.com/mg_databases.htm#reviews

5måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

6måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

7måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

7måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

7måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

8måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

9måndag 15 juli 13

Formally, the term "database" refers to the data itself and supporting data structures. Databases are created to operate large quantities of information by inputting, storing, retrieving, and managing that information.

Databases are set up, so that one set of software programs provides all users with access to all the data.(http://en.wikipedia.org/wiki/Database)

Databases are created to operate large quantities of information by inputting, storing, retrieving, and managing that information.

© All Rights Reserved 2013 | Neo Technology, Inc.

inputting

9måndag 15 juli 13

Formally, the term "database" refers to the data itself and supporting data structures. Databases are created to operate large quantities of information by inputting, storing, retrieving, and managing that information.

Databases are set up, so that one set of software programs provides all users with access to all the data.(http://en.wikipedia.org/wiki/Database)

Databases are created to operate large quantities of information by inputting, storing, retrieving, and managing that information.

© All Rights Reserved 2013 | Neo Technology, Inc.

inputtingstoring

9måndag 15 juli 13

Formally, the term "database" refers to the data itself and supporting data structures. Databases are created to operate large quantities of information by inputting, storing, retrieving, and managing that information.

Databases are set up, so that one set of software programs provides all users with access to all the data.(http://en.wikipedia.org/wiki/Database)

Databases are created to operate large quantities of information by inputting, storing, retrieving, and managing that information.

© All Rights Reserved 2013 | Neo Technology, Inc.

inputtingstoringretrieving

9måndag 15 juli 13

Formally, the term "database" refers to the data itself and supporting data structures. Databases are created to operate large quantities of information by inputting, storing, retrieving, and managing that information.

Databases are set up, so that one set of software programs provides all users with access to all the data.(http://en.wikipedia.org/wiki/Database)

Databases are created to operate large quantities of information by inputting, storing, retrieving, and managing that information.

© All Rights Reserved 2013 | Neo Technology, Inc.

inputtingstoringretrievingmanaging information

9måndag 15 juli 13

Formally, the term "database" refers to the data itself and supporting data structures. Databases are created to operate large quantities of information by inputting, storing, retrieving, and managing that information.

Databases are set up, so that one set of software programs provides all users with access to all the data.(http://en.wikipedia.org/wiki/Database)

Databases are created to operate large quantities of information by inputting, storing, retrieving, and managing that information.

© All Rights Reserved 2013 | Neo Technology, Inc.

DATA???

10måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

11måndag 15 juli 13

Computer data is information processed or stored by a computer. This information may be in the form of text documents, images, audio clips, software programs, or other types of data. Computer data may be processed by the computer's CPU and is stored in files and folders on the computer's hard disk. http://www.techterms.com/definition/data

© All Rights Reserved 2013 | Neo Technology, Inc.

11måndag 15 juli 13

Computer data is information processed or stored by a computer. This information may be in the form of text documents, images, audio clips, software programs, or other types of data. Computer data may be processed by the computer's CPU and is stored in files and folders on the computer's hard disk. http://www.techterms.com/definition/data

© All Rights Reserved 2013 | Neo Technology, Inc.

11måndag 15 juli 13

Computer data is information processed or stored by a computer. This information may be in the form of text documents, images, audio clips, software programs, or other types of data. Computer data may be processed by the computer's CPU and is stored in files and folders on the computer's hard disk. http://www.techterms.com/definition/data

© All Rights Reserved 2013 | Neo Technology, Inc.

11måndag 15 juli 13

Computer data is information processed or stored by a computer. This information may be in the form of text documents, images, audio clips, software programs, or other types of data. Computer data may be processed by the computer's CPU and is stored in files and folders on the computer's hard disk. http://www.techterms.com/definition/data

© All Rights Reserved 2013 | Neo Technology, Inc.

11måndag 15 juli 13

Computer data is information processed or stored by a computer. This information may be in the form of text documents, images, audio clips, software programs, or other types of data. Computer data may be processed by the computer's CPU and is stored in files and folders on the computer's hard disk. http://www.techterms.com/definition/data

© All Rights Reserved 2013 | Neo Technology, Inc.

11måndag 15 juli 13

Computer data is information processed or stored by a computer. This information may be in the form of text documents, images, audio clips, software programs, or other types of data. Computer data may be processed by the computer's CPU and is stored in files and folders on the computer's hard disk. http://www.techterms.com/definition/data

© All Rights Reserved 2013 | Neo Technology, Inc.

11måndag 15 juli 13

Computer data is information processed or stored by a computer. This information may be in the form of text documents, images, audio clips, software programs, or other types of data. Computer data may be processed by the computer's CPU and is stored in files and folders on the computer's hard disk. http://www.techterms.com/definition/data

© All Rights Reserved 2013 | Neo Technology, Inc.

11måndag 15 juli 13

Computer data is information processed or stored by a computer. This information may be in the form of text documents, images, audio clips, software programs, or other types of data. Computer data may be processed by the computer's CPU and is stored in files and folders on the computer's hard disk. http://www.techterms.com/definition/data

© All Rights Reserved 2013 | Neo Technology, Inc.

11måndag 15 juli 13

Computer data is information processed or stored by a computer. This information may be in the form of text documents, images, audio clips, software programs, or other types of data. Computer data may be processed by the computer's CPU and is stored in files and folders on the computer's hard disk. http://www.techterms.com/definition/data

© All Rights Reserved 2013 | Neo Technology, Inc.

Data?

12måndag 15 juli 13

So Data is getting bigger as you can see here we are sending 20 million email every second.....

recognize this one? Eric Schmidt Executive Chairman of google, he made a nice quote about big data

© All Rights Reserved 2013 | Neo Technology, Inc.

Data?

12måndag 15 juli 13

So Data is getting bigger as you can see here we are sending 20 million email every second.....

recognize this one? Eric Schmidt Executive Chairman of google, he made a nice quote about big data

© All Rights Reserved 2013 | Neo Technology, Inc.

Data?

12måndag 15 juli 13

So Data is getting bigger as you can see here we are sending 20 million email every second.....

recognize this one? Eric Schmidt Executive Chairman of google, he made a nice quote about big data

© All Rights Reserved 2013 | Neo Technology, Inc.

Data?

12måndag 15 juli 13

So Data is getting bigger as you can see here we are sending 20 million email every second.....

recognize this one? Eric Schmidt Executive Chairman of google, he made a nice quote about big data

© All Rights Reserved 2013 | Neo Technology, Inc.

Data?

12måndag 15 juli 13

So Data is getting bigger as you can see here we are sending 20 million email every second.....

recognize this one? Eric Schmidt Executive Chairman of google, he made a nice quote about big data

© All Rights Reserved 2013 | Neo Technology, Inc.

Data?

12måndag 15 juli 13

So Data is getting bigger as you can see here we are sending 20 million email every second.....

recognize this one? Eric Schmidt Executive Chairman of google, he made a nice quote about big data

© All Rights Reserved 2013 | Neo Technology, Inc.

Data?

12måndag 15 juli 13

So Data is getting bigger as you can see here we are sending 20 million email every second.....

recognize this one? Eric Schmidt Executive Chairman of google, he made a nice quote about big data

© All Rights Reserved 2013 | Neo Technology, Inc.

Data?

Every 2 days we create as much

information as we did up to 2003.”-Eric Schmidt,

Google

12måndag 15 juli 13

So Data is getting bigger as you can see here we are sending 20 million email every second.....

recognize this one? Eric Schmidt Executive Chairman of google, he made a nice quote about big data

© All Rights Reserved 2013 | Neo Technology, Inc.

13måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

?

13måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

? BIG DATA

13måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

?

=

BIG DATA

13måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

?

=

BIG DATA

NOSQL

13måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

14måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

15måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

A Swedish Smorgasbord filled with different types of databases

15måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

16måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

SQL

16måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

SQL Structured Query Language

16måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

SQL Relational Database (MySQL)

Structured Query Language

16måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

17måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Relational

17måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Relational

17måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Relational

People

17måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Relational

People Cats

17måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Relational

People CatsPeople_Cats

17måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Relational

People CatsPeople_Cats

17måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Relational

People CatsPeople_Cats

17måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Relational

17måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

NOSQL (Not Only SQL)

non-relational

open-source (mostly)

cluster-friendly

21st Centery Web

schema optional

18måndag 15 juli 13charachterictics for a nosql database

© All Rights Reserved 2013 | Neo Technology, Inc.

NOSQL family

19måndag 15 juli 13The difference between these databases is the so called datamodel the building blocks that they exposed to the developers

Building blocks for Mongo Db are document in Column Oriented database like Cassandra it’s columnsthe keyvalue stores are key and value

column based on bigtables -

© All Rights Reserved 2013 | Neo Technology, Inc.

NOSQL family

19måndag 15 juli 13The difference between these databases is the so called datamodel the building blocks that they exposed to the developers

Building blocks for Mongo Db are document in Column Oriented database like Cassandra it’s columnsthe keyvalue stores are key and value

column based on bigtables -

© All Rights Reserved 2013 | Neo Technology, Inc.

NOSQL familyFour types of NOSQL databases

19måndag 15 juli 13The difference between these databases is the so called datamodel the building blocks that they exposed to the developers

Building blocks for Mongo Db are document in Column Oriented database like Cassandra it’s columnsthe keyvalue stores are key and value

column based on bigtables -

© All Rights Reserved 2013 | Neo Technology, Inc.

NOSQL family

Document-Oriented Database

Four types of NOSQL databases

19måndag 15 juli 13The difference between these databases is the so called datamodel the building blocks that they exposed to the developers

Building blocks for Mongo Db are document in Column Oriented database like Cassandra it’s columnsthe keyvalue stores are key and value

column based on bigtables -

© All Rights Reserved 2013 | Neo Technology, Inc.

NOSQL family

Document-Oriented Database

Four types of NOSQL databases

19måndag 15 juli 13The difference between these databases is the so called datamodel the building blocks that they exposed to the developers

Building blocks for Mongo Db are document in Column Oriented database like Cassandra it’s columnsthe keyvalue stores are key and value

column based on bigtables -

© All Rights Reserved 2013 | Neo Technology, Inc.

NOSQL family

Document-Oriented Database

Column Oriented

Four types of NOSQL databases

19måndag 15 juli 13The difference between these databases is the so called datamodel the building blocks that they exposed to the developers

Building blocks for Mongo Db are document in Column Oriented database like Cassandra it’s columnsthe keyvalue stores are key and value

column based on bigtables -

© All Rights Reserved 2013 | Neo Technology, Inc.

NOSQL family

Document-Oriented Database

Column Oriented

Four types of NOSQL databases

19måndag 15 juli 13The difference between these databases is the so called datamodel the building blocks that they exposed to the developers

Building blocks for Mongo Db are document in Column Oriented database like Cassandra it’s columnsthe keyvalue stores are key and value

column based on bigtables -

© All Rights Reserved 2013 | Neo Technology, Inc.

NOSQL family

Document-Oriented Database

Column Oriented

Key Value Stores

Four types of NOSQL databases

19måndag 15 juli 13The difference between these databases is the so called datamodel the building blocks that they exposed to the developers

Building blocks for Mongo Db are document in Column Oriented database like Cassandra it’s columnsthe keyvalue stores are key and value

column based on bigtables -

© All Rights Reserved 2013 | Neo Technology, Inc.

NOSQL family

Document-Oriented Database

Column Oriented

Key Value Stores

Four types of NOSQL databases

19måndag 15 juli 13The difference between these databases is the so called datamodel the building blocks that they exposed to the developers

Building blocks for Mongo Db are document in Column Oriented database like Cassandra it’s columnsthe keyvalue stores are key and value

column based on bigtables -

© All Rights Reserved 2013 | Neo Technology, Inc.

NOSQL family

Document-Oriented Database

Column Oriented

Key Value Stores

Four types of NOSQL databases

19måndag 15 juli 13The difference between these databases is the so called datamodel the building blocks that they exposed to the developers

Building blocks for Mongo Db are document in Column Oriented database like Cassandra it’s columnsthe keyvalue stores are key and value

column based on bigtables -

© All Rights Reserved 2013 | Neo Technology, Inc.

NOSQL family

Document-Oriented Database

Column Oriented

Key Value Stores

Graph Database

Four types of NOSQL databases

19måndag 15 juli 13The difference between these databases is the so called datamodel the building blocks that they exposed to the developers

Building blocks for Mongo Db are document in Column Oriented database like Cassandra it’s columnsthe keyvalue stores are key and value

column based on bigtables -

© All Rights Reserved 2013 | Neo Technology, Inc.

NOSQL family

Document-Oriented Database

Column Oriented

Key Value Stores

Graph Database

Four types of NOSQL databases

19måndag 15 juli 13The difference between these databases is the so called datamodel the building blocks that they exposed to the developers

Building blocks for Mongo Db are document in Column Oriented database like Cassandra it’s columnsthe keyvalue stores are key and value

column based on bigtables -

© All Rights Reserved 2013 | Neo Technology, Inc.

So,����������� ������������������  graphs...

20måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

21måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

22måndag 15 juli 13marshall ”how I meet your mother”

© All Rights Reserved 2013 | Neo Technology, Inc.

23måndag 15 juli 13what do google say?

© All Rights Reserved 2013 | Neo Technology, Inc.

23måndag 15 juli 13what do google say?

© All Rights Reserved 2013 | Neo Technology, Inc.

23måndag 15 juli 13what do google say?

© All Rights Reserved 2013 | Neo Technology, Inc.

23måndag 15 juli 13what do google say?

© All Rights Reserved 2013 | Neo Technology, Inc.

So,����������� ������������������  graphs...

24måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

25måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

What is a graph?

25måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Object (vertex, node)

What is a graph?

25måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Object (vertex, node)

What is a graph?

25måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Object (vertex, node)

Link (edge, arc, relationship)

What is a graph?

25måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Object (vertex, node)

Link (edge, arc, relationship)

What is a graph?

25måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Different Kinds of Graphs

Undirected Graph

Directed Graph

Hyper Graph

26måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

More Kinds Of Graphs

27måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Graph����������� ������������������  databases����������� ������������������  you����������� ������������������  might����������� ������������������  heard����������� ������������������  about

28måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

29måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Most well known graph

29måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Most well known graph

29måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Most well known graph

29måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Most well known graph

29måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Most well known graph

29måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

So,����������� ������������������  graphs...

30måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

30måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

what����������� ������������������  are����������� ������������������  they����������� ������������������  good����������� ������������������  at?����������� ������������������  

30måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Highly connected data (social networks)

31måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Highly connected data (social networks)

31måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Highly connected data (social networks)

31måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Highly connected data (social networks)

31måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Recommendations (e-commerce)

32måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Path Finding (how do I know you?)

33måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Path Finding (how do I know you?)

33måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Path Finding (how do I know you?)

33måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Shortest Path (from a -> b)

34måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Shortest Path (from a -> b)

34måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

35måndag 15 juli 13a graphdatavase with an ecxlpit graph structure, each node knows its adjacent nodes as the number of nodes increases the cost of a local step or hop remains the same plus an index for lookups

© All Rights Reserved 2013 | Neo Technology, Inc.

So what is a Graph Database?

35måndag 15 juli 13a graphdatavase with an ecxlpit graph structure, each node knows its adjacent nodes as the number of nodes increases the cost of a local step or hop remains the same plus an index for lookups

© All Rights Reserved 2013 | Neo Technology, Inc.

So what is a Graph Database?

35måndag 15 juli 13a graphdatavase with an ecxlpit graph structure, each node knows its adjacent nodes as the number of nodes increases the cost of a local step or hop remains the same plus an index for lookups

© All Rights Reserved 2013 | Neo Technology, Inc.

So what is a Graph Database?

35måndag 15 juli 13a graphdatavase with an ecxlpit graph structure, each node knows its adjacent nodes as the number of nodes increases the cost of a local step or hop remains the same plus an index for lookups

© All Rights Reserved 2013 | Neo Technology, Inc.

35måndag 15 juli 13a graphdatavase with an ecxlpit graph structure, each node knows its adjacent nodes as the number of nodes increases the cost of a local step or hop remains the same plus an index for lookups

© All Rights Reserved 2013 | Neo Technology, Inc.

Compered to Relational Database...

35måndag 15 juli 13a graphdatavase with an ecxlpit graph structure, each node knows its adjacent nodes as the number of nodes increases the cost of a local step or hop remains the same plus an index for lookups

© All Rights Reserved 2013 | Neo Technology, Inc.

Compered to Relational Database...

35måndag 15 juli 13a graphdatavase with an ecxlpit graph structure, each node knows its adjacent nodes as the number of nodes increases the cost of a local step or hop remains the same plus an index for lookups

© All Rights Reserved 2013 | Neo Technology, Inc.

What is Neo4j?

36måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

What is Neo4j?

36måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

37måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

- Property Graph

37måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

- Property Graph

- Full ACID (atomicity, consistency, isolation, durability)

37måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

- Property Graph

- Full ACID (atomicity, consistency, isolation, durability)

37måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

- Property Graph

- Full ACID (atomicity, consistency, isolation, durability) Not many NOSQL databases

have ACID except Neo4j...

37måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

- Property Graph

- Full ACID (atomicity, consistency, isolation, durability) Not many NOSQL databases

have ACID except Neo4j...

37måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

- Property Graph

- Full ACID (atomicity, consistency, isolation, durability) Not many NOSQL databases

have ACID except Neo4j...

37måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

- High Availability (with Enterprise Edition)

- Property Graph

- Full ACID (atomicity, consistency, isolation, durability) Not many NOSQL databases

have ACID except Neo4j...

37måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

- Embedded Server

- High Availability (with Enterprise Edition)

- Property Graph

- Full ACID (atomicity, consistency, isolation, durability) Not many NOSQL databases

have ACID except Neo4j...

37måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

- Embedded Server

- High Availability (with Enterprise Edition)

- Property Graph

- Full ACID (atomicity, consistency, isolation, durability)

- REST API

Not many NOSQL databases have ACID except Neo4j...

37måndag 15 juli 13

© All Rights Reserved 2013 | Neo Technology, Inc.

Modeling the data

38måndag 15 juli 13

39måndag 15 juli 13

What do we need

39måndag 15 juli 13

What do we needPeople

Space Crew

Land Crew

Supply Maps/Navigation System

Time schedule

Spacecraft

$$Money

Astronauts

EngineersManagers

Doctors

operative personal

Admin personal

foodwater Test, test ,testWC

space suits

communication tools

documentation

Mars

Earth

stars

training

fuelSystem

Salaries

clothes

training program

<6 months - from Earth> mars

more research

mars rover

planning

prep timerecovering time Summary

sponsors

smart people

39måndag 15 juli 13

40måndag 15 juli 13

41måndag 15 juli 13

to

participate_in

fly

41måndag 15 juli 13

to

participate_in

fly

control

works_

in

look_after

look_after

41måndag 15 juli 13

to

participate_in

fly

control

works_

in

works_at

look_after

look_after

works_atworks_at

part_o

fMars

Mission_To_Mars

Astronaut Pernilla

Spaceship

control_tower

Admin

StinaManager

Lisa

Doctor

MichaelaNASA

Headquarter

41måndag 15 juli 13

to

participate_in

fly

control

works_

in

works_at

look_after

look_after

works_atworks_at

part_o

fMars

Mission_To_Mars

Astronaut Pernilla

Spaceship

control_tower

Admin

StinaManager

Lisa

Doctor

MichaelaNASA

Headquarter

41måndag 15 juli 13

to

participate_in

fly

control

works_

in

works_at

look_after

look_after

works_atworks_at

part_o

fMars

Mission_To_Mars

Astronaut Pernilla

Spaceship

control_tower

Admin

StinaManager

Lisa

Doctor

MichaelaNASA

Headquarter

42måndag 15 juli 13

A graph database =

Nodes and relationships

Nodes RelationshipsMars

Pernilla AstronautAnna Manager

Michaela DoctorLisa Admin

Stina Engineer

Supply

SpaceshipNASA

Control Tower

Mission_to_Mars

Money

goes_into

built

designfly

works_in

look_after

works_at

participate_in

to

manage

pay_mission

43måndag 15 juli 13

44måndag 15 juli 13

Cypher - a graph query language

๏ a pattern-matching query language

๏ declarative grammar with clauses (like SQL)

๏ aggregation, ordering, limits

๏ create, read, update, delete, match

44måndag 15 juli 13

45måndag 15 juli 13

// create a nodecreate (astronaut:Astronaut {name:"Pernilla", age: 27}),(target:Planet {planet:"Mars"}),

(mission:Mission {mission:"Mission to Mars"});// find nodes match to node 1,2,3MATCH (astronaut)-[:PARTICIPATES_IN]->(mission)-[:TO]->(Planet:planet) where planet.planet = "Mars" RETURN astronaut.name

45måndag 15 juli 13

// create a nodecreate (astronaut:Astronaut {name:"Pernilla", age: 27}),(target:Planet {planet:"Mars"}),

(mission:Mission {mission:"Mission to Mars"});// find nodes match to node 1,2,3MATCH (astronaut)-[:PARTICIPATES_IN]->(mission)-[:TO]->(Planet:planet) where planet.planet = "Mars" RETURN astronaut.name

45måndag 15 juli 13

Demohttp://gist.neo4j.org/?5999059

46måndag 15 juli 13

THANKS!

Questions?

47måndag 15 juli 13

top related