sones graphdb + mono + linux

17
Confidential sones GmbH| 08/16/2022 1 Graphen auf Linux GraphDB + Mono + Linux Daniel Kirstenpfad sones GmbH Schillerstrasse 5 04109 Leipzig

Upload: daniel-kirstenpfad

Post on 20-Jan-2015

1.049 views

Category:

Documents


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: sones GraphDB + Mono + Linux

Confidential sones GmbH| 04/10/2023 1

Graphen auf LinuxGraphDB + Mono + Linux

Daniel Kirstenpfadsones GmbHSchillerstrasse 504109 Leipzig

Page 2: sones GraphDB + Mono + Linux

Confidential sones GmbH| 04/10/2023 1

Überblick

Was ist ein Graph? GraphDB von sones das Mono Projekt Anwendungsfälle Demo

2

Page 3: sones GraphDB + Mono + Linux

Confidential sones GmbH| 04/10/2023 1

Was ist ein Graph?

Knoten + Kanten ungerichteter Graph Beispiel: Strassenkarte Alle Knoten haben den gleichen „Typen“ Alle Kanten „bedeuten“ die gleiche Art von

Beziehung Alle Beziehungen sind symetrisch

3

Knoten 1 Knoten

2

Knoten 3

Knoten 4

Page 4: sones GraphDB + Mono + Linux

Confidential sones GmbH| 04/10/2023 1

Was ist ein Graph?

Gerichtete Kanten ergeben einen gerichteten Graphen

Beispiele: Twitter, href-Beziehungen im Web Alle Knoten haben den gleichen „Typen“ Alle Kanten „bedeuten“ die gleiche Art von

Beziehung Alle Beziehungen sind asymetrisch

4

Knoten 1 Knoten

2

Knoten 3

Knoten 4

ist Freund von

ist Freund von

ist F

reun

d vo

n

Page 5: sones GraphDB + Mono + Linux

Confidential sones GmbH| 04/10/2023 1

„Single Relational Structures“

Solange man innerhalb eines Graphen immer nur einen Bedeutung für alle Kanten hat spricht man von

„Single Relational Structures“

5

Knoten 1 Knoten

2

Knoten 3

Knoten 4

ist Freund von

ist Freund von

ist F

reun

d vo

n

Page 6: sones GraphDB + Mono + Linux

Confidential sones GmbH| 04/10/2023 1

Property Graph und Ontologien

Knoten und Kanten des Property Graphen liegt eine Objekt-Ontologie zugrunde

Property Graph– Knoten und Kanten haben key/value Properties

(Attribute)

6

Name = Homer

SimpsonS01E01

Auftritt

Name=S01E01Datum=01.01.1991Sender=ZDF

Alter=40Gewicht=131

Name = StringGewicht = IntegerAlter = Integer

Name = StringDatum = DateTimeSender = SenderType

befr

eun

det

Page 7: sones GraphDB + Mono + Linux

Confidential sones GmbH| 04/10/2023 1

Warum GraphDB?

Man kann eine „etwas steht in einer Beziehung mit etwas“ in fast jeder Datenbank modellieren

7

1 4

23

von Nach

1 4

1 2

2 3

SQL { 1 : { nach : [4,2] } 2 : { nach : [3] }}

JSON

<graphml> <graph> <node id=1 /> <node id=2 /> <node id=3 /> <node id=4 /> <edge source=1 target=4 /> <edge source=1 target=2 /> <edge source=2 target=3 /> </graph></graphml>

XML

Page 8: sones GraphDB + Mono + Linux

Confidential sones GmbH| 04/10/2023 1

Warum GraphDB?

Man kann eine „etwas steht in einer Beziehung mit etwas“ in fast jeder Datenbank modellieren– Probleme:

• „Teure“ JOINs (was passiert bei Milliarden von Verbindungen?)

• Index Lookups um herauszufinden welche Knoten verbunden sind

8

1 4

23

Page 9: sones GraphDB + Mono + Linux

