Ein Überblick: Data Services in der Cloud Azure, Teil 1

von Peter Welzig (Kommentare: 0)

Autor: Peter Welzig, Senior Professional its-people GmbH

Data Services der Microsoft Cloud Azure, Teil 1

Es ist schwierig geworden, den Überblick über die Services und Dienste der Microsoft Cloud „Azure“ zu behalten. Daher finden Sie hier nun eine Übersicht. Natürlich kann und möchte ich Sie nicht mit einer kompletten Auflistung aller Azure Dienste langweilen. Daher sollen nur die Daten und Datenbank relevanten Dienste, die von Microsoft selbst angeboten werden, berücksichtigt werden. Und dies in einer groben Unterteilung in „Datenbanken“ und „Daten und Analytics“.

Der erste Teil betrachtet alle von Microsoft angebotenen Dienste zum Thema

Datenbanken
  • SQL-Datenbank – die relationale SQL-Datenbank als DaaS-Lösung (Database-as-a-Service)

    Sozusagen die „klassische“ relationale SQL-Server Datenbank, nur eben „ohne“ Server sondern als Service in Azure bereitgestellt. Mit allen Vor- und Nachteilen einer Cloud-Datenbank im Vergleich zu On-Premise. Skalierbar in detaillierten Stufen in Leistung und Größe, relativ preisgünstig und aufgesetzt in Minuten: „Stell Dir vor, es ist eine Datenbank und keiner installiert!“

    Natürlich auch mit allen Nachteilen, wie dem Fehlen des voll vorhandenen Datenbankservers mit all seinen Diensten (SQL-Browser, Agent etc.). Die klassische Diskussion zwischen Cloud und eigenes Blech will ich hier aber vermeiden und vielmehr auf die weiteren Datenbank-Dienste der Azure-Cloud eingehen.

  • Azure-Datenbank für MySQL– eine MySQL-Datenbank als Dienst bzw. Service

    Die relationale Open Source Datenbank MySQL als Datenbankdienst in Azure, basierend auf der MySQL Community Edition. Also auch eine DaaS-Lösung mit vollständiger Verwaltung in Azure bezüglich Leistung, Skalierbarkeit, Verfügbarkeit und Datenschutz. Verschiedene Preismodelle von Basic über Standard und demnächst auch Premium, gestaffelt nach Compute Units und Storage-Space stehen zur Verfügung.

  • Azure-Datenbank für PostgreSQL – eine PostgreSQL-Datenbank als Dienst bzw. Service

    Analog zur Azure-Datenbank für MySQL, ist dies die relationale Open Source Datenbank PostgreSQL als Datenbankdienst in Azure, ebenfalls basierend auf der Community-Version. Also auch eine DaaS-Lösung mit vollständiger Verwaltung in Azure bezüglich Leistung, Skalierbarkeit, Verfügbarkeit und Datenschutz mit vergleichbaren Preismodellen wie bei der Azure-Datenbank für MySQL. Verbindungsbibliotheken stehen derzeit für Python, PHP, Ruby, .NET, Java, Go, Node.js, ODBC, C und C++ zur Verfügung. Der Dienst unterstützt die Installation von PostgreSQL Erweiterungen nur teilweise und keine eigenen Erweiterungen. Was sich aber noch jederzeit ändern kann, da der Dienst sich noch in der Preview-Phase befindet. Ebenso werden noch nicht alle Verwaltungsmerkmale in der Skalierung, Migration und bei Versionsupgrades unterstützt.

  • SQL Data Warehouse - eine elastisch skalierbare Data Warehouse Lösung als integrierter Service mit Enterprise-Funktionalitäten

    Die Basis für das SQL Data Warehouse ist (wie nicht anders zu erwarten) die SQL-Server Datenbankengine. Daher stehen auch viele (nicht alle!) bekannten Eigenschaften und Funktionen, wie die Verwendung von T-SQL, Stored Procedures, User Defined Functions, ColumnStore-Indizes usw., zur Verfügung.

    Die Architektur ist auf MPP (Massively Parallel Processing) mit hoher Skalierbarkeit auch für Big Data Anwendungen ausgelegt. Die „elastische“ Skalierbarkeit bedeutet hierbei, dass getrennt nach Compute- und Storage-Leistung skaliert werden kann.

    Interessant wird der Data Warehouse-Dienst über die Integration in die Azure-Plattform und Kompatibilität mit den SQL Server Tools. Dies ermöglicht ein sehr leistungsfähiges Zusammenspiel der Azure-Dienste wie Azure Data Factory, Stream Analytics, Machine Learning oder PowerBI. Und dies mit den Werkzeugen und Diensten wie Analysis Service, Integration Service, Reporting Service und insbesondere PolyBase und dem Azure Data Lake Store zur Integration von hybriden Datenquellen (NoSQL, Blob- und Hadoop-Speicher, Filestores etc.). Die Verwaltung kann daher auch mit den bekannten Werkzeugen wie dem SQL Server Management Studio oder Visual Studio mit den SQL Server Data Tools oder im Azure Portal bzw. Dashboard erfolgen.

  • SQL Server Stretch-Datenbank - SQL Server-Datenbanken dynamisch nach Azure erweitern

    Die SQL Server Stretch-Datenbank ermöglicht es vollkommen transparent, cold und warm data nach Azure auszulagern. Transparent bedeutet hierbei, ohne notwendige Anpassungen der Applikationslogik oder von Abfragen oder Views.

    Welche Daten nach Azure ausgelagert werden sollen (also wie kalt oder warm sie sein sollen) wird in Form von Filtern definiert, wie zum Beispiel „Alle Daten älter als …“. Die Aktivierung und Verwaltung einer Stretch-Datenbank ist einfach und schnell mit den Standardwerkzeugen (SSMS, Azure Portal/Dashboard) möglich. Die Sicherheitsfunktionen des SQL Server wie Always Encrypted oder Row Level Security werden auch von einer Stretch-Datenbank unterstützt.

    Auf den ersten Blick scheint die Funktion einer vollkommen transparenten Stretch-Datenbank sehr nützlich. Einige Einschränkungen bei der Verwendung (einige Tabelleneigenschaften und Datentypen verhindern derzeit den Einsatz) sowie die im Vergleich zu anderen Azure Diensten überraschend hohen Kosten, verhindern derzeit jedoch (noch?) oft den Einsatz. Schade eigentlich.

  • Azure Cosmos DB - für global verteilte Datenbanken mit mehreren Datenmodellen
    azure cosmos

    Als Nachfolger der Document-DB ist die Azure Cosmos DB einer der neuesten Azure Services. Hauptmerkmale der Cosmos DB sind die hohe Verfügbarkeit und weltweite Skalierbarkeit bei Unterstützung von verschiedenen Datenmodellen. Es werden verschiedene Leistungsmerkmale wie Antwortzeiten, Verfügbarkeit, Durchsatz und Konsistenz via SLAs garantiert. Die Leistungsfähigkeit wird durch eine einfach zu erstellende, globale und redundante Verteilung der Daten erreicht, wobei eine Azure-Region als Schreibspeicher definiert wird und beliebig viele andere Regionen als Lesespeicher.

    Als Datenmodelle werden derzeit No-SQL Daten für Dokumente, Diagramme (Graph-Data), Schlüssel-Wert-Paare (Key-Value), Tabellen und Spaltendaten (Column-Value) unterstützt. Hier ist demnächst noch mehr zu erwarten.Verschiedene konfigurierbare Konsistenzmodelle bieten ein breites Spektrum an hoher SQL-ähnlicher Konsistenz bis hin zu NoSQL-ähnlicher Konsistenz. Konzipiert für hohe Anforderungen an Leistung und Verfügbarkeit für u.a. IoT, Industrie 4.0 und global verteilte Mobile Apps und Anwendungen, ist mit einer entsprechend dynamischen Weiterentwicklung von Cosmos-DB in der Zukunft zu rechnen.

  • NoSQL Tabellenspeicher - Schlüsselwertspeicher für teilweise strukturierte Datasets

    Unter dem Sammelbegriff Azure Storage werden Services angeboten, um verschiedene Arten von Daten in der Cloud zu speichern. Dies sind zur Zeit BLOB bzw. Objekt Daten, Messaging-Queues, File Shares und NoSQL Tabellenspeicher. Diese Speicher sind für massive Skalierbarkeit, Erreichbarkeit und Verfügbarkeit ausgelegt. Kosten entstehen jeweils nur für den verwendeten Speicherplatz. Es werden Schnittstellen für die meisten und gängigsten Sprachen sowie das REST API unterstützt. Für einen hohen Workload wird eine Premiumvariante angeboten.

    Der im weitesten Sinne hier als Datenbankdienst verstandene „Table Storage“ unterstützt das Speichern von strukturierten und teilweise strukturierten Datasets in Form eines NoSQL Key-Attribute Speichers. Der NoSQL Table Storage wird zunehmend durch die Table API der Cosmos Datenbank (siehe dort) abgelöst werden, die ebenfalls einen Table Storage bereitstellt.

  • Redis Cache - für Anwendungen mit hohem Durchsatz und Zugriff mit geringer Latenz

    Für Anwendungen mit besonders hohem Workload und Anforderungen an Größe, Durchsatz und Bandbreite steht der Azure Redis Cache zur Verfügung. Über ein massives verwaltetes Clustering werden Leistungsmerkmale von zurzeit bis zu 2,5 Millionen Zugriffen pro Sekunde unterstützt.

    Der Azure Redis Cache basiert auf der Open Source Version von Redis Cache und kann mit jeder Azure Applikation genutzt werden, mit erweiterten Merkmalen in Sicherheit, Redundanz und Verfügbarkeit.

  • Azure Data Factory - Datentransformationen und Transfers orchestrieren und verwalten

    Die Azure Data Factory (ADF) wären - in dieser Auflistung insbesondere - einen eigenen Artikel wert. Sie sind als eine Art SSIS für die Cloud Azure anzusehen und bilden zusammen mit anderen Diensten wie zum Beispiel PolyBase umfangreiche Möglichkeiten und Ansätze, wenn es darum geht, irgendwelche Daten von irgendwo nach irgendwo zu transferieren und dies mit oder ohne Transformationen, Auswertungen oder Intelligenz.

    Azure_DataFactory_Entities

    Unter der Einbindung der verschiedensten Azure Daten Services lässt sich die ADF im Vergleich zu klassischen ETL-Strecken etwas mehr als „Extract and Load and then Transform“ (ELT) Plattform verstehen. Mit der ADF lassen sich datengetriebene Workflows, hier Pipelines genannt, mit Aktivitäten, hier Activities (data movement und data transformation activities) verknüpfen und verwalten. Datenquellen und Senken können hierbei die Azure Datenquellen aber auch viele On-Premise Datenquellen in Form von Datenbanken, NoSQL, File basierten und generischen http oder ODBC  Datasets sein, um nur einen Teil zu nennen.

    Als Aktivitäten lassen sich die Dienste rund um Hadoop – hier in Form von Azure HDInsight – wie auch Stored Procedures (Azure SQL und SQL Server) und weitere einsetzen. Somit lassen sich recht komplexe Szenarien über das Zusammenspiel von Datasets, Aktivitäten, Pipelines und Linked Services (siehe Grafik) abbilden. Die Möglichkeiten scheinen zunächst fast unbegrenzt und werden auch kontinuierlich ausgebaut.

