hochverfügbare und skalierbare datenbanksysteme mit sql server 2005 steffen krause...
TRANSCRIPT
Hochverfügbare und skalierbare Datenbanksysteme mit SQL Server 2005
Hochverfügbare und skalierbare Datenbanksysteme mit SQL Server 2005
Steffen KrauseSteffen KrauseTechnologieberater Application Technologieberater Application PlatformPlatformMicrosoft Deutschland GmbHMicrosoft Deutschland GmbHhttp://http://blogs.technet.comblogs.technet.com//steffenksteffenk
AgendaAgenda
Was bedeutet VerfügbarkeitWas bedeutet Verfügbarkeit Verfügbarkeit ohne Standby Verfügbarkeit ohne Standby Verfügbarkeit bei Verfügbarkeit bei
ParallelverarbeitungParallelverarbeitung Verfügbarkeit mit StandbyVerfügbarkeit mit Standby Weitere ThemenWeitere Themen
VerfügbarkeitVerfügbarkeitWas bedeutet das für Sie?Was bedeutet das für Sie?
Warum nicht?Warum nicht? Site ist nicht verfügbarSite ist nicht verfügbar System ist nicht verfügbarSystem ist nicht verfügbar Datenbank ist nicht verfügbarDatenbank ist nicht verfügbar Datenbank ist Datenbank ist teilweiseteilweise
nicht verfügbarnicht verfügbar Tabelle ist nicht verfügbarTabelle ist nicht verfügbar Daten sind nicht verfügbarDaten sind nicht verfügbar
Können Ihre Kunden tun, Können Ihre Kunden tun, was sie tun müssen, was sie tun müssen,
wenn es getan werden muss?wenn es getan werden muss?
24x7x36524x7x365
Verbesserte Verfügbarkeit Verbesserte Verfügbarkeit ohne ein Standby-System ohne ein Standby-System
Downtime wird reduziert oder Downtime wird reduziert oder vermieden, wenn:vermieden, wenn: Datenbank Datenbank teilweiseteilweise nicht verfügbar ist nicht verfügbar ist Tabelle nicht verfügbar istTabelle nicht verfügbar ist Daten nicht verfügbar sindDaten nicht verfügbar sind
00
11
22
33
44
55
66
77
88
99
1010
1111
1212
1313
1414
1515
1616
1717
1919
2020
2121
2222
2323
1818
File HeaderFile Header
extentextent
00extentextent
11extentextent
22
DatenbankkomponentenDatenbankkomponenten DatenbankDatenbank besteht aus…besteht aus…
DateigruppenDateigruppen bestehen aus…bestehen aus… DateienDateien bestehen aus…bestehen aus…
ExtentsExtents bestehen aus…bestehen aus…Seiten Seiten bestehen aus bestehen aus
DatenDaten
2424
2525
2727
2828
2929
3030
3131
2626
……
extentextent
33
MeineDBMeineDB
Datei2Datei2
Datei3Datei3
LogLog
Read/W
rite
Date
igru
ppe
Datei4Datei4
Datei5Datei5
Datei6Datei6
Read O
nly
Date
igru
ppe
n
20042004
20032003
20022002
20012001
PrimärPrimär
Datei1Datei1
Was passiert wenn…Was passiert wenn…
Festplatten/RAID-Systeme ausfallenFestplatten/RAID-Systeme ausfallen In SQL Server 2000In SQL Server 2000
Datenbank wird als fehlerverdächtig Datenbank wird als fehlerverdächtig („suspect“) gekennzeichnet („suspect“) gekennzeichnet
Benutzer können nicht auf die Datenbank Benutzer können nicht auf die Datenbank zugreifenzugreifen
DatenbankDatenbank ist Ebene der Verfügbarkeit ist Ebene der Verfügbarkeit
In SQL ServerIn SQL Server™™ 2005 2005 Dateigruppe wird als Offline markiertDateigruppe wird als Offline markiert Benutzer können auf nicht beschädigte Benutzer können auf nicht beschädigte
Dateigruppen zugreifenDateigruppen zugreifen DateigruppeDateigruppe ist Ebene der Verfügbarkeit ist Ebene der Verfügbarkeit
Funktionale Partitionierung Funktionale Partitionierung Datenaufteilung für VerfügbarkeitDatenaufteilung für Verfügbarkeit Strategische Gruppierung von Strategische Gruppierung von
ObjektenObjekten Nach PrioritätNach Priorität Nach Zeitfenstern (Sliding Window)Nach Zeitfenstern (Sliding Window) Nach Listen (z.B. Regionen)Nach Listen (z.B. Regionen)
… … in sekundäre Dateigruppenin sekundäre Dateigruppen Zusammengehörige/wichtige Objekte Zusammengehörige/wichtige Objekte
bleiben verfügbar, auch wenn andere bleiben verfügbar, auch wenn andere Datenbankteile offline sindDatenbankteile offline sind
FunktionaleFunktionale Partitionierung erfordert Partitionierung erfordert keinekeine partitionierten Tabellen partitionierten Tabellen Partitionierte Tabellen profitieren aber Partitionierte Tabellen profitieren aber
davondavon
TabellenpartitionierungTabellenpartitionierung
19961996 19971997 20062006
MeineGroßeTabelleMeineGroßeTabelle
• Eine einzige DatenbankEine einzige Datenbank• Partitionen einzeln verwaltetPartitionen einzeln verwaltet• Online/OfflineOnline/Offline• ReadOnly/ReadWriteReadOnly/ReadWrite• Restore (Online!)Restore (Online!)
……
Partitionen in sekundärenPartitionen in sekundärenDateigruppenDateigruppen
Was passiert wenn…Was passiert wenn…
Die Wiederherstellung beginntDie Wiederherstellung beginnt In SQL Server 2000 In SQL Server 2000
DatenbankDatenbank ist im Zustand „wird ist im Zustand „wird wiederhergestellt“wiederhergestellt“
Benutzer können nicht auf die Datenbank Benutzer können nicht auf die Datenbank zugreifenzugreifen
Datei wird neu erstellt und mit Nullen Datei wird neu erstellt und mit Nullen initialisiertinitialisiert
Datei wird wiederhergestellt – Datei wird wiederhergestellt – OfflineOffline In SQL Server 2005 In SQL Server 2005
DateigruppeDateigruppe ist im Zustand „wird ist im Zustand „wird wiederhergestellt“wiederhergestellt“
Benutzer können auf Daten in anderen Benutzer können auf Daten in anderen Dateigruppen zugreifenDateigruppen zugreifen
Datei kann mit schneller Dateiinitialisierung Datei kann mit schneller Dateiinitialisierung neu erstellt werdenneu erstellt werden
Datei wird wiederhergestellt – Datei wird wiederhergestellt – Online Online
Online Piecemeal RestoreOnline Piecemeal RestoreBessere Verfügbarkeit während RestoreBessere Verfügbarkeit während Restore Fast jede Komponente (Seite, Datei, Fast jede Komponente (Seite, Datei,
Dateigruppe) kann wiederhergestellt Dateigruppe) kann wiederhergestellt werden– ONLINEwerden– ONLINE
Wenn Seite beschädigt ist – nur diese Seite Wenn Seite beschädigt ist – nur diese Seite von aus Backup wiederherstellenvon aus Backup wiederherstellen
Konsistente Wiederherstellung (incl. Log-Konsistente Wiederherstellung (incl. Log-Wiederherstellung) erforderlichWiederherstellung) erforderlich Ausnahme: Read-Only DateigruppenAusnahme: Read-Only Dateigruppen
Im einfachen Wiederherstellungsmodus: Nur Im einfachen Wiederherstellungsmodus: Nur für Read-Only Dateigruppenfür Read-Only Dateigruppen
Schnelle DateiinitialisierungSchnelle DateiinitialisierungVerfügbarkeit durch weniger DowntimeVerfügbarkeit durch weniger Downtime SQL Server 2000SQL Server 2000
Alle Daten- und Logdateien müssen mit Alle Daten- und Logdateien müssen mit Nullwerten initialisiert werdenNullwerten initialisiert werden
Verlängert Nichtverfügbarkeit bei Verlängert Nichtverfügbarkeit bei Wiederherstellung während der Wiederherstellung während der DateierstellungsphaseDateierstellungsphase
SQL Server 2005SQL Server 2005 Nur Logdateien müssen mit Nullwerten Nur Logdateien müssen mit Nullwerten
initialisiert werdeninitialisiert werden Nichtverfügbarkeitszeit bei Wiederherstellung Nichtverfügbarkeitszeit bei Wiederherstellung
signifikant verringertsignifikant verringert Nicht nur für Restore nützlichNicht nur für Restore nützlich
DatenbankerstellungDatenbankerstellung Datenbankdatei-Änderung: Automatische und Datenbankdatei-Änderung: Automatische und
manuelle Vergrößerungmanuelle Vergrößerung
Partielle Datenbankverfügbarkeit und Piecemeal RestorePartielle Datenbankverfügbarkeit und Piecemeal Restore
Grenzen der VerfügbarkeitGrenzen der VerfügbarkeitParallelitäts-AnforderungenParallelitäts-Anforderungen
Datenbank ist verfügbar, aber die Datenbank ist verfügbar, aber die Anwendung/der Benutzer kann nicht die Anwendung/der Benutzer kann nicht die erforderlichen Operationen ausführenerforderlichen Operationen ausführen
Was ist mit administrativem Einfluß?Was ist mit administrativem Einfluß? Wartungsarbeiten können Blockierungen Wartungsarbeiten können Blockierungen
hervorrufenhervorrufen
Neue Online-IndexerstellungNeue Online-Indexerstellung
Was ist mit dem Einfluss von Was ist mit dem Einfluss von Anwendungen?Anwendungen? Schlecht designte und/oder langlaufende Schlecht designte und/oder langlaufende
TransaktionenTransaktionen Unterschiedliche DatenzugriffsmusterUnterschiedliche Datenzugriffsmuster
Neue Snapshot Isolation-OptionenNeue Snapshot Isolation-Optionen
Was geschieht wenn…Was geschieht wenn…
Indizes neu aufgebaut werden Indizes neu aufgebaut werden müssenmüssen In SQL Server 2000In SQL Server 2000
Neuerstellung von Indizes erfordert eine Neuerstellung von Indizes erfordert eine exklusive Sperre auf die Tabelleexklusive Sperre auf die Tabelle
Tabelle ist effektiv offlineTabelle ist effektiv offline Benutzer können die Tabelle nicht zugreifenBenutzer können die Tabelle nicht zugreifen
In SQL Server 2005In SQL Server 2005 Neuerstellung von Indizes kann in den Neuerstellung von Indizes kann in den
meisten Fällen online erfolgenmeisten Fällen online erfolgen Benutzer können auf die Tabelle zugreifenBenutzer können auf die Tabelle zugreifen
Was geschieht wenn…Was geschieht wenn… Leser und Schreiber dieselben Daten Leser und Schreiber dieselben Daten
zugreifen zugreifen In SQL Server 2000In SQL Server 2000
Sperren Sperren werden verwendet, um die beabsichtigte werden verwendet, um die beabsichtigte Isolationsstufe zu erreichenIsolationsstufe zu erreichen
Benutzer müssen auf Zugriff auf gesperrte Daten Benutzer müssen auf Zugriff auf gesperrte Daten wartenwarten
Parallelität und Performance werden beeinflusstParallelität und Performance werden beeinflusst Korrektheit wird beeinträchtigt wenn zur Vermeidung Korrektheit wird beeinträchtigt wenn zur Vermeidung
von Sperren niedrigere Isolationsstufen gewählt von Sperren niedrigere Isolationsstufen gewählt werdenwerden
In SQL Server 2005In SQL Server 2005 Sperren Sperren ODER ODER Versionierung Versionierung können verwendet können verwendet
werden, um die beabsichtigte Isolationsstufe zu werden, um die beabsichtigte Isolationsstufe zu erreichenerreichen
Mit Mit VersionierungVersionierung blockieren Leser keine Schreiber blockieren Leser keine Schreiber und umgekehrtund umgekehrt
Die Performance wird verbessert, wenn Wartezeiten Die Performance wird verbessert, wenn Wartezeiten der primäre Flaschenhals warender primäre Flaschenhals waren
2 Versionen: Snapshot pro Statement oder pro 2 Versionen: Snapshot pro Statement oder pro TransaktionTransaktion
Snapshot IsolationSnapshot Isolation
Verbesserte Verfügbarkeit Verbesserte Verfügbarkeit mit einem Standby-mit einem Standby-
SystemSystem Downtime reduziert für diese Downtime reduziert für diese
Fehlerfälle:Fehlerfälle: Site ist nicht verfügbarSite ist nicht verfügbar System ist nicht verfügbarSystem ist nicht verfügbar Datenbank ist nicht verfügbarDatenbank ist nicht verfügbar
DatenbankspiegelungDatenbankspiegelungRedundanz auf DatenbankebeneRedundanz auf Datenbankebene
Kommende Kommende HochverfügbarkeitstechnologieHochverfügbarkeitstechnologie
Verfügbar für Test und Prototyping in Verfügbar für Test und Prototyping in SQL Server 2005 RTMSQL Server 2005 RTM
Zertifiziert für Produktionsbetrieb in Zertifiziert für Produktionsbetrieb in der ersten Hälfte 2006der ersten Hälfte 2006
Drei Konfigurationen:Drei Konfigurationen: Hohe Verfügbarkeit – Synchron mit Hohe Verfügbarkeit – Synchron mit
WitnessWitness Hoher Schutz – Synchron ohne WitnessHoher Schutz – Synchron ohne Witness Hohe Performance – Asynchron Hohe Performance – Asynchron
Datenbankspiegelung Datenbankspiegelung ÜberblickÜberblick Softwarebasierte LösungSoftwarebasierte Lösung Principal-Datenbank verarbeitet Principal-Datenbank verarbeitet
BenutzeranfragenBenutzeranfragen Spiegeldatenbank erhält Änderungen Spiegeldatenbank erhält Änderungen
über sicheren, dedizierten TCP-Kanalüber sicheren, dedizierten TCP-Kanal Optionaler Zeugenserver für Optionaler Zeugenserver für
automatischen Failoverautomatischen Failover
Principal Datenbank Spiegeldatenbank
Änderungen
Commit
Schreiben in
Log
Übertragen auf Spiegel
Schreiben in Spiegel-
Log
Bestätigung
Committed im Log
Dauerndes Redo auf dem Spiegel
Bestätigung
DatenbankspiegelungDatenbankspiegelungGrundprinzip der synchronen SpiegelungGrundprinzip der synchronen Spiegelung
Log DBDB Log
DatenbankspiegelungDatenbankspiegelung
Standby-TechnologienStandby-TechnologienFeatuFeatu
rere
Hot StandbyHot Standby Warm StandbyWarm Standby Cold StandbyCold Standby
DatabasDatabase e
MirroringMirroring
Failover Failover ClusterinClusterin
gg
Peer-to-Peer-to-Peer Peer
ReplikatioReplikationn
Trans-Trans-aktionale aktionale ReplikatioReplikatio
nn
Log Log ShippingShipping
Backup / Backup / RestoreRestore
Detach Detach / Copy / / Copy / AttachAttach
Datenverlust
Keiner (optional) Keiner Möglich Möglich Möglich Möglich
Wahr-scheinli
ch
Failover automatisch
Ja Ja Optional Nein Nein Nein Nein
Transparent für Client
Ja, Auto-Redirect
Ja, Reconnec
t auf selbe IP
Optional Nein, NLB hilft
Nein, NLB hilft Nein Nein
Ausfallzeit Sekunden
20 Sec + DB
Recoverykeine Sekunden
Sekunden + DB
Recovery
Erkennen,
Restore, Manuelle
r Failover
Erkennen,
Attach, Manuell
er Failover
Standby Lesezugriff
Über Snapshot nein Dauerhaft
verfügbarDauerhaft verfügbar
Manchmal verfügbar Nein Nein
Standby-TechnologienStandby-TechnologienFeatuFeatu
rere
Hot StandbyHot Standby Warm StandbyWarm Standby Cold StandbyCold StandbyDatabasDatabas
e e MirrorinMirrorin
gg
Failover Failover ClusteringClustering
Peer-to-Peer-to-Peer Peer
ReplikatioReplikationn
TransaktionalTransaktionale Replikatione Replikation
Log Log ShippinShippin
gg
Backup / Backup / RestoreRestore
Detach Detach / Copy / / Copy / AttachAttach
Ebene minimal
Daten-bank Instanz
Tabelle oder Sicht
Tabelle oder Sicht
Daten-bank
Daten-bank
Daten-bank
Behandelt Platten-fehler
Ja
Nein, RAID
erforderlich
Ja Ja Ja Ja Ja
Spezielle Hardware
Nein, zweites System
Spezielle Hardwar
e aus Cluster
HCL
Nein, zweites System
Nein, zweites System
Nein, zweite
s Syste
m
Nein, zweites System
Nein, zweite
s System
Komplexi-tät Mittel Hoch Hoch Hoch Hoch Mittel Mittel
Grenzen der VerfügbarkeitGrenzen der Verfügbarkeit
Microsoft SQL Server 2005 bietet Ihnen Microsoft SQL Server 2005 bietet Ihnen deutlich verbesserte Tools für die deutlich verbesserte Tools für die Überwindung dieser Grenzen:Überwindung dieser Grenzen: Datenbankserverfehler oder KatastropheDatenbankserverfehler oder Katastrophe Isolierte FestplattenfehlerIsolierte Festplattenfehler Parallelität des DatenzugriffsParallelität des Datenzugriffs Datenbank-Wartung und AdministrationDatenbank-Wartung und Administration SkalierbarkeitSkalierbarkeit Benutzer- oder AnwendugnsfehlerBenutzer- oder Anwendugnsfehler
Es existieren viel mehr GrenzenEs existieren viel mehr GrenzenNur einige kann man mit Datenbanktechnologie überwindenNur einige kann man mit Datenbanktechnologie überwindenWichtig sind Menschen, Planung, Prozeduren und TrainingWichtig sind Menschen, Planung, Prozeduren und Training
Wann einsetzen?Wann einsetzen?Wieviel Arbeit erfordert die Wieviel Arbeit erfordert die Technologie?Technologie?
Online Index- Online Index- OperationenOperationenWnen Kriterien erfülltWnen Kriterien erfüllt
Snapshot Snapshot IsolationIsolationAuf AnweisungsebeneAuf Anweisungsebene
Snapshot Snapshot IsolationIsolationAuf Transaktionsebene Auf Transaktionsebene (RO)(RO)
Failover Failover Clustering Clustering
DatenbankspiegelDatenbankspiegelungung
Log ShippingLog Shipping Datenbank-Datenbank-
SnapshotsSnapshots
Sofort nach Upgrade
Minimale Arbeit erforderlich
Design und Architektur
Vewrbesserte Verfügbarkeit von Installation bis Redesign Ebenen der Verfügbarkeit zur Minimierung von Downtime und
Datenverlust
Partielle Partielle Datenbank-Datenbank-verfügbarkeitverfügbarkeit
Online Online Piecemeal Piecemeal RestoreRestore
Schnelle Schnelle DateiinitialisieruDateiinitialisierungng
Schnelle Schnelle WiederherstelluWiederherstellungng
Online Index Online Index OperationenOperationen Wenn Kriterien Wenn Kriterien nicht erfüllt (Minderheit)nicht erfüllt (Minderheit)
Snapshot IsolationSnapshot IsolationMit Erkennung von Update-Mit Erkennung von Update-KonfliktenKonflikten
ReplikationReplikation
RessourcenRessourcen WebcastsWebcasts
http://http://www.microsoft.comwww.microsoft.com//germanygermany//technettechnet/webcasts/webcasts SQL Server Administration Webcast-ReiheSQL Server Administration Webcast-Reihe
http://http://www.microsoft.comwww.microsoft.com//germanygermany//sqlsql//eventsevents/sql2005admin.mspx/sql2005admin.mspx
Download Evaluation & ExpressDownload Evaluation & Express EnglischEnglisch
http://http://www.microsoft.comwww.microsoft.com//sqlsql//downloadsdownloads//trial-software.mspxtrial-software.mspx DeutschDeutsch
http://http://www.microsoft.comwww.microsoft.com//germanygermany//sqlsql//downloadsdownloads/sql2005.mspx/sql2005.mspx
SQL Server Feature Pack incl. Upgrade AdvisorSQL Server Feature Pack incl. Upgrade Advisor Und Dokumentations-UpdateUnd Dokumentations-Update http://www.microsoft.com/germany/sql/downloads/default.mspxhttp://www.microsoft.com/germany/sql/downloads/default.mspx
Blog Steffen KrauseBlog Steffen Krause http://http://blogs.technet.comblogs.technet.com//steffenksteffenk
PASSPASS http://http://www.sqlpass.dewww.sqlpass.de
Ressourcen für Ihren ErfolgRessourcen für Ihren ErfolgVon Microsoft und den CommunitiesVon Microsoft und den Communities
TechNet für IT ProfessionalsTechNet für IT Professionals TechNet versorgt IT-Profis mit den wichtigsten TechNet versorgt IT-Profis mit den wichtigsten
Informationen in den Bereichen Evaluation, Planung, Informationen in den Bereichen Evaluation, Planung, Implementierung sowie Wartung und SupportImplementierung sowie Wartung und Support
auf dem Laufenden mit dem auf dem Laufenden mit dem TechNet Flash NewsletterTechNet Flash Newsletter, , RSS-FeedsRSS-Feeds sowie personalisierten Infos & Services sowie personalisierten Infos & Services
Technische Informationen in der TechNet Datenbank Technische Informationen in der TechNet Datenbank (z.B. Security und Skript Center) und TechNet Webcasts (z.B. Security und Skript Center) und TechNet Webcasts
www.microsoft.com/germany/technetwww.microsoft.com/germany/technet
www.sqlpass.dewww.sqlpass.deProfessional Association for SQL ServerProfessional Association for SQL Server (PASS): (PASS): unabhängige von Anwendern geleitete weltweite Vereinigung unabhängige von Anwendern geleitete weltweite Vereinigung von Nutzern der SQL Server-Technologievon Nutzern der SQL Server-Technologie
www.microsoft.com/germany/community/www.microsoft.com/germany/community/Eine Auswahl der besten deutschsprachigen Communities Eine Auswahl der besten deutschsprachigen Communities rund um Microsoft Server: Online- und Offline-Adressen für rund um Microsoft Server: Online- und Offline-Adressen für praktische Erfahrungen, Tipps, Web Boards und User Group praktische Erfahrungen, Tipps, Web Boards und User Group TreffenTreffen