orientdb - cloud barcamp libero cloud

Post on 10-May-2015

404 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

presentazione fatta al Cloud Barcamp Libero Cloud del 7/11/2013

TRANSCRIPT

Orient DB su Libero Cloud

Luigi Dell’Aquila - @ldellaquila

1979Primo DB relazionale disponibile sul mercato

Copyright © 2010 Luca Garulli - www.orientechnologies.com

RDBMS

In 30 anni abbiamo imparato a ragionare in termini di:

• Tabelle

• Chiavi/Join

• SQL

• Indici

Ma in 30 anni…

• Internet

• Big Data

• Cloud

• Nuovi modelli di dati e di analisi

• I tempi e i cambiamenti!

ER

Logic scheme

Physical scheme

Optimization, denormalization

La modellazione

ER

Logic scheme

Physical scheme

Optimization, denormalization

Domain DataModel

La modellazione

La modellazione

id Name Surname

Address

1 John Smith 3

id Street City

3 Rue de la Vie

4

id City Contry

4 Paris 15

id Coutnry

15 France

La modellazione

id Name Surname

1 John Smith

id person Street City type

3 1 Rue de la Vie 4 5

id City Contry

4 Paris 15

id Coutnry

15 France

id Type

5 Home

La modellazione

id Name Surname

1 John Smith

id person Street City

3 1 Rue de la Vie 4

id City Contry

4 Paris 15

id Coutnry

15 France

id Coutnry

5 Home

id person address type

1 1 3 5

Le query

Select country.name from country

Join city on country.id = city.country

Join address on city.id = address.city

Join personAddress on personAddress.address = address.id

Join addressType on addressType.id = personAddress.type

Join person on personAddress.person = person.id

Where person.name = “John”

And addressType.name = “home”

E questo?

Amici degli amici… degli amici: Select * from ???

Questo è un grafo, non una tabella

Amici degli amici… degli amici: “Traverse”

1979Primo DB relazionale disponibile sul mercato

2009NoSQL movement

Copyright © 2010 Luca Garulli - www.orientechnologies.com

Cos’è Orient DB?

• NoSQL

• Graph Database

• REST/JSON

• Scalable

• Multi Platform

• ACID Transaction

Il modello dei dati

• Class - Inheritance• Vertex/Edge• Document

• Schema• Schemaful• Schemaless• Schema-mixed

Interfacce di interrogazione

• HTTP REST

• Native• Java• Scala• JavaScript• PHP• C• Ruby• .NET• Python• Node.js• Clojure

• Tinkerpop Blueprints

NoSQL ma…

SQL!

Esempi

CREATE CLASS PERSON EXTENDS V;

CREATE CLASS FRIEND EXTENDS E;

CREATE VERTEX PERSON SET NAME = “MARIO”, SURNAME = “ROSSI”

CREATE VERTEX PERSON SET NAME = “MARCO”, SURNAME = “VERDI”

SELECT NAME, SURNAME, ADDRESS.CITY.REGION.COUNTRY FROM PERSON WHERE SURNAME = “ROSSI” AND ADDRESS.CITY.REGION.COUTRY.CONTINENT.NAME = “EUROPE”;

CREATE EDGE FRIEND FROM #10:1 TO #10:2

CREATE EDGE FRIEND FROM (SELECT FROM PERSON WHERE SURNAME = “ROSSI”) TO (SELECT FROM PERSON WHERE SURNAME = “VERDI”)

Esempi

SELECT FROM CITY WHERE COUNTRY.NAME.substring(1,3).toUpperCase() = “TAL”

SELECT FROM AGENDA WHERE EMAIL MATCHES '\bA-Z0-9._%+-?+@A-Z0-9.-?+\.A-Z?{2,4}\b’

SELECT name, $path, $depth FROM ( TRAVERSE * FROM Movie WHERE $depth <= 5 )

In più (in ordine sparso)

• Supporto Transazionale

• Javascript nativo

• Funzioni

• TinkerPop - Gremlin

• Java Object API

• Local/remote/embedded mode

• Veloce! 150.000 record/secondo (flat, no index)

Replication (high availability)

Replication

• ~ 0 config

• Multi Master

• Full replica or Sharding

• Fault Tolerant

• Automatic rerouting

• Perfetto per il cloud!

Replication

HAZELCAST

Replication

HAZELCAST HAZELCASTmulticast

Replication

HAZELCAST HAZELCAST

HAZELCAST

Multi Master

DISTRIBUTEDHOW-TO 1/1

• Unzip Orient DB package (>= 1.6.0)

• bin/dserver.sh

OrientDB e Libero Cloud

• Coming soon!

• Registrazione e prova gratuita

• http://cloud.libero.it/

DEMO

Risorse

Libri

top related