Informix

Relationales Datenbankmanagementsystem

Informix ist der Produktname für ein Datenbankmanagementsystem (DBMS). Die gleichlautende Datenbankfirma wurde 2001 von IBM übernommen, die Software wurde bis 2017 von IBM weiterentwickelt. Im April 2017 hat IBM die Entwicklung und den fachspezifischen Support an das indische Unternehmen HCL abgegeben und gleichzeitig eine 15-jährige Partnerschaft dazu vereinbart, in der auch IBM Informix weiter vertreibt.

Informix

Basisdaten

Entwickler HCL – IBM
Aktuelle Version 15.0[1]
(18. November 2024)
Betriebssystem AIX, HP-UX, Linux, OS X, Solaris, Windows
Programmier­sprache C++[2], C
Kategorie DBMS
Lizenz proprietär
IBM Informix Webseite

Geschichte

Bearbeiten

Das ehemalige Unternehmen Informix spielte bei der Verbreitung relationaler Datenbanken (RDBMS) unter Unix eine bedeutende Rolle – als stärkster Wettbewerber von Oracle.

Die zugehörige, ebenfalls auf UNIX und auf Terminalbetrieb ausgerichtete Integrierte Entwicklungsumgebung Informix 4GL war in den frühen 1990er-Jahren das vermutlich verbreitetste 4GL-Entwicklungswerkzeug überhaupt. In Deutschland wurden die Informix-Produkte zunächst durch den Distributor und Systemintegrator Garmhausen und Partner, dann durch die BYTEC GmbH sowie Siemens bekanntgemacht und etabliert.

Während der Datenbankserver Informix Dynamic Server (IDS) auch heute noch weit verbreitet ist, gelang es dem Unternehmen nicht, ein ähnlich erfolgreiches Nachfolgeprodukt für die inzwischen veraltete 4GL-Entwicklungsumgebung auf den Markt zu bringen.

Neben dem eigentlichen Informix-Datenbankserver hat auch das von Informix entwickelte Datenzugriffstool C-ISAM (eine C-Schnittstelle für ISAM-Dateien) eine weite Verbreitung (vor allem auf UNIX-Systemen) gefunden. Die neueren Versionen der Informix IDS können mittels des C-ISAM Datablades auf die Daten zugreifen, die im alten C-ISAM-Format abgelegt wurden.

Mit der Übernahme von Garmhausen und Partner wurde Mitte der 1990er-Jahre versucht, die Position des Unternehmens in Deutschland weiter zu stärken. In den Folgejahren jedoch verlor Informix, ausgelöst durch einen Bilanzierungsskandal und einige zweifelhafte Akquisitionen, an Börsenwert. Im Jahr 2000 kaufte Informix die Firma Ardent (ETL-Anbieter) dazu und benannte sich wenig später in Ascential um, um zu verdeutlichen, dass das Softwareportfolio nun aus mehr Produkten als nur dem Datenbankserver bestand. Nach einem Managementwechsel wurde die Datenbanksparte Informix inklusive Mitarbeiter an IBM für 1 Milliarde Dollar verkauft.[3] Der Kauf wurde im Hintergrund von WALMART eingefädelt, da diese sehr stark auf Informix in ihren Märkten setzte und diese Investitionen als gefährdet einstufte.[4] Mittlerweile wurde auch Ascential für eine weitere Milliarde Dollar von IBM übernommen.

Nach dem Aufkauf durch IBM gab es kurzzeitig den Plan, Informix mit DB2 zusammenzuführen, was eine gewisse Verunsicherung der Informix-Kunden verursachte. Dieser Plan wurde aber verworfen, und Informix und DB2 wurden parallel mit unterschiedlichem Fokus weiterentwickelt, wobei aber häufig neue Technologien in das jeweils andere System einflossen. Der Datenbankserver Informix Dynamic Server (IDS) wurde von IBM als strategisches Datenbanksystem bezeichnet und im Markt (vor allem für OLTP, Integrated Applications, embedded systems, spatial applications und SMB) etabliert.

Neuerungen

Bearbeiten
  • Speicherskalierbarkeit: Informix kann bis zu einem halben Yottabyte verwalten
  • Gelockerte Speichergrenzen: es wurde die Speicher-Seiten vergrößert und die Limits erhöht
  • Verbessertes grafisches Überwachungstool
  • Verbesserungen beim Debuggen und Verwalten von SQL-Anweisungen
  • Verbesserungen bei der Unterstützung nicht-englischer Sprachen

14.10.xc6

Bearbeiten
  • InformixHQ
  • TLS 1.3 hinzugefügt
Informix unterstützt jetzt TLS Version 1.3. TLS Version 1.2 ist standardmäßig aktiviert.
  • Auditing erweitert
Unterstützung für Audit in Syslog (ASL) facility
  • Verteilte Transaktionen erweitert
  • PAM Authentifizierung erweitert
  • ...[6]

Eigenschaften

Bearbeiten

Informix IDS ist verfügbar auf AIX, HP-UX, Linux (auch Linux für z Systems)[7], Mac OS X, Solaris und Windows.[8]

Datenbanken

Bearbeiten

Standard Engine

Bearbeiten

Bei dieser dateibasierenden Version werden alle Tabellen, inklusive Systemtabellen, in einem Unterverzeichnis pro Datenbank in je zwei Dateien gespeichert: eine Datei mit den Daten, eine mit den Indizes. Der Zugriff erfolgt direkt durch die Clients. Dieses System benötigt wenig Wartung, einzelne Tabellen können leicht einzeln gesichert und wieder zurückgesichert werden. Die Datenbanken können mit oder ohne Transaktionslogik angelegt werden.

