So wird Sybase IQ zum E-Mail-Archiv

08.05.2006
Die Datenbank speichert neben strukturierten auch unstrukturierte Daten. Damit lassen sich kostengünstige E-Mail-Speicher realisieren, die den Anforderungen in puncto Revisionssicherheit genügen.
Die eigentlich für Analyseaufgaben entwickelte Datenbank eignet sich auch zum Speichern großer Dokumente. Zudem gestattet das Sybase-Produkt die Recherche nach Inhalten - demnächst auch per Volltextsuche.
Die eigentlich für Analyseaufgaben entwickelte Datenbank eignet sich auch zum Speichern großer Dokumente. Zudem gestattet das Sybase-Produkt die Recherche nach Inhalten - demnächst auch per Volltextsuche.

Bis zu 80 Prozent der Unternehmensdaten stammen aus unstrukturierten Dokumenten, E-Mails, Bildern oder Web-Seiten. Ihr Volumen wächst rapide, insbesondere getrieben durch gesetzliche Vorschriften zur langfristigen, veränderungsgeschützten Aufbewahrung von Dokumenten und elektronischem Schriftverkehr. Probleme bereiten diese Daten vor allem deshalb, weil sie meist auch unstrukturiert in einfachen File-Systemen abgelegt sind. Die Folgen sind explodierende Volumina durch redundante Speicherung und mangelnde Kompressionsmöglichkeit, und daraus ergeben sich hohe Kosten sowie ein enormer Rechercheaufwand. Für Unternehmen ist es deshalb wichtig, dass sich mit den Funktionen ihrer relationalen Datenbankwelt auch unstrukturierte Daten bearbeiten lassen. Eine solche Möglichkeit bietet die speziell für Analysen entwickelte Datenbank "Sybase IQ", die seit der Version 12.6 auch Large Objects (LOBs) bis in Petabyte-Größe speichern kann.

Wichtige Features

• Gemeinsame Speicherung von strukturierten Daten, Binary Large Objects (BLOBs) und Character Large Objects (CLOBs) in Spalten;

• hohe Kompression;

• volle relationale Funktiona- lität für unstrukturierte Daten;

• Manipulation und Recherche unstrukturierter Daten mit SQL;

• Virtual Backup;

• Skalierbarkeit durch Multiplex-Konfiguration;

• Suche nach LOBs über Schlagworte und künftig auch über Volltextrecherche;

• Option zum Aufbau eines zentralen E-Mail-Speichers.

Laden und Exportieren von LOBs

• Laden eines LOBs (Programmierbeispiel):

CREATE TABLE ltab (c1 INT, filename CHAR(64),

ext CHAR(6), lobcol LONG BINARY NULL);

LOAD TABLE ltab (

c1,

filename,

ext NULL(‘NULL’),

lobcol BINARY FILE (‘,’) NULL(‘NULL’)

)

FROM ‘abc.inp’

• Die primäre Datei abc.inp enthält folgende Daten:

1,boston,jpg,/s1/loads/lobs/boston.jpg,

2,map_of_concord,bmp,/s1/loads/maprs/ concord.bmp,

3,zero length test,NULL

• Erläuterung:

Mit SQL-Befehlen wird definiert, wie LOBs in Sybase IQ geladen werden, hier aus der primären Datei "abc.inp": Zunächst wird die Tabelle wie in SQL üblich beschrieben: Spalte "c1" vom Typ Integer, Spalte "filename" vom Typ Character, Spalte "ext" vom Typ Character sowie die Spalte "lobcol" vom Typ LONG BINARY für das binäre Objekt selbst. Die Tabelle wird dann mit der Anweisung LOAD TABLE geladen, unter Zuhilfenahme der primären Datei "abc.inp". In dieser Datei stehen weitere Informationen über die zu ladenden Objekte wie beispielsweise der Name des Objekts, dessen Typ sowie eine Referenz auf das zu ladende Objekt selbst.

• Export eines LOBs (Programmierbeispiel):

SELECT c1, filename, ext,

‘../myoutput/’ + TRIM(filename) + ‘.’ + TRIM(ext) fname,

BFILE(fname, lobcol)

FROM ltab

WHERE lobcol IS NOT NULL

AND ext IS NOT NULL

• Erläuterung:

Umgekehrt werden in Sybase IQ gespeicherte binäre Objekte mit der erweiterten Extraktionsfunktion (BFILE) exportiert, etwa in das Filesystem eines Rechners. Dort wird dann zum Beispiel für das LOB in Spalte 1 eine Datei mit Namen "boston.jpg" generiert.

Mehr Leistung bei I/O-Operationen

Das System ist nach außen eine relationale Datenbank, verwendet jedoch intern eine spezifische Form der Speicherung (vertikale Partitionierung). Dabei werden die Daten nicht in Zeilen, sondern in Spalten organisiert, wobei jede Spalte automatisch einen Index bildet. Bei einer Abfrage werden nur die jeweils interessierenden Spalten gelesen, was die zu verarbeitende Datenmenge verringert und die Zahl der I/O-Operationen laut Hersteller um bis zu 90 Prozent reduziert. Außerdem wendet Sybase das Prinzip des Bitwise Indexing an, bei dem, wo immer möglich, die Datenelemente einer Spalte in eine Bitmaske transformiert werden. Sybase zufolge lässt sich durch diese Architekturprinzipien die Abfragegeschwindigkeit um das Zehn- bis Hundertfache steigern und die Datenmenge auf ein Fünftel bis ein Neuntel komprimieren.

