Sorry, I don't have any tutorial
Maybe you can start from here:
http://orientdb.com/docs/3.0.x/datamodeling/Concepts.htmlJust remember there is no join operation. This is the most significant difference between a relational dbms and a NoSQL dbms.
A relational query like:
select
a.id as "Costumer Identifier",
c.name as "Work Town" from costumers a inner join company b on a.work_for =
b.id inner join towns c on b.town =
c.id where
a.name = 'Frank' and a.surname = 'Fedora'
in orientdb could be something like (depends on how you designed your database):
select id as "Costumer Identifier", out('work_at').
town.name as "Work Town" from costumers where [name,surname] lucene 'Frank Fedora'
In the relational case it involves 3 tables, 3 joins, 4 indexes. The complexity depends on how many records you have in your 3 tables. The mere they are, the slower your query will be.
In the orientdb query, there are 3 classes, an index and 0 joins. That it makes this one much more computationally efficient. Let say the costumer work for 4 companies, it reads exactly 1+4+4 documents. If you already have the rid of the costumer, the query can be run without any index at all, and it still reading exactly 9 documents. There is no dependency by how many total documents you have in your classes.
If you have the rid (eg. #35:35574535) the query will became:
select id as "Costumer Identifier", out('work_at').
town.name as "Work Town" from #35:35574535