XML DAS

Werbung
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
Herunterladen