Verinin temsili, işlenmesi, saklanmasında gelişen ve değişen
koşullar ele alındıktan sonra, büyük verinin işlenmesi konusu
ele alınıyor.
Verinin anlamlandırılması konusunda değişen terimler, ünvanlar, algoritmalar, kullanılan aletler konusunda değerlendirmeler paylaşıldı.
sunumun videosuna aşağıdaki adresten ulaşabilirsiniz.
https://www.youtube.com/watch?v=pnvvMU8L-O0
Graph (Çizge) Veritabanları ve Multi-Model KavramıEmre Akış
Son zamanlarda popüler olmaya başlayan graph (çizge) veritabanları konusunda kavramlar ve örnekler üzerinden konuyu anlatmaya çalışıyorum. Ayrıca multi-model kavramına biraz değiniyorum.
Utku Demirhan @Digitalzone Meetups - Dijitalde 5 Veri Görselleştirme YöntemiZeo
28 Kasım 2017'de gerçekleşen Digitalzone Meetups'ta Zeo Agency'de Data Analisti olarak görev alan Utku Demirhan'ın "Dijitalde 5 Veri Görselleştirme Yöntemi" isimli sunumuna ait slaytlara buradan ulaşabilirsiniz.
Bilginç IT Academy - JPA (Java Persistence API)Mimar Aslan
Turkey JUG (Java User Group) Leader,
Turkey JBUG (JBoss User Group) Leader,
Computer Engineer, Senior Java Architect,
Software (Author, Speaker, Trainer)
Mimar Aslan
More Related Content
Similar to GraphDb ve Neo4j Teknolojilerinin Yüzeysel Anlatımı
Verinin temsili, işlenmesi, saklanmasında gelişen ve değişen
koşullar ele alındıktan sonra, büyük verinin işlenmesi konusu
ele alınıyor.
Verinin anlamlandırılması konusunda değişen terimler, ünvanlar, algoritmalar, kullanılan aletler konusunda değerlendirmeler paylaşıldı.
sunumun videosuna aşağıdaki adresten ulaşabilirsiniz.
https://www.youtube.com/watch?v=pnvvMU8L-O0
Graph (Çizge) Veritabanları ve Multi-Model KavramıEmre Akış
Son zamanlarda popüler olmaya başlayan graph (çizge) veritabanları konusunda kavramlar ve örnekler üzerinden konuyu anlatmaya çalışıyorum. Ayrıca multi-model kavramına biraz değiniyorum.
Utku Demirhan @Digitalzone Meetups - Dijitalde 5 Veri Görselleştirme YöntemiZeo
28 Kasım 2017'de gerçekleşen Digitalzone Meetups'ta Zeo Agency'de Data Analisti olarak görev alan Utku Demirhan'ın "Dijitalde 5 Veri Görselleştirme Yöntemi" isimli sunumuna ait slaytlara buradan ulaşabilirsiniz.
Bilginç IT Academy - JPA (Java Persistence API)Mimar Aslan
Turkey JUG (Java User Group) Leader,
Turkey JBUG (JBoss User Group) Leader,
Computer Engineer, Senior Java Architect,
Software (Author, Speaker, Trainer)
Mimar Aslan
Similar to GraphDb ve Neo4j Teknolojilerinin Yüzeysel Anlatımı (20)
2. Graph Database Nedir ? :
- İlişkisel veritabanlarından farklı olarak veri arasındaki ilişkileri vurgulamak için graph
teorisini kullanan, node (düğüm) ve relationship (ilişkiler) olmak üzere iki temel unsurdan
oluşan bir databasedir. Oracle NoSQL Database, OrientDB, HypherGraphDB, GraphBase,
InfiniteGraph ve AllegroGraph gibi başka popüler graph databaseler de vardır.
- İlişkisel veritabanları daha çok bir defter gibidir. Satır ve sütünlardan oluşur. Verileri
ilişkilendirmek için foreign keyler kullanırız ve bu da bize sorgularımızda join kullanmamıza,
sonuç olarak veri fazlalığına ve kompleksliğine sebebiyet verir. İlişkilerin çok daha önemli
olduğu bu gibi durumlarda graph databaseler daha önemli hale gelir.
3. RelationalDb vs GraphDb :
İlişkisel veritabanlarında karmaşık ilişkilerin modellenmesi sözkonusu olduğunda veritabanının
karmaşıklığı ve sorguların boyutu da paralel bir şekilde artar bu da hem yüksek maliyet hem de
performans kaybı demektir.
İlişkisel veritabanlarının şema tabanlı olması veri modelindeki
değişiklerin tablo yapısında önemli değişiklikler yapılmasını
gerektirir bu da veritabanı esnekliğini ciddi ölçüde kısıtlar.
İlişkiler tablo ve sütunlar aracılığıyla dolaylı olarak gösterilir, bu
da analizi zorlaştırır bu da verilerin görselleştirlmesini zor ve
aktarılmasını güç hale getirir.
5. Düğümler ve ilişkiler :
Düğüm :
Graph nesneleri olarak tanımlanabilir
İsim-değer çiftlerinden oluşur
İsimlendirilebilir
İlişki :
İsim-değer çiftlerinden oluşur
Düğümler arası ilişkileri yön ve özellik
belirterek tanımlar
6. Kullanım Alanları :
Sosyal Ağ Analizi : Kullanıcılar
arasındaki ilişkiler ve etkileşimler.
Tavsiyeler ve İçerik Dağıtımı : Kullanıcı
alışkanlıklarına göre öneriler.
Fraud Detection (SahtekarlıkTespiti):
Şüpheli faaliyetlerin ve ilişkilerin tespiti.
Biyoinformatik : Protein-protein
etkileşimleri ve genetik verilerin analizi.
Bilgi Grafikleri : Bilgi tabanlarının ve
semantik web verilerinin yönetimi.
Kurumsal Veri Yönetimi: Şirket içi
hiyerarşik yapılar ve kurumsal ilişkilerin
modellenmesi.
7. Neo4j Nedir ? :
- Neo4j Java ve Scala ile yazılmış olan bir graph databasedir. Cypher adında bir sorgulama
dili vardır. Neo4j açık kaynaklı, yüksek performanslı ve ölçeklenebilirdir. NASA, eBay, cisco
gibi kuruluşlar tarafından kullanılmaktadır.
Ölçeklenebilirlik : Neo4j, yatay olarak ölçeklendirilebilir bir mimariye sahiptir. Bu da, ihtiyaç
duydukça daha fazla sunucu ekleyerek graph'inizi büyütmenize olanak tanır.
Güçlü Özellikler : Neo4j, graph matching, graph traversal ve graph algorithms gibi birçok
güçlü özellik sunar. Bu da, graph'inizden en iyi şekilde yararlanmanıza yardımcı olur.
Performans : Neo4j, graph query'leri için optimize edilmiş bir bellek içi mimariye sahiptir. Bu
da, büyük ve karmaşık graph'ler üzerinde bile hızlı ve verimli sorgular çalıştırmayı mümkün
kılar.
8. - SQL’e aşina olan herkes Cypher’ı kolaylıkla anlayacaktır. Detaylara girmeden önce her ikisinin de declarative query dilleri
olduğunu belirtelim. Cypher özellikle graphlar için tasarlanmıştır. Her ikisininde clauseslar, keywordler, expressionlar,
operatörler ve functionlar içerdiğini söyleyebiliriz. SQL’den farklı olarak Cypher graph pattern’i merkezine almıştır. Cypher ile de
kompleks sorgular yazabiliriz. Cypher karışık okuma ve yazma operasyonları tek bir state üzerinden gerçekleştirir.
Cypher vs SQL :
Aşağıda bir kişinin doğrudan veya dolaylı olarak yönettiği, altındaki çalışanları ve bu çalışanların toplam rapor sayısını bulmak
için yazılmış sql ve cypher sorgularını görüyorsunuz.
9. Clustering Yapısı:
Neo4j, yüksek kullanılabilirlik, veri bütünlüğü ve performans sağlamak amacıyla kümeleme
(clustering) yeteneklerine sahip olan bir graf veritabanıdır. Neo4j'in kümeleme yapısı, veri
replikasyonu ve dağıtılmış sorgulama yetenekleri sunarak büyük ölçekli uygulamalarda
güvenilirlik ve esneklik sağlar.
Neo4j, dağıtık sistemler için güvenilir ve tutarlı veri replikasyonu sağlamak amacıyla Raft
konsensüs algoritmasını kullanır. Raft algoritması, lider seçimleri ve girişlerin (log entries)
replikasyonu yoluyla küme içindeki düğümlerin senkronize kalmasını sağlar.
Neo4j kümeleri, yapılandırma dosyaları aracılığıyla tanımlanır ve yönetilir. Bu dosyalarda
düğüm rolleri, replikasyon ayarları ve ağ yapılandırmaları belirlenir.
10. Güvenlik Duvarları ve Ağ Politikaları: Neo4j sunucusunun çalıştığı ağ ortamında güvenlik duvarları ve
ağ politikaları uygulanabilir.
Veritabanı Yedekleme ve Geri Yükleme: Güvenli yedekleme ve geri yükleme mekanizmaları ile veri
kaybı riskine karşı önlem alınabilir.
Kullanıcı Yönetimi: Kullanıcı hesaplarının yönetimi, parolaların zorunlu olarak güçlü olması ve düzenli
olarak değiştirilmesi gibi politikalar uygulanabilir.
Çok Faktörlü Kimlik Doğrulama (MFA): İleri seviye güvenlik gereksinimleri için çok faktörlü kimlik
doğrulama mekanizmaları entegre edilebilir.
Güvenlik :