learnmeabitcoin.com - the bitcoin blockchain in Neo4j by Greg Walker

65
Using Neo4j for the Blockchain

Transcript of learnmeabitcoin.com - the bitcoin blockchain in Neo4j by Greg Walker

Using Neo4jfor the

Blockchain

About Me

About Me

About Me

About Me

About Me

About Me

About Me

About Me

About Me

...

About Me

About Melearn me a bitcoin

About Melearn me a bitcoin

About Melearn me a bitcoin

About Melearn me a bitcoin

Why I m using Neo4j’

Why I m using Neo4j’

Why I m using Neo4j’

Why I m using Neo4j’

Why I m using Neo4j’

?

Why a graph database?

Why a graph database?Bitcoin Transactions:

Why a graph database?Bitcoin Transactions:

2

Why a graph database?Bitcoin Transactions:

2

Why a graph database?Bitcoin Transactions:

2

AddressGreg

Why a graph database?Bitcoin Transactions:

2

Why a graph database?Bitcoin Transactions:

2

Why a graph database?Bitcoin Transactions:

2 2

Why a graph database?Bitcoin Transactions:

2 2

Why a graph database?Bitcoin Transactions:

2 2

AddressMum

Why a graph database?Bitcoin Transactions:

2 2

Why a graph database?Bitcoin Transactions:

2 1.5

0.5

Why a graph database?Bitcoin Transactions:

1 0.8

Why a graph database?Bitcoin Transactions:

1

Why a graph database?Bitcoin Transactions:

Why a graph database?Bitcoin Transactions:

Schema

Schema (Transaction)

1 0.8

Schema (Transaction)

1

Schema (Transaction)

1

Schema (Advantages of a Graph Database)

Schema (Advantages of a Graph Database)

Schema (Advantages of a Graph Database)

Schema (Advantages of a Graph Database)

Schema (Blockchain)

Schema (Blockchain)

1

Schema (Blockchain)

1

Schema (Blockchain)

1

My Experience

My ExperienceSize

100 GB

My ExperienceSize

100 GB 500 GB

My ExperienceSize

100 GB 500 GB

1,325,071,942 nodes

2,020,670,961 relationships

My ExperienceSpeed

My ExperienceSpeed

My ExperienceSpeed

“Hot” = 0.2 secs

“Cold” = 8.5 secs

My ExperienceSpeed

“Hot” = 0.2 secs

“Cold” = 8.5 secs

RAM

My ExperienceSpeed

“Hot” = 0.2 secs

“Cold” = 8.5 secs

RAM

SSD

My ExperienceCypher

My ExperienceCypher

My ExperienceTip

a

1

2

100

.

.

.

My ExperienceTip

a

1

2

100

.

.

.

My ExperienceTip

a

1

2

100

.

.

.

MERGE (a {id:’a’})MERGE (n1 {id:1})MERGE (n1)-[:r]→(a)MERGE (n2 {id:2})MERGE (n2)-[:r]→(a)...MERGE (n100 {id:100})MERGE (n100)-[:r]->(a)

My ExperienceTip

a

1

2

100

.

.

.

MERGE (a {id:’a’})

$list = {id:1}, {id:2} ... {id:100}

My ExperienceTip

a

1

2

100

.

.

.

MERGE (a {id:’a’})FOREACH (x in [$list] | MERGE (n:test {id: x.id}) MERGE (n)-[:test]->(a))

$list = {id:1}, {id:2} ... {id:100}

Thanks

learnmeabitcoin.com