Wie erklären Sie einem Kunden, dass die Migration der Datenbank einer bestehenden Anwendung auf eine andere (z. B. von MySQL auf MSSQL) keine triviale Aufgabe ist?

Mein Kunde glaubt, dass er die Daten nur mit einem Migrationstool in die neue Datenbank kopieren und die Datenbankkonfigurationsdatei der App ändern muss.

Obwohl ich sicher bin, dass einige Teile der App weiterhin funktionieren würden, würde ich darauf wetten, dass die neue Datenbank eine erhebliche Anzahl von SQL-Fehlern auslöst.

Ich habe versucht, das zu erklären, aber er besteht darauf, dass "SQL-Datenbanken alle auf die gleiche Weise funktionieren". Leider haben wir keine Zeit, dies zu beweisen, indem wir die neue Datenbank einrichten und die Daten migrieren.

Darüber hinaus beabsichtigt der Kunde, es selbst zu tun , daher sehe ich nicht ein, warum wir Entwicklerzeit dafür aufwenden sollten. Er bittet nur um Rat und Unterstützung, wenn er es selbst versucht. Wie sage ich ihm taktvoll, dass er höchstwahrscheinlich scheitern wird?

Was ist das Framework der bestehenden Anwendung - Java? .NETZ? Oder PHP? Etwas anderes?
So findet Ihr Kunde heraus, wie es ist, Ihren Expertenrat zu ignorieren. Klingt, als hättest du sie bereits gewarnt, ich würde es dabei belassen.
@AmrinderArora Es ist eine Java-Webanwendung, die auf Hibernate ausgeführt wird. Ich bin mir sicher, dass die meisten Hibernate-Abfragen funktionieren, wenn der Dialekt richtig eingestellt ist. Leider hat die App viele native Abfragen. Es sind diese, von denen ich sicher bin, dass sie brechen werden.

Antworten (3)

Direkt und ehrlich.

Übrigens, ich denke, das ist eine Verkaufs- und Verhandlungsfrage:

Soweit ich verstanden habe, möchten Sie Ihren Kunden unterstützen und vielleicht etwas Geld verdienen. Sie möchten beides tun, indem Sie die Zukunft vorhersagen, und Sie sind (aus welchen Gründen auch immer, in Ihrer Situation) nicht in der Lage , Ihre Vorhersage zu beweisen .

Was ist das Worst-Case-Ergebnis?

Alles läuft reibungslos und Ihr Kunde glaubt nicht mehr an Ihre Erfahrung.

Oder: Ihr Kunde hat viele Probleme und behauptet, Sie hätten ihn nicht genug gewarnt.

Finden Sie einen Weg, um mit beiden umzugehen:

Bieten Sie zum Beispiel an, einen Teilumzug der DB durchzuführen, um zu sehen, wie es funktioniert, und lassen Sie Ihr zukünftiges Engagement vom Ergebnis abhängen.

Bieten Sie einen zeitbasierten Vertrag anstelle eines Festpreisvertrags an.

Der wichtige Punkt:

  • Nehmen Sie seine Überzeugungen ernst
  • Erklären Sie Ihre
  • Stellen Sie eine skalierbare Lösung bereit, um mit minimalem Aufwand von dem von ihm vorhergesagten Szenario zu dem von Ihnen vorhergesagten Szenario zu gelangen

Übrigens könnte es hilfreich sein, auf die Risiken samt Konsequenzen hinzuweisen, falls sich Ihre Vorhersage bewahrheitet, während Ihr Kunde seinen Weg fortsetzt.

Danke für die Antwort. Ironischerweise haben wir vor Jahren so etwas versucht, um bei MSSQL Geld zu sparen. Die meisten CRUD-Seiten funktionieren, aber sobald Sie auf eine Seite mit einer Art komplexer Abfrage gestoßen sind, hat sich MySQL einfach geweigert. Wir haben entschieden, dass es billiger ist, weiterhin für MSSQL zu bezahlen, das all diese Abfragen umschreibt.

Bitten Sie sie, diesen einfachen Prototyp auszuführen:

  1. Kopieren Sie die vorhandene Produktions-DB (in MySQL) in eine neue Test-DB (in MS SQL).
  2. Erstellen Sie eine Testversion der Anwendung (in Java)
  3. Verbinden Sie die Testversion der Anwendung mit der Testdatenbank

An diesem Punkt wird entweder der Client feststellen, dass viele Seiten beschädigt sind, oder Sie werden feststellen, dass die Art und Weise, wie sie ihre Anwendung haben, größtenteils oder vollständig DB-agnostisch ist (eine Möglichkeit, wenn auch mit geringerer Wahrscheinlichkeit). In jedem Fall werden Sie sich bei den nächsten Schritten annähern.

Ich würde das einen „Prototyp“ oder „Story Spike“ nennen. Klingt für mich besser als Test, aber Ihre Laufleistung kann variieren. Ansonsten sehr pragmatische Beratung.

Wir hatten eine ähnliche Situation (Idee, Oracle auf Postgre zu migrieren). Ein Treffen mit einem erfahrenen und angesehenen DBA und Kunden hat sehr geholfen.

Ich liebe Treffen mit erfahrenen und angesehenen DBAs. Aber da ich das verpasst habe, könnten Sie uns einfach sagen, was sie gesagt haben? :-)