Whitepapers & Broschüren
Business Intelligence-Lösungen mit InterSystems-Technologie
Dr. Mark Massias
Senior Sales Engineer
InterSystems Corporation
Die Entwicklung bei Business Intelligence-Lösungen geht dahin, diese zeitnäher zu gestalten und auf diese Weise sowohl die Datenlatenz wie auch die Reaktionszeit bei Abfragen senken. Den Höhepunkt dieser Entwicklung bildet eine ganz neue Art von Anwendungen: "Intelligente Geschäftsanwendungen" können operative Daten in Echtzeit analysieren und damit arbeiten. Business Activity Monitoring-Lösungen übernehmen dasselbe für integrierte Systeme.
Die Datenbank Caché von InterSystems basiert auf einer multidimensionalen Datenarchitektur, die eine bis zu fünfmal schnellere SQL-Performance als relationale Datenbanken bietet. Caché ist auf Grund seiner hohen Performance die ideale Lösung für herkömmliche Data Warehouse-Lösungen. Und zeichnet sich durch die Bereitstellung der "transaktionalen Bitmap-Indizierung" und Datenanalysen in Echtzeit aus.
Ensemble, die universelle Integrationsplattform von InterSystems, bietet dieselben Datenanalysefähigkeiten in Echtzeit und vereinfacht so die Erstellung von Business Activity Monitoring-Lösungen.
Aktuelle Situation von Business Intelligence – Eine Einführung
Für die meisten Unternehmen haben die tagtäglich von den verschiedenen IT-Systemen verarbeiteten Daten enormen taktischen und strategischen Wert – vorausgesetzt. Sie können gespeichert, analysiert und zeitnah in nützliche Informationen umgewandelt werden. Dies ist die Aufgabe von "Business Intelligence"-Anwendungen. Viele Organisationen investieren viel Arbeit in deren Erstellung, Pflege und Verbesserung.
Die gängigste Architektur einer Business Intelligence-Anwendung umfasst eine relationale Datenbank, die als Data Warehouse oder Data Mart eingesetzt wird, die in regelmäßigen Abständen im Stapelverarbeitungsmodus mit Informationen aus einem oder mehreren "transaktionalen" Systemen aktualisiert wird. Auf die angesammelten Daten kann über verschiedene Reporting-Tools zugegriffen und diese können analysiert werden, wobei vielfach "Data-Mining" und Ad-hoc-Abfragen durchgeführt werden.
In vielen Unternehmen wächst die Erkenntnis, dass relationale Data Warehouses auch einige Nachteile aufweisen: beispielsweise, dass die Performance bei der Bearbeitung komplexer Daten manchmal zu gering ist. Ein anderer ist die Latenz der Informationen. Je nachdem, wie häufig ein Warehouse aktualisiert wird, können die Daten Stunden oder sogar Tage alt sein.
Daher geht der Trend bei Business Intelligence-Technologie in Richtung der Erstellung schneller verfügbarer, häufiger aktualisierter Daten in Data Warehouses oder Data Marts. Die logische Weiterentwicklung dieses Trends ist eine neue Art von Anwendung mit der Fähigkeit, die Daten aus einem eigenständigen transaktionalen System in Echtzeit zu analysieren und mit ihnen zu arbeiten.
Die Datenanalyse in Echtzeit kann auch in integrierten Systemen zur Verfügung gestellt werden. Business Activity Monitoring (BAM)-Lösungen werden in der Regel als "Executive Dashboards" bereitgestellt, die die aktuelle Werte der verschiedenen Metriken im Unternehmen darstellen.
Im vorliegenden White Paper wird beschrieben, wie mit Caché von InterSystems, der multidimensionalen Datenbank, hochperformante Data Warehouses und "Intelligente Geschäftsanwendungen" in eigenständigen Systemen erstellt werden können, die Informationen in Echtzeit zur Verfügung stellen und sofort auf die sich ändernden Geschäftsbedingungen reagieren. Darüber hinaus werden die Leistungsmerkmale erklärt, durch die Ensemble, die universelle Integrationsplattform von InterSystems, die bevorzugte Lösung für Business Activity Monitoring in integrierten Systemen wird
Caché als hochperformantes Data Warehouse
Caché ist keine relationale Datenbank, obwohl sie alle Schlüsselvorteile von relationalen Datenbanken bietet. Die grundlegenden Datenstrukturen von Caché sind dünnbesiedelte multidimensionale Arrays, die die Datenspeicherung sehr viel effizienter gestalten – besonders bei komplexen Daten – als die in relationalen Datenbanken verwendeten tabellenartigen Strukturen. Da bei Caché keine "Joins” und "Tabellen-Sprünge" wie bei relationalen Tabellen vorkommen, besteht weniger Verarbeitungs-Overhead und Abfragen können signifikant schneller beantwortet werden.
Obwohl Caché keine relationale Datenbank ist, unterstützt es als Abfragesprache ODBC- und JDBC-kompatibles SQL. Denn die multidimensionalen Daten von Caché werden automatisch als relationale Tabellen dargestellt. Daher können die vielen Analyse- und Reporting-Tools, die für die Verwendung mit relationalen Datenbanken entwickelt wurden, auch mit Caché zusammenarbeiten. Praxisvergleiche mit echten Anwendungen* zeigten, dass Caché in der Regel auf SQL-Abfragen fünfmal schneller antwortet als relationale Datenbanken. Die Geschwindkeitsvorteile bestehen auch bei Aktualisierungen beim Einfügen von Daten in das Warehouse.
Durch den direkten Zugriff auf multidimensionale Datenstrukturen in einer Caché-Datenbank kann sogar eine bessere Performance erzielt werden. Verschiedene kommerziell verfügbare Datenanalyse- und Reporting-Tools verwenden den direkten multidimensionalen Zugriff auf Caché.
Ein Caché-basiertes Data Warehouse ist nicht nur schneller, sondern belegt auch weniger Ressourcen als ein relationales Warehouse mit denselben Daten. Dank der Dünnbesiedelung des multidimensionalen Arrays belegt Caché in der Regel die Hälfte bis zu zwei Drittel des Festplattenplatzes eines relationalen Systems. Und Caché erfordert kein Tuning, so dass der administrative Overhead reduziert ist.
Geringere Datenlatenz
Einige Business Intelligence-Anwendungen können einen bestimmten Betrag an Datenlatenz tolerieren. (Der Business Analyst, der die monatliche Umsatzentwicklung verfolgt, ist mit Daten zufrieden, die gelegentlich aktualisiert werden. Es spielt auch keine Rolle, ob für die Verarbeitung einer komplexen Abfrage mehrere Sekunden benötigt werden.) Aber andere Anwendungen (beispielsweise solche, die aktuelle und historische Kaufmuster vergleichen, entweder zur Betrugsverhinderung oder für Cross-Selling-Gelegenheiten) benötigen für die einwandfreie Funktion immer ganz aktuelle Daten.
Eine gängige Methode, die Datenlatenz zu verringern, ist die Verwendung der Shadow Server-Technologie. Wenn sich Daten im primären (operativen) Datenspeicher verändern, werden diese Transaktionen in eine Journaldatei geschrieben. Ein oder mehrere Shadow Server lesen die Journaldatei und wenden die Änderungen an eine duplizierte Datenbank an. Abfragen können für die Shadow-Datenbank ausgeführt werden, ohne dass die transaktionale Performance des Primärsystems darunter leidet. Die Datenlatenz wird auf die Zeitspanne reduziert, die zum Lesen und Anwenden der protokollierten Transaktionen erforderlich ist. Je nachdem, wie viele Abfragen der Shadow Server zudem verarbeitet, kann die Datenlatenz auch einige Sekunden betragen.
Caché unterstützt die Shadow Server-Technologie. Durch die hohe Performance wird die Zeitspanne für die Aktualisierung der Shadow-Datenbank wie auch dem Beantworten von Abfragen minimiert.
Caché für Datenanalysen in Echtzeit
In manchen Fällen sind sogar die wenigen Sekunden Datenlatenz zu viel, die in Shadow-Systemen auftreten können. Manchmal müssen Abfragen direkt auf schnell sich ändernde operative Daten durchgeführt werden. Dabei muss die Abfrageverarbeitung extrem schnell durchgeführt werden, um die Verringerung der Anwendungs-Performance insgesamt zu vermeiden.
In jedem Datenanalysesystem kann die Reaktionszeit für Abfragen optimiert werden, Indizes für Eigenschaften zu erstellen, die häufig als Suchkriterium für die Datenbank verwendet werden. Caché gibt Entwicklern die Option an die Hand, sowohl traditionelle wie auch Bitmap-Indizes zu erstellen.
In einem traditionellen Index wird eine Eigenschaft (in relationalen Begriffen: eine Tabellenspalte) durch Listen von Datensatz-IDs beschrieben. Für jeden Eigenschaftswert liegt eine Liste von Datensatz-IDs vor, für die die indizierte Eigenschaft diesem Wert entspricht.

