Data Archiving
@ SAP
Axel Herbst
Performance, Data Management & Scalability
SAP AG
The Life Cycle of SAP Data
DATABASE
FILE SYSTEM
STORAGE SYSTEM
t
Residence
time
Business
complete
Data
access
Audits
Deletion
Non
changeable
Importance
Creation
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 2
t
Legal Compliance - Record Retention Periods
2 years after commercial release - Records relating to the manufacturing, processing, packing of food
Pharmac./
Life Sci.
(21 CFR Part
11)
3 years after distribution - Records relating to the manufacturing, processing, packing of drugs and pharmaceuticals
5 years after end of manufacturing or product - Records relating to the manufacturing of biological products
5 years - All hospitals must retain records in originally or legally produced form
Healthcare
(HIPAA)
21 years+ (perhaps for life) - Medical records for minors from birth to 21
2 years after patient’s death - Medical records
3 years - Financial statements
Financial
Services
(SEC 17a-4)
End-of-life of enterprise - Member registration for broker/dealers
End of account +6 years - Trading account records
30 years after completion of audit - Employee and medical records of individuals exposed to toxic substances
OSHA
Sarbanes
Oxley
4 years after completion - Original correspondences from financial audits or publicly-traded corporations
0
1
2
3
4
5
10
15
20
Minimum Retention Period on Compliant Media (Years)
Source: Enterprise Storage Group, May 2003
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 3
Architecture of an ABAP-Based SAP Component
SAP
GUI
Web
Server
Front End
Application
(e.g. Word)
SAP
GUI
SAP
GUI
SAP
GUI
Dispatcher
Gateway
Shared
Memory
and
Buffers
SAP
GUI
SAP
GUI
Dispatcher
DIA
WP
BTC
WP
SPO
WP
DBWP
DBWP
DBWP
Shared
Memory
and
Buffers
DBMS
Database
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 4
SAP
GUI
DIA
WP
DBWP
Gateway
ENQ
WP
Enqueue
Table
Size of Database
Survey Results from the American SAP User Group ASUG
(Archiving Track)
1999
2002
12
10
7
8
7
5
5
8
6
5
4
2
1
0 < 300 GB 300-500 500-700 700-999 1.0-1.5
GB
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 5
GB
GB
TB
1
>1.5
TB
Today's requirements to RDBMS in SAP Systems
Requirements concerning business objects
Several TB net data in RDBMS
Size of a business object between some KB and some 100 MB
Typically at least 3 search criteria
Business partner
Material/product/service/...
Date
Need to access business objects for several (even 10+) years
Requirements concerning OLTP
1000 database transactions per second
50 MB/s write access to database files
Database transactions change hundreds of tables (dozens of
business objects)
Recovery in less than 15 minutes
7*24 hours (2 hours planned down time a month)
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 6
System Availability - Downtime Costs Per Hour
Downtime Losses by Application
Financial/Trading
Typical Loss Per Hour of
Unplanned Downtime (US$)
$2,400,000
Supply Chain
$600,000
ERP
$600,000
CRM
$480,000
E-Commerce
$480,000
E-Business
$480,000
Business Application
$300,000
Database
$300,000
Messaging
$60,000
Infrastructure
$42,000
Source: Storage Magazine
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 7
Use of Resources - Storage Savings
Archiving
Data Records
10 GB
Mirrors
20 GB
Compression
to 20 %
2 GB
2 GB
Backup to Tape
Total savings in this scenario: 97.5%
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 8
System Copies
80 GB
Long-Term Issues
Costs
Efficient archive format: compact, indexable
Inexpensive storage system/media
Easy administration (low TCO)
Long-term reuse
Appropriate search/query capability to find archived data
Readability of archive
Replaceable/maintainable/migrateable hardware and software components
Interpretability (self-contained and self-describing format, schema)
Application connectivity (open interface/protocol)
Application integration
Enough semantics/context for future use
Archival of referenced documents
Security
Write once guarantee (-> for legal, tax and audit reasons)
Authorization, authentication, nonrepudiation, privacy, encryption
Operating (archiving in production environment)
Mass data transfer from DB to archive
Automation, Monitoring, ...
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 9
Zusammenfassung: Datenarchivierung – Warum?
Kontrolliertes Wachstum der Datenbank
Kosteneinsparungen
geringere Hardwarekosten
geringere Verwaltungskosten
DB-Platz
Bessere Performance
schnelleres Sichern und Wiederherstellen
schnelleres Erstellen der CBO-Statistiken
schnellere Release-Wechsel
Kürzere Antwortzeiten für Endbenutzer
bei Geschäftsvorfällen mit in DB verbleibenden Daten
Langfristige Speicherung von Daten in “nutzbarer” Form
… wegen neuer rechtlicher Anforderungen (GDPdU, SOA)
… trotz mehr “Bewegung” in der IT-Landschaft (End-of-life
System vs. Data)
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 10
Zeit
Application-oriented DB Archiving
Architectural classification w.r.t. provider of archiving service
DBMS-based
Application with archiving functionality
DBMS
DB
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 11
DBMS-integrated
Application
DBMS with archiving functionality
Archive
DB
Archive
SAP Data Archiving
For SAP, only the DBMS-based approach is an option.
However, SAP applications use Basis Archiving Functionality.
SAP application
with archive integration
SAP basis
archiving functionality („ADK“)
DBMS independence (DB2/..., Informix,
MS SQL Server, Oracle, MaxDB)
Availability:
DBMS-integrated approach
only in DB2/390 RAM
Even
„Standard“ SQL needs to be
unified (SAP „Open SQL“)
Tertiary storage integration
Needs
to be vendor-independent as
well: dedicated archiving/CM systems
connected via certified interface to store
archive files
DBMS
Application „awareness“ of archiving
DB
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 12
Archive
DB
schema hardly contains application
semantics (almost no integrity
constraints on DB level, business
context for archive access, ...)
Datenarchivierung aus SAP-Kundensicht
Auswertungen/Zugriff
archivierte Daten lesen
Datenbank
Datenobjekte
Anwendungsdaten
in Archivdateien schreiben
in Datenbank löschen
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 13
Archivdateien
Anwendungsbezug durch Archivierungsobjekte
Archivierungsobjekt
Struktur: Definition der logisch (aus betriebswirtschaftlicher Sicht)
zusammenhängenden, gemeinsam zu archivierenden Daten – einschl. Kontext
= “Schema” (allerdings nicht Archivschema)
Verhalten: Programme, Anwendungsspezifische Prüfungen
Technische Einstellungen
für COfür FI-Belege
Belege
Customizing
Archivierungsobjekt
Programme
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 14
Daten
Programme eines Archivierungsobjekts
… sichtbar als Aktionen für den DA-Administrator
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 15
Kernfunktionen in Archivierungsprogrammen I
Schreibprogramm
Berechtigungsprüfungen
Einlesen des anwendungsspezifischen Customizings
Lesen von der Datenbank: SELECTs aus allen beteiligten Tabellen/Views
Archivierbarkeitsprüfung
Erzeugen eines neuen Archivierungslaufs
Aufbau komplexer (Daten-)Objekte aus gelesenen Sätzen
Sichern der Datenobjekte in Archivdatei
Ausgabe eines Protokolls
Abschluß des Archivierungslaufs
ggf. Anstoßen einer Folgeaktion (Löschen oder Ablegen)
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 16
Beispiel für Archivierbarkeitsprüfungen
Abhängigkeiten im Belegfluß
...
Verkaufsbeleg
Lieferung
Faktura
SD_VBAK
RV_LIKP
SD_VBRK
Berücksichtigung der Residenzzeit
Zeit
Verkaufsbeleg
Erfassungsdatum
Beginn 1
Residenzzeit
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 17
Änderungsdatum
Beginn 2
Archivierung
Erreicht
...
Kernfunktionen in Archivierungsprogrammen II
Löschprogramm
Berechtigungsprüfungen
Einlesen des technischen objektspezifischen Customizings (z.B.
Transaktionsgrenzen)
An die aktuelle Plattform und das aktuelle Release (DB-Schema!)
angepaßte Lesen der Datenobjekte aus der Archivdatei
Löschen der korrespondierenden Daten(sätze) in der Datenbank
(SAP Business Information Warehouse: DROP PARTITION)
Ausgabe eines Protokolls
Abschlußarbeiten
ggf. Anstoßen einer Folgeaktion (Ablegen oder Nachlauf)
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 18
Archivzugriff
Sichtbarkeit von archivierten Daten
eigenständiges Archiv
integriertes Archiv
… je nach SAP-Anwendung!
Bewußte Unterscheidung
DB <-> Archiv oder uniformer
Zugriff bei Anzeige aus
Anwendungstransaktion heraus
Generische Tools
Archivinformationssystem
Document Relationship Browser
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 19
Das Archive Development Kit – ADK
ADK =
Generische Entwicklungs- und Laufzeitumgebung für ABAPArchivierungsprogramme
Von SAP für alle Archivierungsobjekte eingesetzt
Schreiben, Löschen, Lesen, Zurückladen, Umsetzen
vom Archivinformationssystem benutzt
Für Kunden zur Entwicklung eigener Archivierungsobjekte freigegeben
ADK-Komponenten
Laufzeitsystem
Kapselung von anwendungsunabhängigen Basisfunktionen, vor allem in
„Richtung Archiv“
Repository
Verwaltungs- und Metadaten
Administration
Benutzerschnittstelle für DA-Administrator
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 20
ADK als Laufzeitumgebung
SAP-System
Archivadministration
Dateisystem
ADKLaufzeitsystem
Archivierungsprogramme
• Datenobjektdienste
AS
Anwendungsdaten
• Konvertierungen
• Dateiverwaltung
• Statusverwaltung
• Klassenaufrufe
• Statistikmodul
• CMS-Anbindung
• AS-Aufrufe
• Monitoring
• Jobsteuerung
Verwaltungsund
Metadaten
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 21
ArchiveLink/
Content
Mgmt.Service
HSMSystem
Ablagesystem
DAMonitor
Datenbank
Archivdateien
Hintergrundverarbeitung
Datenfluß (beim Schreiben)
Steuerfluß
Temporäre Konvertierungen bei lesenden Zugriffen
Plattformanpassung
Dateipfad entsprechend aktuellem Betriebssystem
Zeichensatz (Codepage) und Zahlenformat
für ADK-Format-Metadaten (Header, Tags)
für zeichenartige und numerische Anwendungsdaten
Erfordert „Bootstrapping“ beim Header-Lesen
Strukturanpassung -> Umgehen mit Schemaevolution
Schema in Archivdatei wird mit aktuellem Schema (aus DDIC) verglichen
Bei namensgleichen Strukturen (Tabellen)
Namensgleiche Felder müssen zuweisungskompatibel sein
Initialwert bei noch nicht zum Archivierungszeitpunkt vorhandenen Feldern
Ausblenden nicht mehr vorhandener Felder
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 22
Transaktionsaspekte
Konsistenz Datenbank <-> Dateisystem
Physische Datei erst dann logisch sichtbar, wenn „fclose“ okay; d.h.
vom Schreibprogramm übergebene Datenobjekte nicht logisch synchron
archiviert
„orphan files“ unkritisch
Konsistenz Datenbank-Löschen <-> Archiv-Schreiben
Pragmatische effektive Lösung durch 2-Phasigkeit
Ausschluß von Änderungen durch Anwendung zwischen Schreib- und
Löschphase
Read-only-Zugriff und Archivierbarkeit über Status gewährleisten oder
unkritische Änderungen zulassen oder
Anwendungssperren verwalten
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 23
Repräsentation der Phasen in der Archivverwaltung
Write Phase
Delete Phase
File 1
Delete Phase
File 2
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 24
Auswahl eines geeigneten Archivierungsobjekts
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 25
Auswertung von DA-Statistiken
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 26
Database Page Concepts
Overhead Area
Data Rows
Additional Session Extends to Minimum Level
Data Removed During Archiving Session
Free Space
Reserved for Update Extension
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 27
Fragmentation
Overhead Area
Free Space
Reserved for Update Extension
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 28
Index Fragmentation
Index
1
After Delete Processes
2
Effect:
Index range scans:
...
...
More index leaf blocks read
More tree levels
3
4
-> Index Reorganization/Rebuild!
...
...
...
Table
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 29
...
...
...
Customer Example
Starting point
Approx. 290GB DB size and approx. 15GB DB growth per month
Aim
Reduction of DB growth rate to:
Reduce hardware costs
Maintain stable system performance
Response times and system administration
Faster implementation of support packages and upgrade projects
Local currency conversion
Archiving
19 archiving objects from FI, CO, MM, SD, and HR
Result (after 15 months)
> 200GB archived
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 30
Customer Example
700.00
Expected size
without Archiving
600.00
Allocated DB size
500.00
400.00
Allocated DB content
300.00
'Without'
Archiving
200.00
100.00
Initial
Archiving
With regular archiving
DB growth: Reduction:
~15GB/month
~60GB
DB growth: ~7GB/month
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 31
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Feb
Mar
0.00
ADK-Based Data Archiving
... proved to be a valued concept and implementation for
ABAP-based SAP components.
And will continue to do so.
However, let‘s review the long-term issues
... and discuss the pros & cons of new ideas.
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 32
Drivers for XML-Based Archiving
Standards for long-term use of archived objects
XML
http(s)
WebDAV
Java
J2EE
Archive access
Independent of “home“ system
Potentially cross-system
For Java applications as well
Central archiving service
Reduced redundancy in distributed scenarios
Central administration
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 33
XML-Based Archiving – A Service Approach
App. System
Database
mySAP
X
mySAP
X
XML DAS
Connector
XML DAS
Connector
XML
XML
Archive
Browser
XML
Services
Services
Database
Services
XML Data Archiving Service
(XML DAS)
Services
Open and inexpensive storage system
Business data
archive
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 34
ADK- vs. XML Archiving
Local
Archive
Admin.
ADK
Archiving
Programs
Local
Archive
Admin.
XML
Archiving
Programs
ADK
XML Archive API
XML DAS Connector
SAP Web AS
SAP Web AS
HTTP
XML Data Archiving
Service
(XML DAS)
XML DAS
Administration
SAP J2EE Engine
ArchiveLink
File system
ArchiveLink
Storage
system
File
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 35
Document
WebDAV
File system
Storage system
File
Resource
WebDAV-Like Archive Hierarchy
Collection
System
ID x
/
b4t
•Archive path
•Name
/b4t/
000
Client x
XML archiving
object y
Resource
• Archive path
• Name
/b4t/000/
bc_sbook_x
URI =
Archive path + Name
/b4t/000/bc_sbook_x/
2003
Archive Store
XSD
/b4t/000/bs_sbook_x/2003/
order_schema.xsd
XML
/b4t/000/bs_sbook_x/2003/
order_4711.xml
XML
/b4t/000/bs_sbook_x/2003/
order_4712.xml
XML
XML
Arch.
Store1
Arch.
Store2
Arch.
Store3
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 36
Properties of Resources
WebDAV concept for attributing and finding resources
XML
OrderNumber:
OrderDate:
ShipTo:
4711
2005/01/10
Eppingen-Rohrbach
A set of properties can be defined independently of resources.
Such a property set is called property index.
The property index is used to attach property values to a resource
either when a resource is archived or later on.
Properties are typed:
VARCHAR(n)
…
Properties are used in value-based queries
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 37
Storage System Support
Application
layer
service interface:
WebDAV-like HTTP methods
XML
document/stream
MKCOL
PUT
URI
Resources
(XML doc 1)
resources
(XML doc n)
Global
service layer
internal storage abstraction
WebDAV
client
File system
I/O
Storage system
protocols
WebDAV
URL
Storage
layer
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 38
Collection
Phys
path
Directory
Resource
File
Open Archive File Format
A wrapper format ensuring…
Efficiency (many data objects, byte-addressable for random access)
Long-term interpretability (XML schema, XML, easy to construct)
Header
Prefix
Offset 1
Compressed Resource 1
Prefix
Offset 2
Compressed Resource 2
...
Prefix
Offset n
Compressed Resource n
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 39
Standard
Decompression
XML
resource
XML DAS Functionality Beyond WebDAV
Write once, resources cannot be modified
Insertion
of resources into collections can be disabled
Deletions possible (occurs with logging)
Identification of resources
Via unique URI
Long-term and stable
Archive queries
Hierarchical
search (using the path)
Value-based
search (with property indexes)
Future: Content search using other engines
No WebDAV spec ambiguities
No
case sensitivity anywhere
Within one collection, resources and collections cannot have
same name
More status codes
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 40
XML DAS Functionality Beyond WebDAV
XML awareness
TYPE
= { XML | XSD | XSL | BIN | COL | RES | ALL | ... }
Check XML for well-formedness, and validity against schema
Keep meta data (XSD, XSL) “close“ to business data
Automatic naming
Unique
name for a resource within a collection
Integration of different storage systems
Independent
of the logical XML DAS hierarchy
Supports
data life cycle management
Archiving application integration
For
example, support of safe delete from DB, even in one phase
Security
Authorization,
Pack resources
Optional
Asynchronous
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 41
HTTPS, check sum
ABAP XML Archiving Object BC_SBOOK_X
Transaction SARA also used
in XML-based archiving
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 42
JAVA Archiving: A System Deployment Scenario
SAP J2EE Engine
Java Application
Archiving
programs
run here
1 …n
instances
XML DAS Connector for JAVA
SAP J2EE Engine
XML Data Archiving Service
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 43
Java Archiving: GUI Prototype
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 44
Positioning ADK and XML
ADK: primarily for reducing size of database; reliable, stable,
secure; for ABAP only
XML: advantages when end-of-life of data longer than end-of-life
of system and in multi system environments; for Java as well
Striking Differences for Users
Storage in the form of resources in standardized XML format instead
of ADK files
Archived resources can be read by your tool
Easier interpretation in the long term
Compression optional through pack function
Application-specific searches with help of property indexes
Direct archiving, no separate store phase (WebDAV or file system)
Schedule as many delete jobs as reasonable
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 45
About SAP Data Archiving
Focus
SAP R/3 Enterprise
Further components
SAP BW
SAP CRM
Detailled information about
Technology and administration (ADK)
Data storage and data access
Implementation of archiving projects
Authors
Archiving experts at SAP
(also mal nicht Küspert, Schaarschmidt,
Zeller, Langguth ;-)
http://service.sap.com/data-archiving
SAP AG 2005, UniJena05.ppt, A. Herbst, 10 Jan 05 / 46