Frage

Bisher gab ich eine Frage, so konnte ich unsere aktuelle (wenn auch archaisch) Version von Informix bestätige hier:

Wie identifizieren Sie Informix-Version auf Solaris?

(Danke Jonathan und RET für das Clearing, dass bis)

Wir planen auf jeden Fall für eine Modernisierung aber diskutieren zuerst, wenn es mehr Sinn machen würde, zu diesem Zeitpunkt zu Oracle oder Sybase zu bewegen. Was sind Ihre Meinungen dazu? Es ist meine Überzeugung, dass, während alle 3 RDBMs ihre eigene Einzigartigkeit haben, müssen sie alle die gleiche Masse im Wesentlichen decken. Also, wie geht ein über die Entscheidung, was Datenbank zu verwenden?

Der große Kicker ist, ich muss wissen, ob wir Informix aktualisieren (derzeit 7,13 verwendet wird), werden wir brauchen, um unsere Embedded SQL-C-Programme ändern? Wenn nicht, dann macht es sehr viel Sinn mit Informix zu bleiben. Denn wenn wir mit Sybase / Oracle ging usw., würden wir eine Menge Arbeit auf unseren Händen haben, um die Back-End-Programme zu aktualisieren.

Wenn aber in einer anderen Datenbank kann das Umschalten große Rückkehr im Vergleich bietet, dann werden wir es noch in Betracht ziehen. Ich freue mich auf Ihre Meinungen zu hören.

War es hilfreich?

Lösung

Ich bin einen vorgespannten Beobachter (Ich arbeite für IBM Informix) - meine Ausführungen mit der gebotenen Vorsicht behandeln

.

Wenn Ihre Anwendungen geschrieben werden, in Informix ESQL / C, würden Sie eine größere Operation zu tun haben, um sie auf andere Systeme zu bewegen. Sie müssten die alternative Schnittstelle entscheiden zu verwenden - Ihre Cross-Plattform-Wahl (mit C als Grundsprache) ist ODBC, aber Oracle stellt die OCI und Sybase bietet die TDS als Alternativen

.

Im Gegensatz dazu mit Informix ESQL / C, ein Upgrade auf die aktuelle Version (Informix ClientSDK 3.50, mit ESQL / C 3.50, die ist aktueller als die ESQL / C 6.00, die Sie derzeit verwenden aus dem Weg) sollte schmerzlos sein, wenn du gegangen bist schlechten Code zu schreiben.

Auch einfach die Migration der Daten könnte ein wenig traumatische - nicht unüberwindlich so. Zum Teil hängt die Komplexität, auf den Datentypen, die Sie verwenden. (Zeichenketten wandern leicht, Datums- und Zeitwerte weniger leicht, zum Beispiel.) Aber die Anwendungen migrieren würde viel Arbeit erfordern, wie Sie sagen, es sei denn, Sie außerordentlich hellsichtig waren und schrieb eine wirklich gute Datenabstraktionsschicht

.

Ein Upgrade auf Informix SE 7,26 wäre ein Kinderspiel - die Software erhalten, installieren Sie es, zeigen Sie es in der vorhandenen Datenbank. Sie würden wahrscheinlich wollen Ihre Programme neu kompilieren, die modernere CSDK zu verwenden, aber man kann das schrittweise mit Sorgfalt (zwei INFORMIXDIR Werte, ein für den alten Code, eine für die neu) tun.

Ein Upgrade auf Informix Dynamic Server (IDS) 11.50 müssten Sie die Daten (DB-Export) von SE und importieren (DB-Import) in IDS exportieren. Dies wäre auch sehr einfach, wenn Sie IDS haben und läuft. IDS immer und läuft mehr Aufwand als SE übernimmt, ist aber nicht so schwer.

Natürlich ist meine Empfehlung mit Informix setzen zu bleiben. Die Entscheidung liegt bei Ihnen, natürlich.


  

Mit IDS, würden wir müssen Änderungen am Code oder einfach nur neu kompiliert werden?

