Der Begriff „Sharding“ stammt aus der Datenbank-Architektur-Welt. Sharding bezeichnet die horizontale Partitionierung von Datensätzen einer Tabelle, wobei die daraus resultierenden Teile separat gespeichert werden. Zumeist werden solche Partitionen auf unterschiedliche Datenbankserver (oft auch auf getrennte physische Lokationen) verteilt. Die zusammengehörenden Teile werden „Shard“ genannt. Mit Hilfe dieses Design Prinzips lassen sich gute Skalierungseffekte bei großen Datenvolumen erzielen.

 

Die Kombination von Sharding Techniken mit SQL Azure erlaubt eine nahezu unlimitierte Skalierbarkeit von Daten. Um die Möglichkeiten und eine Umsetzung von Sharding mit SQL Azure besser verständlich zu machen, hat Microsoft ein Whitepaper mit dem Titel „Sharding with SQL Azure“ veröffentlicht.

 

Das Whitepaper bietet Unterstützung zu folgenden Punkte:

·         Konzepte zu horizontaler Partitionierung und Sharding

·         Herausforderungen beim Sharding von Applikationen

·         Herkömmliche Patterns zur Implementierung von Sharding

·         Vorzüge der Verwendung von SQL Azure als Sharding Infrastruktur

·         High-Level Design einer ADO.NET basierten Sharding Bibliothek

·         Einleitung zu SQL Azure Federations, welches Sharding Fähigkeiten direkt zu SQL Azure hinzufügt

 

Genaue Releasedaten zu SQL Azure Federations sind noch nicht bekannt. Der Veröffentlichungstermin sollte im Jahr 2011 liegen. Bis dahin muss man Sharding auf Applikationsebene mittels ADO.NET selbst implementieren.

Autor: Ing. Jürgen Leitner , MSc. ist Project Manager bei XION IT Systems Wien.