際際滷

際際滷Share a Scribd company logo
Graph Database
Muqorrobien Maru鍖
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 fachry
follow
vertex
edge
agus fachry
follow
 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 akti鍖tas mining
seperti collaborative 鍖ltering 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 鍖nansial 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
In鍖niteGraph
InfoGrid
VertexDB
DEXFilament
Horton
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
DBSTACK
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
Graph database
 https://github.com/anvie/blueprints-scala
 http://gremlindocs.com/
Untuk lebih detail silahkan baca:
Memecahkan masalah
menggunakan
Graph DB
Collaborative Filteringrekomendasi 鍖lm
http://markorodriguez.com
Cari siapa saja pengguna yang menilai 鍖lm Toy Story lebih
dari 3 bintang dan 鍖lm lain mana saja yang dinilai lebih dari 3 bintang
oleh pengguna tersebut.
masalah:
Collaborative Filteringrekomendasi 鍖lm
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

More Related Content

Graph database