IDS ist sehr eng mit SE verwendet, aber sie sind anders. IDS bietet eine fast strenge Obermenge der SE-Funktionalität. Die Orte, die ich denken kann, wo es Unterschiede sind in erster Linie Rand Fall stuff:

  • hat SE zusätzliche Syntax TABLE zum Auffinden von C-ISAM-Dateien für die Datenbank zu erstellen; IDS hat eine ganz andere Reihe von Erweiterungen. Die grundlegende CREATE TABLE ist die gleiche (wenn auch IDS hat Typen, die SE nicht der Fall, wie VARCHAR), aber die Verzierungen sind unterschiedlich.
  • SE hat AUDIT und DROP AUDIT CREATE und IDS nicht (es hat andere Prüffunktionen).
  • SE hat START DATABASE und ROLLFORWARD DATABASE; IDS nicht (Wiederherstellungs- und Protokollierung in IDS ist anders).

Der Hauptbereich, die zu Problemen führen können, ist das Transaktionsmanagement. IDS hat nicht angemeldet Warenkorb, protokolliert und 'LOG MODE ANSI' Datenbank, wie SE der Fall ist. In IDS, Sie werden aufgefordert, eine protokollierte Datenbank zu verwenden - die eine starke Empfehlung wäre. IDS bietet Atom-Anweisungen in einer Datenbank protokolliert - entweder die Anweisung funktioniert als Ganzes oder es nicht als Ganzes. Allerdings sind viele SE Anwendungen, die nicht mit Transaktionen im Hinterkopf geschrieben. Es gibt einige Dinge, die Sie nicht tun können, wenn es Transaktionen auf der Datenbank, wie offen einen Cursor für die Aktualisierung außerhalb des Rahmens einer Transaktion. Dies ist, was Code zu beißen neigt dazu, von SE IDS migrieren. Außerdem können Sie eine Tabelle nicht sperren, außer im Rahmen einer Transaktion, und Sie können eine Tabelle nicht außer durch COMMIT oder ROLLBACK entriegeln.

Wie viel eines Problems hängt dies sein wird, was Sie in SE wurden mit und wie wurden die Programme (wenn sie entworfen wurden, anstatt zusammen geworfen). Ein IDS unlogged Datenbank und eine SE unlogged Datenbank sind ganz in der Nähe - und Sie von einem zum anderen wandern können. Aber IDS können Dinge tun (wie Replikation) nur dann, wenn die Datenbanken werden protokolliert, und Sie sollten darauf abzielen, protokollierte Datenbanken werden.

Allerdings sollte die Migration auf CSDK 3.50 nur recompile sein, es sei denn Sie haben es geschafft, einige wirklich quälenden zu tunly schreckliche Dinge.

Andere Tipps

Gerüchte von Informix Ableben sind stark übertrieben.

Mit der Investition in Embedded-Code, den Sie haben, jeder scheinbarer Aufkleber Preis Kostenersparnis von der Umstellung auf Marke O oder Marke S sehr schnell in Sanierungskosten verschwinden werden mußte. Das ist einfach eine Tatsache des Lebens: Ich habe gesehen, Projekte $ 100K + auf Sanierung brennen $ 20K p.a. sparen bei der Lizenzierung. Das ist nicht gut angelegtes Geld.

Sie würden wollen, sehr, sehr sicher, dass der Schalter von RDBMS etwas bieten würde man wirklich nicht mit erreichen könnte kleben, was Sie haben. Da das Risiko (aus bitterer Erfahrung - ich kämpfte gegen mich lange und hart). Ist, dass Sie ein Vermögen in Dollar und Zeit an Ort und Stelle nur laufen verbringen könnten, wenn nicht rückwärts gehen

Wenn Sie vorhaben, einen Schritt zurück und ganzheitlich auf Ihr Problem zu sehen, ich glaube, Sie würden die Möglichkeiten der neueren, lose gekoppelten, Datenbank-agnostisch Architekturen weit besser dran, die Bewertung als für ein anderes eingebettetes Modell austauschen. Dies würde eine viel größere Flexibilität auf der Bahn liefern.

Ich hoffe, das hilft.

Wir haben seit Jahren Informix DB wurde unterstützt mit GeneXus. Informix ist eine große DB, aber es gibt nicht viele Werkzeuge um es in einer agilen Art und Weise zu helfen, aufzubauen. Ich kenne viele Informix-Shops, die nur die GeneXus IDE verwenden, um Web-Anwendungen und Smartphone-Anwendungen zu bauen. Wenn Sie nicht von GeneXus gehört haben, check it out.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top