View
122
Download
2
Category
Tags:
Preview:
Citation preview
SAP auf SQL Server 2008
{Lerneffekte - Neuerungen - Migrationen}Andreas KampertEnterprise ArchitectMicrosoft GmbH
AgendaManagement
Datenkomprimierung BackupkomprimierungResource Governor
SicherheitAuditing Einfache Datenverschlüsselung
PerformanceVerbesserungen beim LoggingGranulare Lock EskalationStar Join
HochverfügbarkeitMicrosoft Cluster ServerDatabase Mirroring
VirtualisierungKompatibilität
Datenkomprimierung - ZielsetzungenBalance zwischen optimaler Speicherung und
Performance
Daten effizient speichernGröße der Tabellen, Indizes verkleinern
Verbesserung der Performance bei AbfragenGeringere Kosten
Verringerung der HardwareanforderungenManagement Kosten
Backup/RecoveryCreate/Rebuild of indexesBulk Import Consistency Checking (e.g. CheckDB)
Verfahren Datentyp Bemerkungen
Vardecimal Decimal, Numeric Ab SQL Server 2005 SP2 verfügbar
Row Datentypen fester Länge
Page – Column Prefix
Datentyp unabhängig – Byte Pattern
Column
Page - Dictionary Datentyp unabhängig – Byte Pattern
Muster auf Page
Datenkomprimierung – Verfahren
Enabled für Tabelle und/oder IndexCREATE TABLE T_Part (c1 int, c2 char(2000) ) ON somePartScheme (c1) WITH
(DATA_COMPRESSION = PAGE ON PARTITIONS (1-7), DATA_COMPRESSION = NONE ON PARTITIONS (8) )
Row Komprimierung - Technologie
Neues Satzformat Variable Länge für Datentypen fester Länge (Bsp: INT, CHAR, FLOAT, MONEY, DATE/TIME)
Spezielle Handhabung von NULL und 0
0 0 0 1
4-byte integer
1SQL Server 2008 (compression enabled)
4 bytes
1 byte + 4 bits per value
SQL Server 2005
Page Komprimierung Column Prefix – Technologie
Suche nach Byte MusterUnabhängig vom Datentyp
aaabb aaaab abcd
aaabcc [0bbbb] abcd
aaaccc aaaacc bbbb
aaabcc aaaacc abcd
4b 4b [empty]
[empty] bbbb [empty]
3ccc [empty] [0bbbb]
PAGE Header
Anchor Record
Page Komprimierung Dictionary Komprimierung – TechnologieIdentifizierung und Referenzierung
identischer Einträge
aaabcc aaaacc abcd
[empty]
4b [0bbbb]
4b 4b [empty]
[empty]
3ccc [0bbbb]
PAGE Header
[empty] [0bbbb]
0
1
1
0
Anchor Record
Dictionary
Komprimierung im Beispiel
Die letzte Partion wird nicht komprimiert
Jan-Mar Apr-June July-Sept Oct-Dec
PAGE Compressed
Uncompressed
ROW Compressed
Datenkomprimierung Bisherige Erfahrungen
ROW Komprimierung:Reduziert den Platz für SAP ERP um ~15%
Für spezifische Lösungen wie IS-U oder Banking sogar mehr
In SAP BI wird die Größe um ~35% reduziertKein messbarer negativer Einfluss auf die PerformancePerformance Verbesserungen in Situationen mit I/O BottleneckMöglicherweise Default für SAP Installationen
DatenkomprimierungBisherige Erfahrungen
Page-Dictionary Komprimierung:Angewandt auf alle Tabellen in ERP kann die Größe des SAP ERP auf 50% der Originalgröße reduziert werdenTabellen wie GLPCA schrumpfen auf 15% ihrer OriginalgrößeAndere Tabellen schrumpfen kaum (z.B. customizing tables)Nicht zu empfehlen für Queuing Tabellen wie VBHDR, VBMOD, VBDATA, ARFCSSTATE, ARFCSDATA, TRFC…~25% höhere CPU Auslastung, wenn alle ERP Tabellen komprimiert werden (außer den Queuing Tabellen)Kann die Performance in extremen IO Bottleneck Situationen deutlich verbessernSAP wird die Möglichkeit zur Page-Dictionary Komprimierung für bestimmte Tabellen anbieten
Backup KomprimierungMinimierung der Ausfallzeiten
Deutlich weniger Speicherplatz
Bisherige Testergebnisse vergleichbar mit SQL Litespeed
Backups sind deutlich schneller, da weniger IO notwendig istIntegration mit 3rd Party Backup Herstellern über VDI oder VSS Interface gewährleistet
Restore erkennt Komprimierung automatisch
Backup Size
Backup Time
Restore Time
0
1
2
3
4
5
6
No CompressionCompression
Backup Compression
BACKUP DATABASE E61 to DISK = N'D:\E61full_compress.bak' WITH COMPRESSION
Konsolidierte WorkloadsResource Governor
Ressourcen - Management
Allokiert Ressourcen Zuweisung der Workloads beim LoginZuordnung von Workloads zu Ressourcen
Definition von GrenzwertenVerhindert Run-away QueriesUnterstützt bei Online Mmaintenance
Priorisierung der Workloads
Definition von PrioritätenDynamische Neuzuordnung
Backup
Admin Tasks
Continuous Loading
ExecReports
Ad-hoc Reports
Report Workload
OLTP Workload
HighAdmin
Workload
Admin Pool Application Pool
Min Memory 10%
Max Memory 20%
Max CPU 20%
Max CPU 90%
AgendaManagement
Datenkomprimierung BackupkomprimierungResource Governor
SicherheitAuditing Einfache Datenverschlüsselung
PerformanceVerbesserungen beim LoggingGranulare Lock EskalationStar Join
HochverfügbarkeitMicrosoft Cluster ServerDatabase Mirroring
VirtualisierungKompatibilität
AuditingSimplify Compliance
AUDIT wird zu einer zentralen ServerfunktionalitätGranulare Audit Funktionen für Datenbankobjekte und/oder BenutzerMultiple Ausgabeformen (File, Windows Application Log, Security Event Log)Volle Unterstützung von Analysis Services und Reporting Services zur Auswertung konsolidierter Daten
Auditing - Beispiel
Target
Server Audit
Database Audit
CREATE AUDIT HIPAA_Audit TO FILE ( FILENAME=’\\PRO1\Aud\HIP_ADT.aud’, MAX_SIZE=100 MB, RESERVE_DISK_SPACE ) WITH (SHUTDOWN_ON_FAILURE = ON);
CREATE AUDIT SPECIFICATION SvrACON SERVERTO HIPAA_Audit ADD FAILED_LOGIN_GROUP;
CREATE AUDIT SPECIFICATION AuditACON DATABASETO HIPAA_Audit ADD SELECT ON table::Customers(payment);
Verschlüsselung transparent für die Applikation
Erweiterung der Verschlüsselung von SQL Server 2005
Kann pro Datenbank aktiviert werden
Führt neuen Database Encryption Key (DEK) ein
Verschlüsselungsschutz für jede persistente Datenspeicherung
Verschlüsselung auch für Backups
Einfache Datenverschlüsselung
CREATE DATABASE ENCRYPTION KEYWITH ALGORITHM =
AES_128ENCRYPTION BY SERVER
CERTIFICATE ent_cert
SQL Server 2008
DEK
Client Application
Encrypted Data Page
Einfache Datenverschlüsselung
4 unterschiedliche Verschlüsselungsalgorithmen
AES_128, AES_196, AES_256, TRIPLE_DES
Einschalten der Verschlüsselung führt zur Verschlüsselung aller auf die Platte geschriebenen Pages UND startet Hintergrund Threads um den Rest der Datenbank zu verschlüsselnBester Durchsatz und geringster Overhead mit AES Algorithmen
TRIPLE_DES kann nicht empfohlen werden
SAP spezifisches Whitepaper wird vor Freigabe SQL Server 2008 RTM erscheinen
AgendaManagement
Datenkomprimierung BackupkomprimierungResource Governor
SicherheitAuditing Einfache Datenverschlüsselung
PerformanceVerbesserungen beim LoggingGranulare Lock EskalationStar Join
HochverfügbarkeitMicrosoft Cluster ServerDatabase Mirroring
VirtualisierungKompatibilität
Verbesserungen Transaction Log
SQL Server 2008Logik für minimales Logging vollständig überarbeitetLogging auf Speicherseitenebene ist ausreichend für das Zurückrollen von Einfüge-Operationen3x-5x Performance Steigerung
Index Insert
Heap Insert
SQL Server 2008SQL Server
Laufzeit
Verbesserungen für Minimal Logging
Auswirkungen des Minimal Logging auf R3LoadLaden der Tabellen in einer SAP Installation oder während einer Unicode/Plattform Migration:
Anlegen einer leeren TabelleDefinition des Clustered IndexLaden der Daten in Batches von 10.000 RowsDefinition der non-clustered Indexes
SQL Server bisherDer erste Batch wird minimal geloggtAlle weiteren Batches werden vollständig geloggtProblem: In Unicode/Plattform Migrationen wird extrem viel in das SQL Server Transaction Log geschrieben
Mit SQL Server 2008 wird Minimal Logging für alle Batches genutztReduzierung des Transaction Log Volumen um bis zu Faktor 50 in Tests bei Unicode/Plattform Migrationen
Lock Eskalation Ereignisse in SQL Server 2005:40% des Buffer Pool wird für Locks verwendetMehr als 5000 Row Locks werden durch ein DML Statement auf einer Tabelle gehalten
Versuch auf Table Lock zu eskalierenEskalation kann durch Trace Flag verhindert werden
Storage Engine entscheidet mit Page-Level Locks zu beginnen
Kann durch sp_indexoption abgeschaltet werden
Problem: kein zentrales Kommando, um die Lock Eskalation bei #2 und #3 zu verhindernSQL Server 2008:
Lock Eskalation kann auf Objekt oder Tabelleneben ausgeschaltet werden
ALTER TABLE VBDATA set (LOCK_ESCALATION = DISABLE)
Granulare Lock Eskalation
Optimierung der PerformanceDW Query Optimierung
Bessere Erkennung bei StarJoin AbfragenVerbesserte Regeln um alternative Abfragepläne zu generierenBesseres Kostenmodell bei Star Join PlänenZusätzliche Bitmap Filter Ausführungsstrategien
StarJoin Query Processing
Voraussetzung für Starjoin Processingmaxdop>1
Die Implementierung des maxdop Query Hints in SAP BI Code ist in ArbeitVorgehen:
Hinzufügen von maxdop=2 hint bei Abfragen, die der StarJoin Optimierung profitieren könnenTests mit SAP TAP und Beta Kunden laufen
Kann deutliche Performancegewinne erbringen
AgendaManagement
Datenkomprimierung BackupkomprimierungResource Governor
SicherheitAuditing Einfache Datenverschlüsselung
PerformanceVerbesserungen beim LoggingGranulare Lock EskalationStar Join
HochverfügbarkeitMicrosoft Cluster ServerDatabase Mirroring
VirtualisierungKompatibilität
SQL Server und SAPHigh-Availability FunktionalitätenMSCS Cluster Implementierung
Automatischer FailoverVirtual SQL Server InstanceMehrere Instanzen sind möglichBis zu 8 Knoten mit Win2003 und Win2008 IA64Bis zu 16 Knoten mit Win2008 x64
DB MirroringAutomatischer Failover (mit Witness)Zweite Kopie einer Datenbank
Log ShippingSchatten-Datenbank an einer zweiten LokationTime delay möglichErmöglicht kopieren über große Distanzen
Single Point Of FailureSAP 7.00 (ABAP und JAVA)ABAP Central Services (ASCS)
Primary Application Server
Spool W
P
Dia
log W
P
Batc
h W
P
Upd
ate
WP
Message Server
ABAP Dispatcher
Gateway
IP Address and Hostname
\\sapmnt
S:\usr\sap\<SID>\SYS
Enqueue Server
JControl
Jlau
nc
h SD
M
JAVA Central Services (SCS)
Message Server
Gateway
IP Address and HostnameEnqueue Server
• SPOF‘s:IP AddressHostnameMessage ServerEnqueue Serversapmnt ShareDisk mit \usr\sap\<SID>\SYS Verzeichnis
MSCS NetWeaver 7.0 (ABAP und JAVA)
Quorum Disk
MSSQL Data files
MSSQL Log files
SAP files (\\sapmnt)
Cluster Group
Virtual Name MSCS Node A MSCS Node B
Virtual ASCSHostname
SAP Group
Virtual DBHostname
MSSQL Group Database Instance
Database Instance
ABAP AS
ABAP AS
ABAP SCS
JAVA SCS
ABAP SCS
JAVA SCS
ERS
ERS
ERS
ERS
Multi-SID Clustering und Junctions
Bis WAS 6.40 war nur ein SAP System pro MSCS Cluster möglichGrund: \\SAPMNT share
Cluster Share \\sapmnt konnte nur einer Clustergruppe und einem Shared Drive zugeordnet werden
SAPMNT Share und Junctions
SAPSID<1>
SQL Data files
SAPSID<n>
SAP directories
SAPSID<n>
SQL Log files
SAPSID<1>
SQL Data files
SAPSID<n>
SQL Data files
SAPSID<1>
Quorum
Shared storage
WindowsMSCS SoftwareDatabase program files\usr\sap\<SID1>\[Junction]
…..\usr\sap\<SIDn>\[Junction]
WindowsMSCS SoftwareDatabase program files\usr\sap\<SID1>\[Junction]
…..\usr\sap\<SIDn>\[Junction]
Local Disk Local Disk
\\sapmnt share \\sapmnt share
Heartbeat
Neuer Wizard zur ValidierungSupport für GUID partition table (GPT) Disks in cluster Verbesserter Cluster SetupIPv6 SupportMulti-site Clustering
NodeA
Active Node
NodeB
Passive Node
Was ist neu bei MSCS in Win2008
Mirroring und MSCS
Location #1 Location #2
Storage
#1
Storage
#2
DB instance #1
DB instance #n
AS AS
SCS instance #1
SCS instance #n
DB mirroringPrincipal
Mirror
MS Cluster Server
SQL Server Database Mirroring Verbesserungen
Performance Verbesserungen
Neben der Verschlüsselung werden die Log Informationen auch komprimiert
Automatischer Page Repair
“Corrupt” Datenpages führen nicht mehr zu einer nicht verfügbaren Datenbank“corrupt” Page wird erkannt und vom Partner angefordertErfordert: Synchrones Mirroring
Log Stream Compression
http://sqlcat.com/technicalnotes/archive/2007/09/17/ database-mirroring-log-compression-in-sql-server-2008-improves-throughput.aspx.
AgendaManagement
Datenkomprimierung BackupkomprimierungResource Governor
SicherheitAuditing Einfache Datenverschlüsselung
PerformanceVerbesserungen beim LoggingGranulare Lock EskalationStar Join
HochverfügbarkeitMicrosoft Cluster ServerDatabase Mirroring
VirtualisierungKompatibilität
Hyper-V Architektur
Windows HypervisorPowerful virtualization built into the Windows platform
VirtualizationPlatform andManagement
Management tools
VM 2“Child”
VM 1“Parent”
VM 2“Child”
SAN Storage Subsystem
BW 3.5 QA System
Inactive VM
Windows Server 2003
R/3 4.6D Testsystem
Inactive VM
Windows Server 2000
R/3 4.6D App. Server
Inactive VM
Windows Server 2000
Enterprise Portal
Inactive VM
Windows Server 2003
SAP BW 3.5
Inactive VM
Windows Server 2003
R/3 4.6D App. Server
Active VM
Windows Server 2000
BW 3.5 QA System
Active VM
Windows Server 2003
R/3 4.6D Production
Active VM
Windows Server 2000
Hyper-V mit SAP
Central Backup Server
System Center Configuration Manager
Microsoft Operations Manager
System Center Virtual Machine Manager
DNS Server
DHCP Server
File- and Print Services
Active Directory Services
SAP Netweaver Administrator
R/3 4.6D Production
Active VM
Windows Server 2000
R/3 4.6D Production
Active VM
Windows Server 2000
AgendaManagement
Datenkomprimierung BackupkomprimierungResource Governor
SicherheitAuditing Einfache Datenverschlüsselung
PerformanceVerbesserungen beim LoggingGranulare Lock EskalationStar Join
HochverfügbarkeitMicrosoft Cluster ServerDatabase Mirroring
VirtualisierungKompatibilität
SAP Support of SQL Server 2008
SAP wird SQL Server 2008 unterstützen für:
Alle auf Netweaver 7.00 basierenden ProdukteNur auf 64Bit Plattformen: IA64 und x64
Kein Support für SQL Server 2008 32-Bit
Windows Server 2003 SP2Windows Server 2008Upgrades nur von SQL Server 2005
Kunden auf SQL Server 2000 müssen erst auf SQL Server 2005 upgraden
Und was ich nicht besprochen habe
SSISSSRS Integration in SAP BISingle Sign-OnEinfrieren des Query PlanPartitioningBizTalk Adapter Pack….
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after
the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Recommended