Zerograph

406 views
347 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
406
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Zerograph

  1. 1. Zerograph is an alternative server container for one or more Neo4j graph databases that uses ZeroMQ for fast and reliable communication and comes bundled with a Python client.
  2. 2. Basic Architecture Python client application Java server (embedded) ZeroMQ transport JSON YAML
  3. 3. Multi-tenancy PATCH Graph {"host":"localhost","port":47471} !Graph {"host":"localhost","port":47471} from zerograph import * graph = Graph.open(port=47471) Graph.drop(port=47471)
  4. 4. Working with Entities a, b = graph.create(Node(name="Alice"), Node(name="Bob")) ab, = graph.create(Path(a, "KNOWS", b)) a.labels.add("Person") a.properties["age"] = 33 a.push() A B A B create delete push pull ab.properties["since"] = 1999 ab.push()
  5. 5. Performance (rough) ● Desktop Linux PC (quad-core AMD Phenom™ II X4 965 with 4GB RAM) ● Fast YAML loader (C, not Python) Creation test: ~0.25s/1000 nodes ~0.50s/1000 relationships
  6. 6. Resilience ZeroMQ Sockets
  7. 7. Can I use it? ● Built in a limited environment ● Not mature ● Not (yet) a production replacement
  8. 8. Can I use it? ● Built in a limited environment ● Not mature ● Not (yet) a production replacement ● Test and give feedback ● Try it, build on it, improve it ● Other languages ● Other operating systems
  9. 9. nigelsmall.com/zerograph @neonige

×