OrientDB, the fastest document-based graph database @ Confoo 2014 in Montreal (CA)

6,032 views

Published on

OrientDB is a NoSQL graph database which also includes a document layer (like MongoDB): it gained a lot of attention, enough to push big companies like Sky and UltraDNS to use it in production: it's written in Java and it's amazingly fast, since it can store up to 150,000 records per second on common hardware; moreover, thanks to being a graphdb, it can manage relationship so fast that, compared to traditional DBs, can be 1000% faster than them.

Published in: Technology

OrientDB, the fastest document-based graph database @ Confoo 2014 in Montreal (CA)

  1. 1. parent_id
  2. 2. <a href=”http://en.wikipedia.org/wiki/Sergei_Stepashin”> Sergei Stepashin </a>
  3. 3. <a href=”http://en.wikipedia.org/wiki/Sergei_Stepashin”> Sergei Stepashin </a>
  4. 4. <a href=”http://en.wikipedia.org/wiki/Sergei_Stepashin”> Sergei Stepashin </a>
  5. 5. SELECT FROM Vehicle WHERE owner = 1:1
  6. 6. Barack Obama Michelle Obama Angela Merkel Kim Jong-un Nicolas Sarkozy
  7. 7. Barack Obama Michelle Obama Angela Merkel Kim Jong-un Nicolas Sarkozy SELECT FROM fellas WHERE any() traverse(0,-1) (@rid = [Michelle @rid])
  8. 8. Barack Obama Michelle Obama Angela Merkel Kim Jong-un Nicolas Sarkozy SELECT FROM fellas WHERE any() traverse(0,-1) (@rid = [Michelle @rid])
  9. 9. Barack Obama Michelle Obama Angela Merkel Kim Jong-un Nicolas Sarkozy SELECT FROM fellas WHERE any() traverse(0,2) (@rid = [Michelle @rid])
  10. 10. Barack Obama Michelle Obama Angela Merkel Kim Jong-un Nicolas Sarkozy SELECT FROM fellas WHERE any() traverse(0,2) (@rid = [Michelle @rid])
  11. 11. SELECT FROM authors WHERE book.title = ...
  12. 12. SELECT FROM authors WHERE book.title = ...
  13. 13. SELECT FROM Cats
  14. 14. SELECT FROM Cats
  15. 15. SELECT FROM 1:0
  16. 16. SELECT FROM 1:0
  17. 17. SELECT FROM [1:0, 1:1]
  18. 18. SELECT FROM [1:0, 1:1]
  19. 19. SELECT FROM [1:0, 2:1]
  20. 20. SELECT FROM [1:0, 2:1]
  21. 21. ./path/to/orientdb/bin/server.sh
  22. 22. ~ httparty -u admin:admin 'http://127.0.0.1: 2480/command/mydb/sql/SELECT%20FROM%20user' {"result"=> [{"@type"=>"d", "@rid"=>"#9:0", "@version"=>0, "@class"=>"user", "email"=>"hello@example.org", "password"=> "123456"}, {"@type"=>"d", "@rid"=>"#9:2", "@version"=>0, "@class"=>"user", "email"=>"hello2@example.org", "password"=> "123456"}]}
  23. 23. https://github.com/orientechnologies/orientdb/wiki/Programming-Language-Bindings
  24. 24. use DoctrineOrientDBBinding; $url $parameters $orient $response = = = = 'http://admin:admin@127.0.0.1:2480/demo'; BindingBindingParameters::create($url); new BindingHttpBinding($parameters); $orient->query("SELECT FROM User"); foreach ($response->getResult() as $user) { echo $user->name; }
  25. 25. use DoctrineOrientDBBinding; $url $parameters $orient $response = = = = 'http://admin:admin@127.0.0.1:2480/demo'; BindingBindingParameters::create($url); new BindingHttpBinding($parameters); $orient->query("SELECT FROM User"); foreach ($response->getResult() as $user) { echo $user->name; }
  26. 26. use DoctrineOrientDBBinding; $url $parameters $orient $response = = = = 'http://admin:admin@127.0.0.1:2480/demo'; BindingBindingParameters::create($url); new BindingHttpBinding($parameters); $orient->query("SELECT FROM User"); foreach ($response->getResult() as $user) { echo $user->name; }
  27. 27. use DoctrineOrientDBBinding; $url $parameters $orient $response = = = = 'http://admin:admin@127.0.0.1:2480/demo'; BindingBindingParameters::create($url); new BindingHttpBinding($parameters); $orient->query("SELECT FROM User"); foreach ($response->getResult() as $user) { echo $user->name; }
  28. 28. use DoctrineOrientDBBinding; $url $parameters $orient $response = = = = 'http://admin:admin@127.0.0.1:2480/demo'; BindingBindingParameters::create($url); new BindingHttpBinding($parameters); $orient->query("SELECT FROM User"); foreach ($response->getResult() as $user) { echo $user->name; }
  29. 29. Alessandro Nadalin
  30. 30. Alessandro Nadalin @_odino_
  31. 31. Alessandro Nadalin @_odino_ Namshi | Rocket Internet
  32. 32. Alessandro Nadalin @_odino_ Namshi | Rocket Internet VP Technology
  33. 33. Alessandro Nadalin @_odino_ Namshi | Rocket Internet VP Technology odino.org
  34. 34. Thanks! Alessandro Nadalin @_odino_ Namshi | Rocket Internet VP Technology odino.org
  35. 35. Thanks! Alessandro Nadalin @_odino_ Namshi | Rocket Internet VP Technology odino.org

×