Soweit zunächst die verschiedenen Azure Datendienste, die sich weitestgehend über den Sammelbegriff „Datenbanken“ zusammenfassen lassen. Dies kann und muss als eine Art Momentaufnahme angesehen werden, da die Entwicklung sehr dynamisch ist und nach dem Motto „Cloud first“ verläuft, also neue Funktionen und Erweiterungen zuerst in Azure bereitgestellt werden, bevor sie zum Beispiel im SQL Server vorhanden sind.

Im nächsten Teil dieses Artikels möchte ich dann auf die Azure Dienste eingehen, die sich unter den Begriff „Daten und Analysen“ zusammenfassen lassen.

Wer jetzt unter Datenbanken auch Oracle und Konsorten erwartete, sei darauf hingewiesen, dass es hier um reine Azure Dienste und Services ging. Selbstverständlich lassen sich auch Oracle Datenbanken in virtuellen Maschinen in Azure betreiben. Hierfür existieren sogar verschiedene fertige VMs, die dann auch innerhalb von Minuten zur Verfügung stehen.

Und am Ende noch ein Ausblick auf Teil 2 des Artikels (folgt demnächst):

Daten und Analysen
  • HDInsight
    Cloudbasierte Hadoop-, Spark-, R Server-, HBase- und Storm-Cluster
  • Machine Learning
    Predictive Analytics-Lösungen erstellen, bereitstellen und verwalten
  • Stream Analytics
    Echtzeitverarbeitung von Datenströmen von Millionen von IoT-Geräten
  • Azure Bot Service
    Intelligenter, serverloser Botdienst mit bedarfsgesteuerter Skalierung
  • Data Lake Store
    Riesiges Repository für Big Data-Analyseworkloads
  • Data Lake Analytics
    Verteilter Analysedienst zur vereinfachten Analyse von Big Data
  • Azure Data Catalog
    Verwalten von Unternehmensdatenbeständen

 

Zurück

Einen Kommentar schreiben