Your SlideShare is downloading. ×
0
Graphen  auf Linux<br />GraphDB  + Mono  +   Linux <br />Daniel Kirstenpfad<br />sones GmbH<br />Schillerstrasse 5<br />04...
Überblick<br />Was ist ein Graph?<br />GraphDB von sones<br />das Mono Projekt<br />Anwendungsfälle<br />Demo<br />2<br />
Was ist ein Graph?<br />Knoten + Kanten  ungerichteter Graph<br />Beispiel: Strassenkarte<br />Alle Knoten haben den glei...
Was ist ein Graph?<br />Gerichtete Kanten ergeben einen gerichteten Graphen<br />Beispiele: Twitter, href-Beziehungen im W...
„Single Relational Structures“<br />Solange man innerhalb eines Graphen immer nur einen Bedeutung für alle Kanten hat spri...
Property Graph und Ontologien<br />Knoten und Kanten des Property Graphen liegt eine Objekt-Ontologie zugrunde<br />Proper...
Warum GraphDB?<br />Man kann eine „etwas steht in einer Beziehung mit etwas“ in fast jeder Datenbank modellieren<br />7<br...
Warum GraphDB?<br />Man kann eine „etwas steht in einer Beziehung mit etwas“ in fast jeder Datenbank modellieren<br />Prob...
GraphDB von sones<br />Seit 30.06.2010 OpenSource unter AGPLv3<br />http://github.com/sones/sones<br />Seit dieser Woche i...
das Mono Projekt<br />Open Source Implementierung der CommonLanguage Runtime (CLR) von .NET<br />Binärkompatibel mit Micro...
GraphDB auf Mono<br />GraphDB stellt hohe Anforderungen an Mono<br />GarbageCollector muss performant und stabil funktioni...
Monospace Conference <br />23. – 25. Juli 2011<br />Boston, USA<br />http://monospace.us<br />12<br />
Beispiel: „Wortschatz Leipzig“<br />Relationale Datenbank vs. GraphDB<br />Über 26 Mio. Rows in 4 Tabellen sind reine Rela...
Beispiel: „Wortschatz Leipzig“<br />14<br />MySQL Query<br />SELECT w.word AS wort, k.sigAS sig FROM co_sk, words w WHERE ...
Beispiel: „Wortschatz Leipzig“<br />15<br />MySQL Query<br />SELECT w.word AS wort, k.sigAS sig FROM co_sk, words w WHERE ...
Demos<br />16<br />DEMO<br />Social Network<br />
Vielen Dank!<br />17<br />Daniel Kirstenpfad<br />Gründer / CTO<br />Tel.: +49 (0)361/ 3026 250<br />info@sones.de<br />so...
Upcoming SlideShare
Loading in...5
×

sones GraphDB + Mono + Linux

