sones auf windows azure whitepaper (german)

8
sones sones Whitepaper GraphDB auf Windows Azure

description

 

Transcript of sones auf windows azure whitepaper (german)

Page 1: sones auf windows azure whitepaper (german)

sones

sones Whitepaper

GraphDB auf Windows Azure

Page 2: sones auf windows azure whitepaper (german)

Die sones GraphDB

Bei der sones GraphDB handelt es sich um ein neuartiges, graphenbasiertes

objektorientiertes Datenmanagementsystem. Dieses ermöglicht die effiziente Speicherung,

Verwaltung und Auswertung extrem komplexer, hochgradig vernetzter Datenbestände.

Die ganzheitliche Lösung verbindet die Vorteile einer Dateiablage mit den Möglichkeiten

eines Datenbankmanagementsystems. Unstrukturierte Daten (z.B. Videodateien),

semistrukturierte Daten (Metadaten, z.B. Logfiles) und strukturierte Daten können

miteinander verknüpft und somit aus einer Hand verwaltet und bei Bedarf ausgewertet

werden.

Die Idee für die Neuentwicklung einer auf der Graphentheorie bestehenden Datenbank

entstand Anfang 2005 aus Unzufriedenheit über die bestehenden Lösungen am Markt.

Diese boten für Abfragen auf stark verknüpfte Daten oft keine oder nur unzureichende

Ad-hoc Analyse-Funktionen. Zudem waren diese Systeme den sich mit hoher Dynamik

ändernden Daten- und Informationsstrukturen, die Applikationen insbesondere im Web-

Umfeld verarbeiten müssen, meist nicht in ausreichendem Maße gewachsen. Fokus der

Entwicklung war es daher, diese bisher komplexitätsbedingt kaum oder nur mit höchstem

Aufwand lösbaren Aufgabenstellungen einem effizienten Datenhandling und einer Real-

time-Analyse zuzuführen. Auf Basis völlig eigenständiger und neuartiger Konzepte wurde

eine von Grund auf neue Datenbanktechnologie entwickelt.

Die Lösung beinhaltet eine objektorientierte Speicherlösung (sones GraphFS) zur

performanten Datenspeicherung, sowie das Graphenorientierte Datenbankmanagement-

System (sones GraphDB), welches die Daten miteinander verknüpft und deren

performante Auswertung ermöglicht. Die Zusammenfassung dieser beiden Teile in eine

Software bietet den Vorteil einer hocheffizienten Verarbeitung, da auf jegliche

Abstraktionsschicht verzichtet werden kann. Der für den Betrieb einer Datenbanklösung

sonst übliche Aufwand wird durch diese Lösung extrem verringert.

Die objektorientierte Speicherlösung (sones GraphFS) speichert auch unstrukturierte und

semistrukturierte Daten, wie z.B. Dokumentenformate, Bilder, etc., effizienter als

Dateisysteme, welche dem Betriebssystem zugrunde liegen. Durch dieses Prinzip wird

Page 3: sones auf windows azure whitepaper (german)

eines der wesentlichen Performance-Probleme in bisherigen objektorientierten

Datenbanken, Mapping der Objektmodelle in relationale Tabellen, erfolgreich

überwunden. Für das Dateisystem ist ein Patent beantragt.

Das Graphenorientierte Datenmanagement (sones GraphDB) bietet hohe Flexibilität bei

der Datenstrukturierung und ermöglicht die direkte Verknüpfung der Daten ohne

zusätzliche Hilfskonstrukte, wie z.B. Zuordnungstabellen in Relationalen Datenbanken.

Da sich das Datenmodell an gängigen Programmiersprachen orientiert, entsteht keine

Diskrepanz zwischen Applikationslogik und Datenspeicherung. Die Komplexität ist im

Vergleich zu den bestehenden relationalen Lösungen teilweise drastisch geringer. Der sich