Large Objects in Spalten speichern

Sybase IQ kann in einer Spalte nun auch LOBs speichern. Dabei kann es sich sowohl um Character Large Objects (CLOBs) wie Word-Dokumente, PDF-Dateien, E-Mail-Körper oder XML als auch um Binary Large Objects (BLOBs), also reine Binärdaten wie etwa Bilder oder Videos handeln. Die Größe eines individuellen LOBs kann bei einer IQ-Seite von 128 KB bis zu 512 TB betragen, bei einer Seitengröße von 512 KB bis zu 2 Petabyte. Auch die Funktionen von Sybase IQ zum Laden und Export von Daten wurden entsprechend erweitert.

Damit können unstrukturierte Daten bei der Abspeicherung stark komprimiert werden. Zugleich werden ihnen die Standardfunktionen einer relationalen Datenbank zugänglich, etwa die Speicherung in Tabellen, Rechteschemata und Transaktionskonzepte. Jede LOB-Spalte kann mit Standard-SQL-Befehlen (UPDATE, IN-SERT...VALUE, INSERT...SELECT, LOAD TABLE, DELETE, TRUNCATE, SELECT ...INTO, INSERT...LOCATION) verändert und analysiert werden. Das Backup wird automatisch veranlasst, wobei sowohl ein normaler Datenbank-Dump als auch ein Virtual Backup möglich sind. Letzteres ist besonders bei Datenmengen im Terabyte-Bereich und darüber hinaus sinnvoll, da es sehr schnell geht. Dabei werden Hardwarefunktionen der Plattenspeicher genutzt, um eine Shadow-Version der primären Datenbank (Sybase IQ Hauptspeicher, Katalog und Transak-tions-Log) zu erzeugen. In die einmal angelegte Spiegelversion werden in vom Anwender festgelegten Abständen lediglich die zwischenzeitlichen Änderungen übertragen (Snapshot-Technik). Beim Ausfall der Primärdatenbank steht in Sekundenschnelle eine Backup-DB zur Verfügung.

Bei stark wachsenden Nutzerzahlen erlaubt eine Multiplex-Konfiguration eine einfache Skalierung. Dabei können, ähnlich wie nach dem Grid-Konzept, beliebig viele Rechnerknoten zusammengeschaltet werden, die auf einen gemeinsamen Plattenbereich zugreifen. In dieser Konfiguration ist nur ein Write-Knoten zur Datenveränderung berechtigt, alle anderen Knoten haben lediglich Leserechte. So wird der ansonsten in Multi-Node-Konfigurationen anfallende Locking-Overhead vermieden. Solange die gemeinsamen Platten genügend I/O-Bandbreite bieten (Faustformel: 2,5 bis 5 MB pro aktive CPU), liegt die Skalierbarkeit nahezu bei 100 Prozent. Die Multiplex-Konfiguration bietet zugleich eine implizite Hochverfügbarkeit, denn beim Ausfall des Write-Knotens kann einer der anderen Knoten dessen Funktion übernehmen. Dieser Prozess lässt sich mit Mitteln des Betriebssystems durch spezielle Scripts automatisieren.

Den Anforderungen an die Revisionssicherheit von Dokumenten und E-Mails wird dadurch Rechnung getragen, dass ausgewählte Sybase-IQ-Plattenbereiche in einen Read-only-Modus versetzt und so gegen Veränderungen gesperrt werden.

Zur Abfrage werden die unstrukturierten Daten durch Schlagworte indiziert. Darüber hinaus wird sich demnächst - nach Integration der Such- und Abfrage-Engine "OmniQ", die Sybase vor einigen Monaten gekauft hat - die Möglichkeit der Volltextsuche eröffnen. Diese Technik erlaubt es, die inhärenten Konzepte von unstrukturierten Daten zu verstehen. Die Anwender müssen dann für diese Daten nicht mehr manuell Indizes anlegen und können in natürlicher Sprache recherchieren. Darüber hinaus bietet Sybase IQ Befehle zur gemeinsamen Abfrage von LOBs und klassischen Daten.

Anbindung von Messaging-Servern

Durch die Speicherung aller Datentypen in einer relationalen Datenbank ergeben sich neue Architekturoptionen. So lässt sich etwa ein zentraler E-Mail-Speicher aufbauen, in dem alle Mails archiviert, komprimiert und für Recherchen bereitgehalten werden. Über einen Connector greift man die Mails an SMTP-Gateways oder auf den E-Mail-Servern ab. Ein Trans- former konvertiert sie in ein relationales Format, indem er ihnen Tabellen zuordnet. Die Beschreibung der so behandelten Nachrichten erfolgt im Dictionary (Adresse, Absender, Thema, E-Mail-Körper etc.), zur leichteren Suche kann man die Daten des Körpers verschlagworten. Hier werden auch Verweise auf Dateianhänge (Dateien, Bilder etc.) hinterlegt.

So lässt sich ein kostengünstiges Online-Archiv aufbauen, das den gesetzlichen Vorschriften genügt und in dem bei Bedarf schnell und gezielt recherchiert werden kann. Unternehmen können zum Beispiel alle Daten zu einem Geschäftsvorfall gebündelt abrufen - unabhängig von deren Format. (ue)