Bei dieser Version werden die Daten auf einem oder mehreren Bereichen (Database-Spaces) mittels Manager verwaltet. Der Zugriff durch die Clients ist nur möglich, wenn die Datenbank online ist, d. h. ein Serverprozess läuft. Für die Sicherung usw. sind spezielle Programme notwendig.

Datentyp Serial

Bearbeiten

Eine Besonderheit ist der Datentyp SERIAL für eine automatisch fortlaufend vergebene Nummer. Je Tabelle kann ein Feld diesen INTEGER-Typ haben. Bei Anlage der Tabelle kann der Startwert angegeben werden. Bei einem Insert des Wertes 0 in dieses Feld wird die nächste Nummer vergeben. Ein Update ist nicht möglich, es kann jedoch beim Insert eine selbst bestimmte freie Nummer angegeben werden. Ist diese Nummer höher als der aktuelle letzte Wert, wird ab dieser weitergezählt. Das Rücksetzen auf einen niedrigeren Wert – z. B. nach Löschungen – ist nur durch Neuanlage der Tabelle möglich. Dieser Feldtyp ersetzt die bei anderen Datenbanken üblichen Sequenzen und ist nicht SQL-Standard.

Werkzeuge

Bearbeiten

Administration und Monitoring

Bearbeiten

Mit Version 14.10 wurde InformixHQ als grafisches Administrations- und Monitoringwerkzeug eingeführt.[9] Es ist eine Java-Anwendung mit Jetty als Applikationsserver und setzt mindestens Informix Version 12.10 und Java 8 voraus.[10]

Informix SQL

Bearbeiten
  • Wartung von Datenbanken
  • SQL-Abfragedialog
  • Abfragemasken (Generieren, Bearbeiten, Ausführen)
Die Masken hatten ein Menü mit den Menüpunkten.
Suchen – Query by Example
Vor – Weiterblättern in den Suchergebnissen
Zurück – Zurückblättern in den Suchergebnissen
Neu – Anlage eines neuen Satzes
Bearbeiten – Bearbeiten des aktuell angezeigten Satzes
Löschen – Löschen des aktuell angezeigten Satzes
Ende
  • Reports

Durch den verschachtelten Aufruf von Masken und Reports konnten schon kleinere Programme realisiert werden.

Informix 4GL

Bearbeiten
nur zeichenorientiert
SQL embedded: SQL-Befehle werden einfach im Programm angegeben. z. B.:[11]
SELECT Wert INTO nWert FROM Tabelle1 WHERE ID = 1
Definitionen: DATABASE, GLOBALS, DEFINE (Variablen, Konstanten, Records, Arrays)
# Beispiel für einen Record, der einen Satz einer Tabelle abbildet
#------------------------------------------------------------------
DEFINE RECORD r_kunde LIKE kunden.*,
       n_kundnr LIKE kunden.kundnr

SELECT * INTO r_kunde FROM kunden WHERE kundnr = n_kundnr
LET r_kunde.aktiv = "N"
LET r_kunde.moddat = TODAY
UPDATE kunden SET kunden.* = r_kunde.* WHERE kundnr = r_kunde.kundnr
Zuweisungen: LET, INITIALZE
Blöcke: MAIN, FUNCTION, REPORT
Schleifen: FOR, FOREACH, WHILE
Eingaben: PROMPT, INPUT
Ausgabe: DISPLAY, PRINT, MESSAGE, ERROR
# Beispiel für Zeichen A bis Z in eine Array-Variable füllen
#------------------------------------------------------------
DEFINE la_list ARRAY[26] OF CHAR(1),
       i SMALLINT

FOR i = 1 TO 26
   LET la_list[i] = CHR(64 + i)
END FOR
  • Editor und Compiler für Maskenfiles
  • Linker

Die Programmmodule wurden zuerst in CE-Code (C embedded, wo die SQL-Kommandos noch nicht aufgelöst sind), danach in C-Code übersetzt und dieser kompiliert. Daher bestand die Möglichkeit auch CE- und C-Source einzubinden, die Parameterübergabe erfolgte über Stacks. Die Objektdateien wurden dann mit Standard-, Informix- und eigenen Bibliotheken gebunden. Die Masken wurden in ein spezielles Format für die Programmverwendung umgewandelt. Für den Programmablauf benötigte man eine Runtime-Umgebung, die Datenbank, die Programmdateien und die Maskenfiles.

Von der Siemens AG gab es eine OEM-Version für Sinix auf Deutsch.

Bearbeiten

Einzelnachweise

Bearbeiten
  1. communities.actian.com. (abgerufen am 21. November 2024).
  2. www.ibm.com.
  3. heise online: IBM kauft Informix. Abgerufen am 1. November 2019.
  4. Features HP's Secret Software Weapon. 19. Juli 2005, archiviert vom Original am 19. Juli 2005; abgerufen am 5. Februar 2020.  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.interex.org
  5. Informix 15: Unparalleled Scalability for the Modern Data-Driven World. 19. November 2024, abgerufen am 21. November 2024 (englisch).
  6. What's new in Informix. 16. Juni 2021, abgerufen am 1. August 2021 (amerikanisches Englisch).
  7. Informix Server System Requirements. 10. Dezember 2021, abgerufen am 11. Dezember 2021 (englisch).
  8. Informix Server System Requirements. 12. September 2019, abgerufen am 1. November 2019 (englisch).
  9. IBM Informix 14.10 neues Release bringt Aufwertung der Editionen - ZP19-0078 (2019-03) - CURSOR Service Distribution. Abgerufen am 5. Februar 2020.
  10. IBM Knowledge Center. Abgerufen am 5. Februar 2020 (amerikanisches Englisch).
  11. IBM Knowledge Center. Abgerufen am 22. Januar 2021 (amerikanisches Englisch).