Bitmap-Indizes werden häufig in Data Warehouse-Lösungen verwendet, da sie die Analyse großer Datenmengen erheblich beschleunigen. Bei einem Bitmap-Index wird jede Eigenschaft als Folge von Bits beschrieben. Für jeden Eigenschaftswert gibt es eine Bitfolge, die jeden Datensatz darstellt. Das Bit hat den Wert “1”, wenn der Datensatz den Eigenschaftswert besitzt, andernfalls ist er “0”.

Der Vorteil von Bitmap-Indizes liegt darin, dass Abfragen mit Hilfe von booleschen Operatoren (UND, ODER) auf den Indizes verarbeitet werden können. Hierbei wird effizient ermittelt, welche Datensätze die Abfragebedingungen erfüllen, ohne dass dazu die gesamte Datenbank durchsucht werden muss. Für komplexe Abfragen können die Bitmap-Indizes die Antwortzeiten um einen Faktor von über 100 senken.
Die Aktualisierung von Bitmap-Indizes ist jedoch schwierig, wenn bestehende Daten häufig geändert oder gelöscht werden. Aus diesem Grund wurden sie herkömmlicherweise nur in Situationen mit statischen Daten, die nur gelesen werden, verwendet, wie in Data Warehouse-Lösungen. Bitmap-Indizes können auch große Mengen an Plattenspeicher belegen, da jeder mögliche Wert im Index ein Bit (entweder 1 oder 0) für jeden Datensatz enthält.
Caché ist die einzige Datenbank, die die "transaktionale Bitmap-Indizierung" unterstützt. Die effizienten multidimensionalen Datenstrukturen und ausgefeilten Komprimierungstechniken machen die Bitmap-Indizes von Caché kleiner und viel schneller bei Aktualisierungen als die anderer Lösungen auf dem Markt. Mit Caché dauert die Aktualisierung von Bitmap-Indizes nicht länger als bei den traditionellen Gegenstücken. Dies prädestiniert sie für schnell sich ändernde Daten.
Die transaktionale Bitmap-Indizierung ermöglicht Entwicklern "intelligente Geschäftsanwendungen " zu erstellen, die schnell sich ändernde operative Daten analysieren und die Ergebnisse in Echtzeit nutzen können.
Business Activity Monitoring mit Ensemble in integrierten Systemen
Die Fähigkeit, Daten in Echtzeit zu analysieren, ist ebenso in integrierten Systemen erforderlich, die Business Activity Monitoring (BAM)-Fähigkeiten bereitstellen. Im Fall von BAM-Lösungen werden die Informationen ohne Verzögerung aus einer Vielzahl ungleichartiger Quellen gesammelt und analysiert.
Ensemble, die universelle Integrationsplattform von InterSystems, verfügt über ein integriertes Daten-Repository, indem alle Nachrichten gespeichert werden, die ein integriertes System durchläuft. Dieses “Message Warehouse” verwendet dieselben multidimensionalen Datenstrukturen wie Caché und bietet dieselbe blitzschnelle Performance. Ensemble kann Daten im Message Warehouse in Echtzeit analysieren, was leistungsstarke Debugging- und Management-Funktionalität – sowie BAM – ermöglicht.
Ensemble zeichnet sich durch Features aus, die die Entwicklung von BAM-Lösungen beschleunigen. Die erweiterte Objekttechnologie von Ensemble und das assistentengesteuerte Studio vereinfachen die Definition von “Business-Metriken”.
Diese sammeln Informationen über ein integriertes System oder berechnen sie auf andere Weise in den vom Entwickler festgelegten Abständen. Diese Informationen können mit Messinstrumenten verknüpft werden, die in einem anpassbaren Web-basierten "Executive Dashboard" angezeigt werden. Business-Metriken können auch Logik enthalten, die eine Feedback-Schleife in dem integriertem System implementiert. Wenn beispielsweise ein gemessener Parameter außerhalb eines erwarteten Limits liegt, kann die Business-Metrik automatisch eine Korrekturmaßnahme ergreifen, eine Benachrichtigung senden usw
Zusammenfassung
Caché, die hochperformante Datenbank, und Ensemble, die universelle Integrationsplattform, von InterSystems basieren auf einer mehrdimensionalen Datenarchitektur, die hervorragend für Business Intelligence-Lösungen geeignet ist. Herkömmliche Data Warehouse-Anwendungen können von der extrem schnellen Performance von Caché profitieren. Aber noch wichtiger ist hier, dass solche hohe Performance die Echtzeitanalyse von schnell sich ändernden operativen Daten ermöglicht. Dies öffnet die Tür für neue Arten von Business Intelligence-Lösungen. "Intelligente Geschäftsanwendungen" sind eigenständige Systeme, die Informationen in Echtzeit analysieren und darauf reagieren können, so dass Unternehmen die Daten, die sie im Rahmen ihrer tagtäglichen Abläufe sammeln, voll und ganz nutzen können.
Ensemble ermöglicht die Analyse von Nachrichten und anderen Daten in integrierten Systemen in Echtzeit.

