SQL Anywhere: Datenbanktechnologie für Embedded Entwickler

Autor: Tobias Philipp, Presales Manager EMEA, Sybase iAnywhere Eine Voraussetzung für intelligente Standardisierung ist es, offene Plattformen zu haben, die kompatibel mit verschiedenen Betriebssystemen sind, um eine Herstellerunabhängigkeit zu gewährleisten. Die Vorteile einer solch offenen Plattform, wie sie das Datenbanksystem SQL Anywhere von Sybase iAnywhere darstellt, zeigen sich bei der Entwicklung ebenso wie bei der Anwendung im Rahmen von Embedded-Systemen. Ein Beispiel: Bevor Automobilhersteller auf Plattformbauweisen setzen konnten, wurde zunächst einmal eine Reihe von Modellen parallel entwickelt, produziert und vermarktet. Der gesteigerte Kostendruck und die beschleunigte Entwicklung neuer Modelle erforderten jedoch zunehmend Standardisierung und Komponentenbauweisen in der Industrie. Während die Standardisierung von Hardwarebauteilen klar auf der Hand liegt, erschließt sich die Vereinheitlichung bei der zugehörigen Softwarelösung nicht gleich von selbst – und ist dennoch unerlässlich. Standardisierte Software für Waagen Für diesen Weg hat sich auch ein namhafter deutscher Hersteller von Industriewaagen entschieden, der nach einer Wachstumsphase ein umfassendes Portfolio von unterschiedlichen Wägesystemen für diverse Anwendungsbereiche – vom Einplatzsystem (für z.B. Metzgereien) bis hin zu vernetzten Systemen in großen Supermärkten – aufgebaut hat. Eine besondere Herausforderung stellte bei der Ausstattung der Geräte mit der notwendigen Software die Integration in verschiedene Betriebssysteme der Anwender dar. Linux und Microsoft (WinCE Embedded als auch Windows 32 bit Embedded Systeme) haben sich im Laufe der Zeit gleichermaßen etabliert. Da das Unternehmen die betriebssystembezogenen Voraussetzungen seiner Kunden berücksichtigen muss, um wettbewerbsfähig zu bleiben, war eine Unterstützung dieser verschiedenen Systeme unerlässlich. Der Wägesystemhersteller ist dann unabhängig vom Betriebssystem und kann sich auf seine Kernkompetenz, nämlich das Herstellen von Industriewaagen, konzentrieren. Zwei OEM-Datenbanksysteme sollen unterstützt werden Für die Entwicklung der Software musste nun erstmal die Frage nach dem Datenmanagement bzw. der Datenbank in den Embedded-Systemen geklärt werden. Da sowohl Linux als auch Microsoft als Betriebssystem unterstützt werden sollten, kam Microsoft als Datenbankhersteller nur eingeschränkt in Betracht. Denn die Unterstützung von zwei OEM-Datenbanksystemen verschiedener Hersteller bedeutet einen ungleich höheren Kostenaufwand als die Wahl einer betriebssystemunabhängigen Datenbank. Der Wägesystemhersteller hat sich nach einer genauen Marktevaluierung für die Datenbank SQL Anywhere von Sybase iAnywhere entschieden, um den Komponentenansatz konkret für seine Produktlinien umzusetzen. SQL Anywhere wird von dem Unternehmen als de facto-Standard eingesetzt, um sowohl Windows- als auch Linux-betriebene Waagen zu bauen. Dabei sind der Entscheidung, diese Datenbank flächendeckend für die Produktherstellung einzusetzen, intensive Tests vorangegangen. Neben der internationalen Anerkennung des Mutterunternehmens Sybase sprach die technologische Ausgereiftheit der bewährten Embedded-Datenbank, die mehr als zehn Millionen Nutzer weltweit verzeichnet, für hohe Investitionssicherheit. Mit seiner umfassenden Expertise bot das Entwicklerteam von Sybase im Rahmen der Test- und Projektphase besten Support und gewährleistete so die Einhaltung des angestrebten Release-Termins für die neue Waagengeneration. Schnell und leistungsstark Der Wägesystemhersteller hatte einige Anforderungen an die Datenbank gestellt: Zum einen muss das System in der Entwicklung leicht zu nutzen sein und idealerweise direkt in Entwicklungsumgebungen integriert sein bzw. werden können. Zudem waren Performance und Robustheit wichtige Voraussetzungen. Denn im Einsatzgebiet von Waagen gibt es keinen Administrator, der sich um den Betrieb vor Ort kümmert. Ein Metzgermeister schaltet auch mal die Waagen einfach ab, ohne sich darüber Gedanken zu machen, ob die Datenbank noch offene Transaktionen hat oder Routineoperationen durchführt. Eine robuste Datenbank, die solche überraschenden \“Abstürze\“ durch das unmittelbare Abschalten auffängt, ist notwendig, um einen wartungsfreien Betrieb im Feld zu ermöglichen. Mit ihrer professionellen Transaktionsverarbeitung verfügt SQL Anywhere über den eingebauten Forward Recovery-Mechanismus, der die Datenbank beim Wiedereinschalten der Waage automatisch \“repariert\“, sodass der Metzger seine Arbeit fortsetzen kann. Zudem spielt die Sicherstellung einer maximalen Performance der Datenbank gerade im Einsatzgebiet von Waagen aufgrund der Kundeninteraktion eine entscheidende Rolle – lange Wartezeiten sind hier einfach inakzeptabel. Mit ihren intelligenten Indizierungsmöglichkeiten konnte SQL Anywhere im Rahmen der Tests unter Beweis stellen, dass sie die Anforderungen des Herstellers in puncto Schnelligkeit erfüllte. Für die Entwicklung steht mit dem Index Wizard ein Tool zur Verfügung, das eine genaue Analyse der Datenbankzugriffe erlaubt und proaktiv Index-Vorschläge macht, um die Performance der Queries zu beschleunigen. Die Datenbank verfügt über einen \“Self Tuning\“ Optimizer, der im Laufe des Betriebs wiederkehrende Abfragen automatisch beschleunigt. Neben diesen besonderen Features weist die Datenbank Grundfunktionen wie volle Transaktionsverarbeitung, Stored Procedures und Triggers, referentielle Integrität, Verschlüsselung der Datenbank, Webserviceintegration und XML Support auf, die von Enterprise-Datenbanken typischerweise gefordert werden. Kompakte Datenbank problemlos einsatzfähig Weitere Vorteile zeigen sich beim Einsatz der fertig entwickelten Anwendung. Das Installationspaket der Datenbank ist sehr kompakt und erfordert nur ein Deployment von zehn Dateien für die reine Datenbank. Da die Datenbank im genannten Beispiel je nach Modell auf einer Flashdisk gespeichert werden muss, waren die Installationsgröße und auch der Speicherbedarf (RAM) ein wesentliches Kriterium. Im RAM erfordert die Datenbank lediglich ca. 2 MB Speicherkapazität und auf der Platte sind etwa 7 MB notwendig. Die Nutzdaten werden in einer einzigen Datei (db-file) gespeichert. Durch die übersichtliche Dateistruktur gestalten sich Installation und Updates einfach und schnell, sodass der Betrieb reibungslos weiterläuft. Das Erstellen der Installationsfiles kann mit Hilfe eines Wizards durchgeführt werden, indem einfach die nötigen Funktionalitäten ausgewählt werden, woraufhin der Wizard ein Installationspaket mit den notwendigen Dateien und den Registry-Einträgen erzeugt. Damit sind automatische \“Silent\“-Installationen der Datenbank noch leichter umsetzbar. Die Binärkompatibilität des Datenbankfiles ist eine weitere Stärke bei solchen Embedded-Systemen, denn einerseits ist dasselbe Datenbank-File auf sämtlichen Betriebssystemen ohne administrativen Aufwand nutzbar. Andererseits können Servicetechniker vor Ort das Datenbank-File einfach auf ihren Laptop kopieren und dort lokal Routineuntersuchungen durchführen. Die Kompatibilität des Datenbankfiles sowie die einfache und kompakte Installation gelten sowohl für den Einsatz mit der Standalone- als auch mit der Server-Engine. Ein weiterer Vorteil ist, dass die Datenbank mitwächst. Dort, wo zunächst Einplatzsysteme eingesetzt werden, muss lediglich die Datenbank-Engine (1 File) ausgetauscht werden, damit das System für zwei und mehr Nutzer einsetzbar ist. Aus anderen Projekten ist bekannt, dass das Datenbanksystem mehrere Tausend Nutzer mit Datenbankgrößen im Terabyte-Bereich unterstützen kann. In diesem Fall ist die Hochverfügbarkeit ein sehr wichtiger Aspekt, um einen Rundumbetrieb ermöglichen zu können. SQL Anywhere ist somit für Embedded-Systeme in Standalone-Umgebungen sowie in Serverumgebungen geeignet. Sychronisationsmechanismen sorgen für Datentransfer Für den Datentransfer zwischen Embedded-Systemen sorgen die eingebauten Synchronisationsmechanismen. MobiLink gleicht die Daten zwischen Serversystemen und dem ungeordneten System per Synchronisation ab. Für die Entwicklung ist die Umsetzung einer solchen \“Delta Synchronisations\“-Lösung denkbar einfach. Über grafische Wizards werden im Hintergrund SQL-Skripte erzeugt, die der Entwickler manuell anpassen kann. Durch den Einsatz von MobiLink kann man sich nun voll auf die Implementation der Business Logik konzentrieren. Das System sorgt für eventuelle Concurrency-Erkennung und -Auflösung, falls in zwei Systemen unabhängig voneinander Änderungen am gleichen Datensatz vorgenommen wurden. Mittels Kompression und der Beschränkung auf die Übertragung von Abweichungen ist ein schneller Abgleich von mobilen Daten mit Serversystemen möglich. Fazit Aus Sicht des Waagenherstellers liefert SQL Anywhere alle notwendigen Anforderungen an ein Datenbanksystem für den komponentenbasierten Bau und speziell die Entwicklung von Embedded-Systemen. Die umfassende toolbasierte Entwicklerunterstützung und die Plattformunabhängigkeit sind nur einige der Gründe, die zu dieser technologischen Partnerschaft geführt haben. Mit den integrierten Synchronisationsmechanismen und Webtechnologien ist SQL Anywhere zukunftsweisend, denn die Plattform vereint zuverlässige Technologie mit Visionen. Eine kostenlose Developer-Version von SQL Anywhere steht unter marketing.ianywhere.com zum Download bereit.