Informix
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 | 14.10.xC10[1] (15. März 2023) |
Betriebssystem | AIX, HP-UX, Linux, OS X, Solaris, Windows |
Programmiersprache | C++[2], C |
Kategorie | DBMS |
Lizenz | proprietär |
IBM Informix Webseite |
Geschichte
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
Eigenschaften
Informix IDS ist verfügbar auf AIX, HP-UX, Linux (auch Linux für z Systems)[6], Mac OS X, Solaris und Windows.[7]
Datenbanken
Standard Engine
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.
OnLine
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
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
Administration und Monitoring
Mit Version 14.10 wurde InformixHQ als grafisches Administrations- und Monitoringwerkzeug eingeführt.[8] Es ist eine Java-Anwendung mit Jetty als Applikationsserver und setzt mindestens Informix Version 12.10 und Java 8 voraus.[9]
Informix SQL
- 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
- Editor und Compiler für Programmfiles
- nur zeichenorientiert
- SQL embedded: SQL-Befehle werden einfach im Programm angegeben. z. B.:[10]
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.
Weblinks
- www.informix.com Frühere Informix-Webseite (mittlerweile Weiterleitung auf IBM-Portal)
- Informix Produkt-Informationen auf der IBM-Webseite
- The Informix Zone: News, Download Links and BLOG Memento da Betreiber sich geschäftlich verändert hat
- International Informix Users Group
- Deutsche Informix User Group
- IBM offering Information alle Neuigkeiten von IBM im Bereich Informix
Einzelnachweise
- www.ibm.com. (abgerufen am 11. Januar 2024).
- www.ibm.com.
- heise online: IBM kauft Informix. Abgerufen am 1. November 2019.
- Features HP's Secret Software Weapon. 19. Juli 2005, archiviert vom 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.
- What's new in Informix. 16. Juni 2021, abgerufen am 1. August 2021 (amerikanisches Englisch).
- Informix Server System Requirements. 10. Dezember 2021, abgerufen am 11. Dezember 2021 (englisch).
- Informix Server System Requirements. 12. September 2019, abgerufen am 1. November 2019 (englisch).
- IBM Informix 14.10 neues Release bringt Aufwertung der Editionen - ZP19-0078 (2019-03) - CURSOR Service Distribution. Abgerufen am 5. Februar 2020.
- IBM Knowledge Center. Abgerufen am 5. Februar 2020 (amerikanisches Englisch).
- IBM Knowledge Center. Abgerufen am 22. Januar 2021 (amerikanisches Englisch).