sones auf windows azure whitepaper (german)
-
Upload
sones-gmbh -
Category
Technology
-
view
959 -
download
3
description
Transcript of sones auf windows azure whitepaper (german)
sones
sones Whitepaper
GraphDB auf Windows Azure
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
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.
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.
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)
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.
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.
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.