1,095

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,095
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "sones GraphDB + Mono + Linux"

  1. 1. Graphen auf Linux<br />GraphDB + Mono + Linux <br />Daniel Kirstenpfad<br />sones GmbH<br />Schillerstrasse 5<br />04109 Leipzig<br />
  2. 2. Überblick<br />Was ist ein Graph?<br />GraphDB von sones<br />das Mono Projekt<br />Anwendungsfälle<br />Demo<br />2<br />
  3. 3. Was ist ein Graph?<br />Knoten + Kanten  ungerichteter Graph<br />Beispiel: Strassenkarte<br />Alle Knoten haben den gleichen „Typen“<br />Alle Kanten „bedeuten“ die gleiche Art von Beziehung<br />Alle Beziehungen sind symetrisch<br />3<br />Knoten 1<br />Knoten 2<br />Knoten 3<br />Knoten 4<br />
  4. 4. Was ist ein Graph?<br />Gerichtete Kanten ergeben einen gerichteten Graphen<br />Beispiele: Twitter, href-Beziehungen im Web<br />Alle Knoten haben den gleichen „Typen“<br />Alle Kanten „bedeuten“ die gleiche Art von Beziehung<br />Alle Beziehungen sind asymetrisch<br />4<br />Knoten 1<br />Knoten 2<br />ist Freund von<br />ist Freund von<br />Knoten 3<br />Knoten 4<br />ist Freund von<br />
  5. 5. „Single Relational Structures“<br />Solange man innerhalb eines Graphen immer nur einen Bedeutung für alle Kanten hat spricht man von<br />„Single Relational Structures“<br />5<br />Knoten 1<br />Knoten 2<br />ist Freund von<br />ist Freund von<br />Knoten 3<br />Knoten 4<br />ist Freund von<br />
  6. 6. Property Graph und Ontologien<br />Knoten und Kanten des Property Graphen liegt eine Objekt-Ontologie zugrunde<br />Property Graph<br />Knoten und Kanten haben key/value Properties (Attribute)<br />6<br />Name = String<br />Gewicht = Integer<br />Alter = Integer<br />Name = String<br />Datum = DateTime<br />Sender = SenderType<br />befreundet<br />S01E01<br />Name = Homer Simpson<br />Auftritt<br />Name=S01E01<br />Datum=01.01.1991<br />Sender=ZDF<br />Alter=40<br />Gewicht=131<br />
  7. 7. Warum GraphDB?<br />Man kann eine „etwas steht in einer Beziehung mit etwas“ in fast jeder Datenbank modellieren<br />7<br />1<br />4<br />XML<br /><graphml><br /> <graph><br /> <node id=1 /><br /> <node id=2 /><br /> <node id=3 /><br /> <node id=4 /><br /> <edge source=1 target=4 /><br /> <edge source=1 target=2 /><br /> <edge source=2 target=3 /><br /> </graph><br /></graphml><br />2<br />3<br />JSON<br />{<br /> 1 : { nach : [4,2] }<br /> 2 : { nach : [3] }<br />}<br />SQL<br />
  8. 8. Warum GraphDB?<br />Man kann eine „etwas steht in einer Beziehung mit etwas“ in fast jeder Datenbank modellieren<br />Probleme: <br />„Teure“ JOINs (was passiert bei Milliarden von Verbindungen?)<br />Index Lookups um herauszufinden welche Knoten verbunden sind<br />8<br />1<br />4<br />2<br />3<br />
  9. 9. GraphDB von sones<br />Seit 30.06.2010 OpenSource unter AGPLv3<br />http://github.com/sones/sones<br />Seit dieser Woche in Version 2.0 verfügbar<br />performante modulare GraphDB<br />Property Graph + minimale Ontologie<br />frei definierbare Attribute an Objekten, Vererbung von Attributen (~OOP)<br />Offene Schnittstellen zur Plug-In Entwicklung<br />SQL ähnliche, einfache Anfragesprache „GQL“<br />REST Schnittstelle (XML, JSON)<br />leistungsfähige API mit Languagebindings für C#, Java, Javascript, PHP<br />Platformunabhängig dank des Mono Projects<br />9<br />
  10. 10. das Mono Projekt<br />Open Source Implementierung der CommonLanguage Runtime (CLR) von .NET<br />Binärkompatibel mit Microsoft.NET<br />Open Source Implementierung des größten Teils der .NET Klassenbibliothek<br />.NET 1.1, 2.0, 3.5, 4.0<br />Platformunabhängig<br />Linux, Windows, Mac OSX, BSD, Solaris,...<br />Unterstützung weiterer Programmiersprachen wie z.B. F# (Funktionale Programmierung)<br />http://www.mono-project.com/<br />http://github.com/mono<br />10<br />
  11. 11. GraphDB auf Mono<br />GraphDB stellt hohe Anforderungen an Mono<br />GarbageCollector muss performant und stabil funktionieren<br />Viele parallel laufende Prozesse (Parallel Framework, Lock Free Data Structures,...)<br />11<br />
  12. 12. Monospace Conference <br />23. – 25. Juli 2011<br />Boston, USA<br />http://monospace.us<br />12<br />
  13. 13. Beispiel: „Wortschatz Leipzig“<br />Relationale Datenbank vs. GraphDB<br />Über 26 Mio. Rows in 4 Tabellen sind reine Relationendaten<br />13<br />
  14. 14. Beispiel: „Wortschatz Leipzig“<br />14<br />MySQL Query<br />SELECT w.word AS wort, k.sigAS sig FROM co_sk, words w WHERE k.w1_id=(SELECT w_id FROM words w WHERE word = “Laptop”) AND k.w2_id=w.w_idORDER BY k.sigDESC LIMIT 10;<br />
  15. 15. Beispiel: „Wortschatz Leipzig“<br />15<br />MySQL Query<br />SELECT w.word AS wort, k.sigAS sig FROM co_sk, words w WHERE k.w1_id=(SELECT w_id FROM words w WHERE word = “Laptop”) AND k.w2_id=w.w_idORDER BY k.sigDESC LIMIT 10;<br />GQL Query<br />FROM Word SELECT Cooccurrences.TOP(10) WHERE Content = ‘Laptop’;<br />
  16. 16. Demos<br />16<br />DEMO<br />Social Network<br />
  17. 17. Vielen Dank!<br />17<br />Daniel Kirstenpfad<br />Gründer / CTO<br />Tel.: +49 (0)361/ 3026 250<br />info@sones.de<br />sones GmbH HQ<br />Schillerstrasse 5<br />04109 Leipzig<br />Germany<br />Web: www.sones.com<br />Mail: info@sones.de<br />Tel.: +49 (0)341 39 29 68 0<br />Fax: +49 (0)361/ 2445 008<br />sones GmbH R&D<br />Eugen-Richter-Straße 44<br />99085 Erfurt<br />Germany<br />Web: www.sones.com<br />Mail: info@sones.de<br />Tel.: +49 (0)361/ 3026 250<br />Fax: +49 (0)361/ 2445 008<br />17<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×