daraus ergebende Vorteil besteht unter anderem darin, dass bei zunehmender

Verknüpfung der Daten die Komplexität nicht exponentiell sondern linear wächst. Ein

weiterer entscheidender Vorteil liegt in der Fähigkeit der Datenbank, während der

Laufzeit Datenstrukturen ändern oder ergänzen zu können. Neue Anforderungen seitens

der Anwendung können daher ohne aufwändige Neuprogrammierung eines relationalen

Datenbankschemas realisiert werden.

Um das Datenmanagement für die Anwender zu erleichtern, wurde die Graph Query

Language (sones GQL) entwickelt. Sie orientiert sich in Umfang und Syntax zwar an

SQL, wurde aber an den graphenorientierten Ansatz angepasst und erschließt die in

diesem Modell vorhandenen Vorteile einer direkten und leicht verständlichen Abfrage.

Page 4: sones auf windows azure whitepaper (german)

Die Windows Azure Plattform

Die Azure Services Plattform ist eine Anwendungsplattform in der Cloud, die es möglich

macht, Anwendungen in Microsoft Rechenzentren zu hosten und zu betreiben. Sie stellt

das Cloud Operating System Windows Azure bereit, welches als Laufzeitumgebung für

die Anwendungen dient und eine Reihe von Diensten für die Entwicklung, Steuerung und

das Hosting der Anwendung bietet. Alle bestehenden Azure Services sowie die darauf

laufenden Anwendungen arbeiten selbst auf Windows Azure.

Windows Azure verfügt über drei Kernkomponenten: Compute, Storage und Fabric. Wie

der Name bereits vermuten lässt, bietet Computing Rechenleistung für Web und Worker

Roles während Storage sich darauf konzentriert skalierbaren Speicher (Blobs, Tabellen,

Queues, Laufwerke) auf elastisch skalierbare Weise zur Verfügung zu stellen.

Das Hosting-Umfeld von Windows Azure nennt sich Fabric Controller – dieses fasst

einzelne Systeme zu einem Netzwerk zusammen, das automatisch Ressourcen verwaltet,

Lastspitzen ausgleicht und Lasten verteilt, Geo-Replication und Anwendungs-

Lebenszyklen steuert – und dies ohne dass die Applikation selbst mit diesen Dingen

umgehen muss. Weiterhin bietet der Fabric Controler auch andere Dienste, welche von

den meisten Anwendungen gefordert werden – wie zum Beispiel den Windows Azure

Storage Service, der Anwendungen liefert, die die Eigenschaft besitzen, unstrukturierte

Daten wie z.B. Binärdateien, Queues, Laufwerke und nicht-relationale Tabellen zu

speichern.

Die Azure Service Plattform bietet ein auf REST, HTTP und XML basierendes API an

und erlaubt es Entwicklern mit den Diensten die von Windows Azure angeboten werden

zu arbeiten. Des weiteren wird ein Client-DLL angeboten welche die Interaktion mit den

Diensten kapselt. Dies fügt sich nahtlos in Microsoft Visual Studio ein, sodass es als IDE

verwendet werden kann um Azure-gehostete Anwendungen zu entwickeln und zu

veröffentlichen. Seit dem 1. Februar 2010 ist Windows Azure kommerziell erhältlich. Auf

der Website http://www.microsoft.com/azure können Nutzer Windows Azure Rechenzeit

und Speicherplatz erwerben.

Als eine Option bietet Azure auch Content Delivery (CDN) Dienste an. Zum aktuellen

Zeitpunkt befinden sich diese CDN Dienste in einer kostenlosen „Community Technology

Preview“ Phase und erlaubt es interessierten Nutzern statische Inhalte verteilt aus 18

Rechenzentren weltweit auszuliefern.

Page 5: sones auf windows azure whitepaper (german)

Derzeitiger Status der sones GraphDB auf Windows Azure

Derzeit ist die sones GraphDB 1.1 als Windows Azure Plattform Edition erhältlich, die –

