Visoka razpoložljivost podatkovnih zbirk Tomaž Šmid, Aleš Moškon Visoka razpoložljivost podatkovnih zbirk
Razpoložljivost Kaj razpoložljivost pomeni Vam? Ali lahko uporabniki naredijo kar morajo narediti ko morajo (hočejo) narediti Kaj gre narobe? Strežnik (HW, OS, ...) ne deluje Baza ni na voljo Podatki niso na voljo Tabela ni na voljo ...... STORITEV NI NA VOLJO! 24x7x365
Kaj je zares pomembno? Storitev kot jo vidi uporabnik Predvidena (dogovorjena) razpoložljivost Načrtovani izpadi RTO (Recovery Time Objective) V kolikšnem času po ne-načrtovanem izpadu storitev MORA biti na voljo RPO (Recovery Point Objective) Koliko podatkov sem pripravljen izgubiti
RAZPOLOŽLJIVOST BREZ PODVAJANJA
Komponente baze Database Filegroup Files Extents Page podatki … ProdajaDB Database Filegroup Files Extents Page podatki Primary Readwrite filegroup File1 File2 2004 File3 Readonly filegroups 4 8 12 16 20 24 28 2003 File4 File Header 1 5 9 13 17 21 25 29 … 2002 File5 2 6 10 14 18 22 26 30 2001 File6 3 7 11 15 19 23 27 31 extent 0 extent 1 extent 2 extent 3 Log
Kaj se zgodi ko... Napaka na disku, datoteki Bolečina z SQL Server 2000 Baza gre v “Suspect” način Uporabniki ne morejo do baze (podatkov) SQL 2005 rešitev Filegroup gre v “Offline” Uporabniki lahko dostopajo do baze in podatkov v drugih Filegroup-ah
Kako? “Partial Database Availability” Funkcionalno particioniranje “Functional partitioning” Samo tabele (podatki) v poškodovani Filegroup-i so nedostopne Strateška porazdelitev podatkov (tabel) “Secondary data files” V SQL 2005 – Partitioned Tables Poenostavitev izgradnje velikih baz “Data Warehouse”
Funkcionalno particioniranje Strategije Related Object-groupings Razdelitev tabel – po različnih filegroup-ah Time-based data placement/partitioning Recimo podatki prejšnjih let “Sliding window” scenarij List-based groupings/partitioning Glede na pogoje (šifra od-do)
Prednosti particioniranja “Sliding Window” Manipulacije glede na aktivnost tabel Backup Shranjevanje aktivnih komponent baze bolj pogosto od neaktivnih Restore Parcialni (OnLine Piecemeal Restore) Skoraj vsak del (page, file, filegroup) lahko restavriramo – ONLINE Parcialna razpoložljivost baze (“Partial Database Availability”)
Kaj se zgodi ko... Je potrebno narediti restore Bolečina z SQL Server 2000 Baza je v stanju “Restoring” Uporabniki ne morejo do baze (podatkov) Restore datotek se prične - OFFLINE SQL 2005 rešitev Filegroup je v stanju “Restoring” Uporabniki lahko dostopajo do baze in podatkov v drugih Filegroup-ah Parcialni (OnLine Piecemeal) Restore
Kaj se zgodi ko... Je treba indeksirati (index rebuild) Bolečina z SQL Server 2000 “Index rebuild” zahteva ekskluzivno zaklepanje tabele = OFFLINE Uporabniki ne morejo do tabele (podatkov) SQL 2005 rešitev “Index rebuild” lahko naredimo ONLINE (če so izpolnjeni določeni kriteriji) Uporabniki lahko dostopajo do tabele (podatkov)
Kako? SQL Server 2000 SQL Server 2005 Rebuild: DBCC DBREINDEX ali CREATE with DROP_EXISTING SQL Server 2005 Enako kot SQL 2000 plus.... ALTER INDEX…REBUILD: ONLINE – hkratni dostop uporabnikov med gradnjo indeksa (dostop in spreminjanje podatkov) OFFLINE – deluje z uporabo zaklepanja (enako kot SQL Server 2000)
Kaj se zgodi ko... Hoče več procesov iste podatke (Readers & Writers) Bolečina z SQL Server 2000 Zaklepanje zagotavlja zahtevano izolacijo Uporabniki morajo čakati za dostop do podatkov V primeru uporabe nižjega nivoja izolacije je lahko kompromitirana pravilnost podatkov SQL 2005 rešitev Uporabimo lahko zaklepanje ali verzije (“Versioning”) za zagotavljanje zahtevane izolacije Z uporabo verzij lahko zagotovimo, da ločimo branje in pisanje (blokiranje Readers / Writers)
RAZPOLOŽLJIVOST S PODVAJANJEM
Kaj se zgodi ko... Izgubimo bazo (v celoti) Izgubimo strežnik Izgubimo lokacijo ..... Tehnologije: Gruče (Cluster) Log Shiping Replikacija Zrcaljenje
Gruče Podvajanje strežnikov Tehnologija na razpolago od NT 4.0 Avtomatska detekcija napake in avtomatski prehod na drug strežnik Praviloma ni izgube podatkov Kaj pa centralno diskovje? Geografsko razpršene gruče SQL 2005 novosti Hitrejši prehod – Fast Recovery REDO – UNDO Licenciranje – gruča z dvemi strežniki že v Standard verziji Analysis Services – več instanc Failover Cluster
Log Shipping Znana in uveljavljena tehnologija Več tipov sekundarnih strežnikov Secondary for Failover Secondary for Reporting Secondary with delay for Human Error Recovery Lahko kombiniramo z drugimi tehnologijami (gruče in zrcaljenje – “Database Mirror”) SQL Server™ 2005 Integracija v SQL Server Management Studio Log Shipping – ni zakasnitve med “Database” ali “Differential” Backupi
Database Mirroring Je sestavni del SQL Server™ 2005 Za testiranje in pilotske postavitve Uradna podpora – certifikacija za produkcijo predvidena v prvi polovici 2006 Trije različni scenariji: High Availability High Protection High Performance
Minimalni napor da izkoristimo Povzetek - pregled Design in arhitektura Takoj po nadgradnji Minimalni napor da izkoristimo Partial Database Availability Online Piecemeal Restore Instant File Initialization Fast Recovery Online Index Operations Snapshot Isolation Failover Clustering Database Mirroring Log Shipping Database Snapshots Online Index Operations Snapshot Isolation Replication Izboljšanje razpoložljivosti – od instalacije do design-a Razpoložljivost na različnih nivojih
Database Mirroring