graph database

Post on 17-Aug-2015

252 Views

Category:

Technology

7 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Graph DatabaseMuqorrobien Marufi

r@ansvia.com

Apa itu graph database?

Graph Database

• Adalah basis data yang menggunakan konsep graph sebagai metode relasinya.

Elemen di Graph DB

Vertex Edge

agus fachryfollow

vertex

edge

agus fachryfollow

• nama = Agus Sangar• lokasi = Jakarta

• nama = Fachry Bafaddal• lokasi = Jogja

• timestamp = 1433826379878

atribut

Graph of the gods

http://thinkaurelius.github.io/

Mengapa Graph DB?

• Data modeling yang kaya.

• Performa yang lebih baik terutama untuk query yang dalam (deep traversal).

• Bisa langsung melakukan aktifitas “mining” seperti collaborative filtering untuk recommendation engine hanya dengan sekali query.

• Query setara “join” pada SQL yang lebih murah dan tidak terbatas oleh ukuran data dan kedalamannya.

• Bisa mengakomodir relasi data yang sangat kompleks tanpa perlu merubah skema dan mempengaruhi performa.

Graph DB cocok untuk:

• Social media yang banyak terdapat relasi antara user satu dengan yang lainnya.

• Aplikasi analitis finansial untuk realtime fraud detection.

• Aplikasi dengan “personalized content relevancy”.

• Aplikasi pemeta objek dengan banyak turunan dan keterkaitan yang tidak baku, contoh: aplikasi biologi untuk memecah protein, mineral, dan turunannya.

• Intelligent surveillance system.

• Aplikasi apa saja yang menawarkan outputnya dari “data driven”, seperti: aplikasi untuk memprediksi trend.

Graph DB tidak cocok untuk:

• Aplikasi dengan data yang tidak butuh relasi, atau hanya butuh relasi sederhana.

• Cache dan key value store.

Bagaimana menggunakan Graph DB?

Produk-produk Graph DB

Titan

FlockDB InfiniteGraph

InfoGridVertexDB

DEXFilamentHorton

FluxGraph ArangoDB

Blueprints API

Layer

Blueprints API

Titan

Your App

Agnostik

Komponen Titan Titan

Storage

Cassandra

Hbase

Oracle BerkeleyDB

Indexing Engine

Elastic Search

Solr

Lucene

Analytic Engine

Hadoop

Fulgora

Graph DB di Mindtalk

Blueprints API

Titan

Blueprints Scala

Mindtalk

Cassandra

github.com/anvie/blueprints-scala

DB

STA

CK

CRUDQ

Create

or =• name = Hercules• kind = demigod

Read

Update

Merubah atribut:

Menambahkan relasi:

Delete

db.delete(hercules)

hercules.delete()

or

Query

Bahasa pemrograman berbasiskan graph

“SQL”-nya graph db

Dengan dataset ini:

gremlin pipeline

• https://github.com/anvie/blueprints-scala

• http://gremlindocs.com/

Untuk lebih detail silahkan baca:

Memecahkan masalah menggunakan

Graph DB

Collaborative Filteringrekomendasi film

http://markorodriguez.com

Cari siapa saja pengguna yang menilai film “Toy Story” lebih dari 3 bintang dan film lain mana saja yang dinilai lebih dari 3 bintang

oleh pengguna tersebut.

masalah:

Collaborative Filteringrekomendasi film

http://markorodriguez.com

toyStory.inE(“rated”)      .filter{  it  =>  it.get(“stars”)  >  3}  .outV.outE(“rated”)  .filter{  it  =>  it.get(“stars”)  >  3  }.inV()  .range(0,  5)

jawab:

Masalah Graph DB

• Supernode problem.

• Circular dependency

“understanding the web of relationships among events, people, transactions, locations and

sensor readings might lead to superior intelligence insight. “

“Your business no doubt has similar opportunities.”

~ Mike Matchett

Terima kasih

top related