Confidential sones GmbH| 04/10/2023 1

GraphDB von sones

Seit 30.06.2010 OpenSource unter AGPLv3– http://github.com/sones/sones

Seit dieser Woche in Version 2.0 verfügbar performante modulare GraphDB Property Graph + minimale Ontologie

– frei definierbare Attribute an Objekten, Vererbung von Attributen (~OOP)

Offene Schnittstellen zur Plug-In Entwicklung SQL ähnliche, einfache Anfragesprache „GQL“ REST Schnittstelle (XML, JSON) leistungsfähige API mit Languagebindings für C#,

Java, Javascript, PHP Platformunabhängig dank des Mono Projects

9

Page 10: sones GraphDB + Mono + Linux

Confidential sones GmbH| 04/10/2023 1

das Mono Projekt

Open Source Implementierung der Common Language Runtime (CLR) von .NET

Binärkompatibel mit Microsoft.NET Open Source Implementierung des

größten Teils der .NET Klassenbibliothek– .NET 1.1, 2.0, 3.5, 4.0

Platformunabhängig– Linux, Windows, Mac OSX, BSD, Solaris,...

Unterstützung weiterer Programmiersprachen wie z.B. F# (Funktionale Programmierung)

http://www.mono-project.com/ http://github.com/mono

10

Page 11: sones GraphDB + Mono + Linux

Confidential sones GmbH| 04/10/2023 1

GraphDB auf Mono

GraphDB stellt hohe Anforderungen an Mono– Garbage Collector muss performant und stabil

funktionieren– Viele parallel laufende Prozesse (Parallel Framework,

Lock Free Data Structures,...)

11

Page 12: sones GraphDB + Mono + Linux

Confidential sones GmbH| 04/10/2023 1

Monospace Conference

23. – 25. Juli 2011Boston, USA

http://monospace.us

12

Page 13: sones GraphDB + Mono + Linux

Confidential sones GmbH| 04/10/2023 1

Beispiel: „Wortschatz Leipzig“

Relationale Datenbank vs. GraphDB Über 26 Mio. Rows in 4 Tabellen sind reine

Relationendaten

13

Page 14: sones GraphDB + Mono + Linux

Confidential sones GmbH| 04/10/2023 1

Beispiel: „Wortschatz Leipzig“

14

MySQL Query

SELECT w.word AS wort, k.sig AS sig FROM co_s k, words w WHERE k.w1_id=(SELECT w_id FROM words w WHERE word = “Laptop”) AND k.w2_id=w.w_idORDER BY k.sig DESC LIMIT 10;

Page 15: sones GraphDB + Mono + Linux

Confidential sones GmbH| 04/10/2023 1

Beispiel: „Wortschatz Leipzig“

15

MySQL Query

SELECT w.word AS wort, k.sig AS sig FROM co_s k, words w WHERE k.w1_id=(SELECT w_id FROM words w WHERE word = “Laptop”) AND k.w2_id=w.w_idORDER BY k.sig DESC LIMIT 10;

GQL Query

FROM Word SELECT Cooccurrences.TOP(10) WHERE Content = ‘Laptop’;

Page 16: sones GraphDB + Mono + Linux

Confidential sones GmbH| 04/10/2023 1

Demos

16

DEMO

Social Network

Page 17: sones GraphDB + Mono + Linux

Confidential sones GmbH| 04/10/2023 1

Vielen Dank!

17

sones GmbH HQSchillerstrasse 504109 LeipzigGermanyWeb: www.sones.comMail: [email protected].: +49 (0)341 39 29 68 0Fax: +49 (0)361/ 2445 008

Daniel KirstenpfadGründer / CTOTel.: +49 (0)361/ 3026 [email protected]

17

sones GmbH R&DEugen-Richter-Straße 4499085 ErfurtGermanyWeb: www.sones.comMail: [email protected].: +49 (0)361/ 3026 250Fax: +49 (0)361/ 2445 008