Sybase Business Intelligence Solutions - Database Management, Data Warehousing Software, Mobile Enterprise Applications and Messaging
Sybase Brand Color Bar
  blank
 
 
 
 
 

Real-time Daten und Sybase IQ – geht das?

May 17th, 2010 | Tags:

Hallo zusammen,
ich bin hier neu auf der Plattform, jedoch nicht bei Sybase. Hier bin ich schon seit fast 17 Jahren als System Consultant im Einsatz. Auch ich bin ein großer Fan von Sybase IQ und möchte mit Themen aus verschiedenen Bereichen einen Beitrag zu diesem Blog leisten. Mein erster Beitrag widmet sich einem Thema, mit dem sich jeder, der mit Sybase IQ zu tun hat, eigentlich befassen muss: Wie bekomme ich meine operationellen Daten möglichst zeitnah nach Sybase IQ geladen?

Der klassische Weg ist die Verwendung eines ETL Tools, mit dem ich die Daten aus dem operativen System extrahiere und diese Informationen dann transformiere und anschließend in einem IQ LOAD TABLE kompatiblen Formates bereit stelle und lade. Aus operativen Gründen laufen diese ETL Prozesse in der Regel zu fest definierten Zeitpunkten, da man zum Beispiel keine Performanceverschlechterungen der operativen Systeme zulässt.

Für zeitnahe Datenaktualisierungen wird bei vielen Kunden die Sybase Replication Server Technologie verwendet. Jedoch muss hierbei zunächst ein Staging der Daten in eine seperate Datenbank durchgeführt werden. Ferner ist es notwendig, in dem Replication Server sogenannte „function strings“ zu implementieren um beispielsweise eine „DELETE“ Operation in eine entsprechende DELETE_TAB – Tabelle in der staging Datenbank zu speichern. Via einem „INSERT LOCATION“ Kommando können diese Daten dann in die IQ Datenbank eingepflegt werden.

Mit der neuen „REAL Time Load Option for IQ“ als Erweiterung des Replication Servers muss dieser Aufwand jetzt nicht mehr betrieben werden. Stattdessen läßt sich das zuvor beschriebene Verfahren nun in dem Replication Server über simple Konfigurationsänderungen implementieren. Hierbei werden alle DML Modifikationen aus einem Transaktionskontext zunächst in einer „in-memory“ Datenbank im Replication Server gespeichert. Dabei werden die einzelnen Operationstypen in drei verschiedenen Tabellen (delete, update, delete ) geclustert. Über einen Schwellwert (Anzahl der vorhandenen Rows in den Tabellen ) kann nun gesteuert werden, wann die Daten nach IQ über einen „INSERT LOCATION“ geladen werden. Darüber hinaus gibt es die Möglichkeit die einzelnen Kommandotypen über eine Konfigurationsoption zu konvertieren z.B. aus einem „update“ wird ein delete/insert).

Das Aufsetzen und Konfigurieren dieser neuen Option des Replication Server ist denkbar einfach und lässt sich auf verschiedenen Ebenen (Server, Datenbank, Tabelle ) anwenden. Momentan werden als Quelle die Sybase ASE Datenbank und Oracle unterstützt.

Ich bin ganz begeistert von diesem neuen Feature und es war noch nie so komfortabel ein „REAL TIME LOAD“ für IQ zu implementieren. Wenn ich Ihr Interesse geweckt habe, können wir Ihnen gerne einmal diese Lösung präsentieren und implementieren.

Gruß
Thomas Dücker

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  1. June 1st, 2010 at 19:28
    Reply | Quote | #1

    Hallo Hr. Dücker,

    das ist in der Tat erfreulich zu ‘hören’.
    Ich frage mich an der Stelle, wie es mit der Memory Anforderung des
    Replication Servers im Hinblick auf die InMemoryDB aussieht u. dem
    Zusammenspiel mit den (wohl noch) vorhandenen Stable Devices?
    Wie sieht es eigentlich mit der Unterstütung von MySQL aus? Ist da
    evtl. was geplant?

    Grüße,
    Jens Bijell

Sybase Privacy policy

*