Your SlideShare is downloading. ×
0
OrientDB
OrientDB
OrientDB
OrientDB
OrientDB
OrientDB
OrientDB
OrientDB
OrientDB
OrientDB
OrientDB
OrientDB
OrientDB
OrientDB
OrientDB
OrientDB
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

OrientDB

3,474

Published on

3 Comments
6 Likes
Statistics
Notes
No Downloads
Views
Total Views
3,474
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
73
Comments
3
Likes
6
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. OrientDB The fastest NoSQLdocument graph dbms
  • 2. Spiel• Best of NoSQL• Best of RDBMS• New ideas & concepts Luca Garulli
  • 3. Features• HTTP / Binary• REST• JSON
  • 4. Features• Schema-less• Schema-full •constraints / validations / inheritance• Hybrid
  • 5. Features• ACID Transactions••Complex Types Arrays / Hashes / Embedded Documents• Direct Links
  • 6. Features• SQL in NoSQL• WTH?• SELECT * FROM employee WHERE name LIKE %Jay% AND status = 0
  • 7. JSON Documents{ @rid = 26:10, @class = Developer, name : Luca, surname : Garulli, company : 19:76}
  • 8. Fetch PlanInvoice 3:100 | | customer +---------> Customer |! 5:233 | city! country +---------> City ---------> Country |! 11:2! 12:3 | orders +--------->* [OrderItem OrderItem OrderItem] [ 8:12! 8:19! 8:23 ]
  • 9. JavaODocument doc = new ODocument( db,"Person" );doc.field( "name", "Luke" );doc.field( "surname", "Skywalker" );doc.field( "city", new ODocument("City" ).fields("name","Rome") );doc.save();
  • 10. orientdb-jrubyperson_class = DB.create_class :person, :name => :stringdoc = OrientDB::Document.new DB, "Person"doc[:name] = "Luke"doc[:surname] = "Skywalker"doc[:city] = OrientDB::Document.new DB, "City", :name => "Rome"doc.save
  • 11. orientdb-jrubyList<ODocument> result = db.query( new OSQLSynchQuery( "select * from person where city.name = Rome" ) );for( ODocument d : result ) { System.out.println( "Person: " + d.field( "name" ) +d.field( "surname" ) );}results = DB.first SELECT * FROM where WHERE city = "Rome"results.each do |doc| puts "Person: " + person.name + doc.surnameend
  • 12. Queries• select from Account where address.city.country.name = Italy• select from Account where addresses contains (city.country.name = Italy)• select from Profile where any() like %Jay%• select from Tree where children contains ( married = true )• select from User where roles containsKey shutdown• select from Vehicle where @class = Car• select from Friend where @version > 100
  • 13. ConsoleORIENT database v.0.9.23 www.orientechnologies.com Type help to display all thecommands supported.> connect remote:localhost/demo admin admin Connecting to database[remote:localhost/demo] with user admin...OK> select from profile where nick.startsWith(L)---+--------+--------------------+--------------------+--------------------+ # | REC ID | NICK! | SEX! | AGE |---+--------+--------------------+--------------------+--------------------+ 0 | 10:0 | Lvca | male | 34 1 | 10:3 | Leo | male | 22 2 | 10:7 | Luisa | female | 273 item(s) found. Query executed in 0.013 sec(s).> close Disconnecting from the database [demo]...OK> quit
  • 14. Web Admin
  • 15. WINNING, DUH!
  • 16. Links• OrientDB • orientechnologies.com• JRuby Client • github.com/aemadrid/orientdb-jruby

×