da sie besonders optimiert wurde – sich nahtlos in die Windows Azure Cloud integriert.

Es ist wichtig, an dieser Stelle zu bemerken, dass all dies einen ersten Schritt in einem

Plan darstellt, der es vorsieht am Ende des Prozesses die Tools und Dienste der Windows

Azure Platform vollständig nutzen zu können.

(beispielhafte Verwendung auf Windows Azure)

Page 6: sones auf windows azure whitepaper (german)

Die sones GraphDB ist als Windows Azure deployment package erhältlich und kann

durch Nutzung der Service Configuration Datei konfiguriert werden. Die Windows Azure

Version der sones GraphDB entspricht allen Features des 1.1 Open Source Release:

• Full featured In-Memory Graph Datenbank

• Graph Query Language 1.1

• Alle Graph* APIs verfügbar

• REST Interface um die GraphDB als Service zu nutzen

• Intuitives Browser-basiertes AJAX WebShell Interface für einfachen User-

Zugang

• Die C# API um die sones GraphDB in eigene Windows Azure Diensten zu

verwenden

• API und Plug-In Interface für Graph-Algorithmen

• Inklusive “Kürzester Weg” Graphen-Algorithmus

Da sich die Windows Azure Version der sones GraphDB die Codebasis mit der Open

Source und Enterprise Version der sones GraphDB teilt, enthält sie im Wesentlichen jene

Technologie und APIs, über die auch alle anderen Editionen der sones GraphDB verfügen

und erreicht daher die gleiche Leistungsmetrik wie diese anderen Versionen.

Die sones GraphDB 1.1 auf Windows Azure ist eine passgenaue Lösung für jeden, der die

volle Flexibilität von Daten und Schemata einer ausgereiten Graph Datenbank nutzen

möchte. Die derzeitig maximale RAM Größe einer extra-large Windows Azure Instanz

liegt bei 14 Gbyte, was im Wesentlichen dem momentanen Größenlimit einer sones

GraphDB 1.1 Instanz auf Windows Azure entspricht. Um praktisch unbegrenztem

Speicherplatz verfügbar zu machen und somit die Anzahl von gespeicherten Objekten

über die RAM Grenzen hinaus zu erhöhen, planen wir, ein spezialisiertes Windows Azure

Speichermodul einzuführen.

Page 7: sones auf windows azure whitepaper (german)

In diesem ersten Schritt profitiert die sones GraphDB vom einfachen und mühelosen

Einsatz zusätzlicher Instanzen der sones GraphDB. In einem nächsten Schritt ist es

geplant, diese folgenden Features zur Verfügung zu stellen:

• Nutzen des Windows Azure Service Update Feature Windows um nahtlos

laufende GraphDB Instanzen durch Staging auf neuere Versionen upzudaten.

• Nutzen der Master/Slave Replikation um viele sones GraphDB Windows Azure

Instanzen einzusetzen

• Nutzen des spezialisierten Windows Azure Page Blob Storage Services um eine

Persistenz-Schicht zu schaffen, die die Windows Azure Plattform vollständig

nutzt und dabei hilft, die In-Memory-Größen Beschränkung zu umgehen.

Diese Features werden – entsprechend der aktuellen Entwicklungspläne für die sones

GraphDB 1.2 - voraussichtlich Ende 2010 verfügbar sein.

Page 8: sones auf windows azure whitepaper (german)

sones GmbH August 2010 sones GmbH Eugen-Richter-Str. 44 99085 Erfurt Germany Tel.: +49(0) 361 - 30 26 25 0 Fax: +49(0) 361 - 244 500 8

© 2010 sones GmbH. All rights reserved. sones as well as the according logos are registered trademarks of the sones. All other names of products and services are trademarks of their respective owners. This document is provided for information purposes only and the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronical or mechanical, for any purpose, without our prior written permission.