Zum Inhalt springen

Synchronisation einer Oracle DB mit einer MySQL DB


gluexxpirat

Empfohlene Beiträge

Hallo zusammen,

ich habe eine ziemlich allgemeine Frage zu meinem Abschlussprojekt. Allgemein deshalb, weil ich noch nicht wirklich weiß, ob ich mir mein Projekt vielleicht bereits abschminken kann, weil es zu viel oder zu wenig Zeit in Anspruch nimmt. Und zwar möchte mein Ausbilder gerne, dass ich die Daten von unserem Logistikprogramm, welches mit Oracle arbeitet, optimiert darstelle. Die Daten wollte ich in eine MySQL DB packen und über den Browser mittels PHP darstellen. In dem Programm selbst lassen sich gewisse kombinierte Suchen nicht darstellen. Die für mich zuständige Kammer ist in Cottbus (Brandenburg) und ich bin angehender Anwendungsentwickler.

Nun bin ich mir aber aktuell noch nicht im Klaren, wie ich die tägliche Synchronisation realisieren soll und ob das Projekt vielleicht meinen Zeitrahmen sprengt oder gar nicht ausnutzt.

Mein Ausbilder hat davon leider keine Ahnung und auch ich kann das schlecht einschätzen, da ich bisher noch quasi kein Projekt, was mit der Anwendungsentwicklung zu tun hat, realisiert habe. Mein Lehrer meinte aber, dass auch wenn man sich das in der Doku so hinbiegt, dass es 70 h gedauert hat, für die Prüfer erkennbar ist, ob es tatsächlich so war oder nicht. Zumindest in etwa.

Ich möchte keine Lösungen oder ähnliches nur, falls möglich eine Prognose, ob ein solches Projekt zeitlich zu managen ist.

Bearbeitet von gluexxpirat
Link zu diesem Kommentar
Auf anderen Seiten teilen

Darüber hab ich mir noch gar keine Gedanken gemacht. Ich hab bisher noch nicht wirklich mit einer Oracle DB gearbeitet. Hab aber mit meinem damaligem Kollegen eine Verbindung herstellen können, damit sich die MySQL DB mit den Daten der Oracle füllt. Weil ich diesen Arbeitsschritt bereits kenne, wollte ich das erneut auf diesem Wege erledigen. Es ist auch äußerst wichtig, dass an der Oracle DB nichts geändert wird, da andernfalls das Programm nicht mehr wirklich funktionieren wird. Sollte also jemand, wie auch immer die MySQL DB manipulieren wäre das nur halb so dramatisch.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich verstehe trotzdem das Problem nicht. Wenn sich die OracleDB ändern sollte, z.B. aufgrund eines softwareupdates, dann muss sich auch der sog. ETL-Prozess und ggf. auch die mysql Datenbank angepasst werden. Du hast hier so oder so aufwände. Es gibt auch Tools, mit denen man den ETL-Prozess konfigurieren und steuern kann. Z.B. Talend. Wenn ich noch richtig in Erinnerung habe, bietet talend auch eine Echtzeit Funktionalität. Vielleicht ist das ja das, was du suchst. 

Auch wäre es nicht schlecht, wenn du dich mal mit der rechtevergabe unter Oracle auseinandersetzt. Ich glaube, deine Befürchtung liegt eher darin, dass du Angst hast, jemand könnte die Daten manipulieren aber unter Oracle kannst du sehr feingranular die rechte vergeben. Du kannst auch einen read-only Nutzer anlegen, der nur lesezugriff auf bestimmte Tabellen bekommt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich denke so wie Whiz-zarD - du wirst wohl keine sinnvolle Begründung für die Migration in eine MySQL Datenbank finden können. Für den Zugrifsschutz gibt es wie ebenfalls schon dargelegt Read-Only Benutzer zumal du ja für eine "Spiegelung" bzw. laufende Synchronisation auch lesend auf die Datensätze in der Oracle Datenbank zugreifen müsstest. Ich denke das ist keine echte Option weil die Fragezeichen garantiert auch beim lesen Antrages bei den Prüfern kommen werden. Sowas zu bauen nur weil man Oracle Datenbanken noch nicht kennt, ist nicht wirtschaftlich. Und sinnvoll auch nicht.

Ob das fachlich dann noch den Ansprüchen genügt, hängt vor allem davon ab, was da im Browser ausgegeben werden soll. Wenn das nur eine Texttabelle bestehend aus 2-3 Datensätzen ist, dann wahrscheinlich nicht. Wenn das hingegen sehr viele und komplexe Daten sind und du daraus ein kleines Dashboard baust dass die Daten unterschiedlich visualisiert, dann ist das eventuell ein Projekt, dass man vom Umfang und der Funktionalität her beliebig skalieren kann. Das hängt aber halt davon ab was das für Daten sind und was genau "optimiert" (wie du oben schreibst) dargestellt werden soll. Das können wir natürlich nicht beurteilen.

Bearbeitet von Uhu
Link zu diesem Kommentar
Auf anderen Seiten teilen

 Ist es denn als Begründung nicht ausreichend, dass mein Ausbilder(Kunde) das in der Form fordert, damit nicht jede Nutzerabfrage direkt auf die Oracle DB zugreift? Warum er das so fordert habe ich bisher aber weder ihn noch mich gefragt, bzw, ob es Sinn macht. Wenn ich mich in das Thema Oracle einlese und dann noch teste, wie ich das am besten umsetze, kostet das doch im Vorfeld in jedem Fall Zeit(Geld), kann ich das damit nicht auch aus wirtschaftlicher Sicht begründen? Da ich ja, wenn auch nicht viel, Gehalt bekomme und dann zusätzlich nicht für andere (wirtschaftlichere) Tätigkeiten zur Verfügung stehe. Außerdem könnte man möglicherweise in Zukunft aufgrund der jetzigen Migration vielleicht auf ein anderes Produkt umsteigen, welches auch mit MySQL arbeitet, das wäre dann vermutlich eine Kostenersparnis, da die Lizenz für so einen MySQL Server weitaus billiger ist als für einen Oracle Server.

 

Vielleicht wirke ich etwas versteift auf diese Idee, das ist so, weil ich keine wirkliche Idee habe, was ich sonst machen kann. Ich hoffe es wirkt nicht so, als würde ich keine Ratschläge annehmen wollen. Ich bin dankbar für jeden Post.

Bearbeitet von gluexxpirat
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 27 Minuten schrieb gluexxpirat:

 

Die Datenbank ist doch egal. Heutzutage unterstützen die meisten Anwendungen alle möglichen Datenbanken oder bringen die Datenbank selbst mit und wenn du schon in die Zukunft schaust, würde ich nicht auf mysql setzen, da die Zukunft um mysql ungewiss ist. Inzwischen geht der Trend weg von mysql. Wenn, dann solltest du lieber auf MariaDB oder PostgreSQL setzen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor einer Stunde schrieb gluexxpirat:

Ist es denn als Begründung nicht ausreichend, dass mein Ausbilder(Kunde) das in der Form fordert, damit nicht jede Nutzerabfrage direkt auf die Oracle DB zugreift?

Ich bin kein Prüfer aber mal unter uns: Bist du nicht auch der Meinung, dass man auf die Weise jedes Projekt rechtfertigen könnte und das es allein deshalb etwas zu einfach gedacht ist? Wenn Querys auf die DB ein Problem sind, dann müsste sich das logisch verargumentieren lassen z. B. Anhand der Performance. Wenn die Daten aber nur von einer Person 1x im Monat abgerufen werden, könnte das schwer werden. Hier kommt es also darauf an. Gibt es hier objektive Gründe oder hat dein Ausbilduner bloß ein "schlechtes Gefühl" dabei? ...

vor einer Stunde schrieb gluexxpirat:

Wenn ich mich in das Thema Oracle einlese und dann noch teste, wie ich das am besten umsetze, kostet das doch im Vorfeld in jedem Fall Zeit(Geld), kann ich das damit nicht auch aus wirtschaftlicher Sicht begründen?

1. Fast alle Datenbanken bieten heutzutage einen ODBC Treiber an. Ob du per PHP eine MySQL oder Oracle Datenbank ansprichst, macht vom Code dank standardisierter Schnittstellen (fast) keinen Unterschied.

2. Du würdest die Oracle Datenbank doch sowieso per PHP ansprechen um die Daten in die MySQL Datenbank zu schreiben. Wo soll da der Unterschied sein? Der Einarbeitungsaufwand ist doch identisch da du doch die gleichen Daten ansprichst. Der Einzige Unterschied ist, du sparst dir die Kopie auf die MySQL Datenbank und lieferst die Ergebnisse direkt aufbereitet im Browser. Querys auf die Oracle DB absetzen musst du auch mit deinem Vorhaben. Von daher ist die Logik nicht ganz inhärent hinter deiner Begründung.

Zitat

Außerdem könnte man möglicherweise in Zukunft aufgrund der jetzigen Migration vielleicht auf ein anderes Produkt umsteigen, welches auch mit MySQL arbeitet, das wäre dann vermutlich eine Kostenersparnis, da die Lizenz für so einen MySQL Server weitaus billiger ist als für einen Oracle Server.


Hätte, würde, könnte ... es geht hier doch um den Ist und Soll Zustand - nicht um das, was mal sein könnte. Zudem wechselt man nicht das Produkt (mit all seinen fachlichen Abhängigkeiten) nur weil jemand lieber SQL Querys auf einer MySQL DB absetzt. So funktioniert IT nicht.

Davon ab ist das was du da tust keine Migration. Der Begriff der Migration würde beinhalten, dass dein Produkt auf MySQL umgestellt wird und du daher den Datenbestand auf das andere System migrierst. Das tust du hier nicht. Bei einer Migration geht es also, um es mal allgemein zu formulieren, um eine Prozessumstellung auf ein anderes System.

Du solltest wirklich noch mal über das Projekt mit deinem Chef sprechen. Entweder dein Chef hat sich gar keine Gedanken gemacht oder diese kamen nicht bei dir an. Frag ihn doch einfach mal, warum denn kein Read-Only Benutzer auf der Oracle DB ausreicht und ob die Performance durch die zu erwartende User-Abfragen tatsächlich beeinträchtigt würde und wie man das Messen bzw. Objektiv beurteilen kann. Wenn es darauf sinnvolle Antworten gibt, dann könnte das Projekt eventuell sinnvoll sein ... ansonsten halt nicht.

Sorry ich will dir echt nichts schlecht reden, aber es wirkt ein bischen so, als suchst du förmlich nach einem Sinn, irgendwas mit MySQL machen zu können. Man zäumt das Pferd aber nicht von hinten auf. Du hast ein Problem, das du lösen willst. Dein Fokus sollte ersteinmal die Lösung des Problems sein ... Technologien kommen ganz am Ende. Bei dir ist das gerade ein bisschen so: Du hast ein Problem und du hast eine MySQL Datenbank. Jetzt suchst nach einer Begründung warum du zur Lösung des Problems eine MySQL Datenbank brauchst ...

 

Bearbeitet von Uhu
Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja, da kann ich dir wohl nicht widersprechen.. Das Problem ist, dass mein Chef vom programmieren nichts versteht und ich halt nur so weit ich es mir selbst beigebracht habe bzw aus der Schule gelernt habe. Daher auch das Problem, dass ich kaum eine Idee habe, was ich überhaupt als Abschlussprojekt wählen kann. Wenn ich mich für dieses Projekt entscheiden würde, ganz egal wie da nun die Umsetzung aussieht, weiß ich auch nicht, inwieweit das überhaupt bei uns in der Firma Anklang finden würde, dementsprechend wäre auch ne Kosten-Nutzen-Rechnung rein fiktiv..

Sent from my E6653 using Fachinformatiker.de mobile app

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Stunden schrieb gluexxpirat:

Das Problem ist, dass mein Chef vom programmieren nichts versteht und ich halt nur so weit ich es mir selbst beigebracht habe bzw aus der Schule gelernt habe. 

Ich nehme mal an, es handelt sich um eine FIAE-Ausbildung. Wieso bildet die Firma FIAEler aus, wenn keiner programmieren kann? Was lernst du in der Firma? Vor allem von wem?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das ist wirklich bitter und sehr traurig.

Ich sag mal so, du wärst ja nicht der erste Azubi, wo ein Projekt innerbetrieblich nie genutzt wird. Ist zwar schade, das kann dir aber erstmal egal sein. Du musst nur die Prüfung bestehen. Und dafür ist es halt wichtig, dass du ein Projekt einreichst, was sich zumindest sinnvoll liest. Whiz-zarD und ich haben uns ja nur kurz mit deinen Gedankengängen beschäftigt und die Ungereimtheiten fallen halten sofort ins Auge und ich denke bei den Prüfern wäre das erst recht nicht anders.

So ganz schwarz sehe ich die Thematik jetzt nicht, allerdings legst du meiner Meinung nach den Fokus nicht auf die Lösung des eigentlichen Problems...Dass sich bestimmte Kombination von den Daten in eurer Logistiksoftware nicht abbilden lassen (die aber gebraucht werden - von allen Mitarbeitern, nicht nur jene, die SQL können) ist ja durchaus ein reelles Problem. Du müsstest das allerdings mit deinen Chef dann auch Zuende Denken, Anforderungen ableiten, wie sollen die Daten im Browser präsentiert werden? Sollen die Ergebnisse exportiert werden?... Vielleicht könnte daraus ein echtes Projekt werden, aber ohne deinen Chef, der da fachlich drin steckt, funktioniert es natürlich nicht. Du musst ja erstmal die genauen Anforderungen kennen.

Du musst dich aufjedenfall noch mal mit deinen Chef zusammen setzen. Wenn der Kunde nicht weiß was er braucht und warum er es braucht, dann kann man den Kunden leider nicht helfen :(  ... Ob das firmeninterne Kunden sind (Chef, Mitarbeiter, etc.) oder von außerhalb spielt dabei keine Rolle.

 

 

Bearbeitet von Uhu
Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich nehme mal an, es handelt sich um eine FIAE-Ausbildung. Wieso bildet die Firma FIAEler aus, wenn keiner programmieren kann? Was lernst du in der Firma? Vor allem von wem?

Prinzipiell bildet mich niemand aus.. Mein damaliger Kollege hat mir die Grundlagen in HTML und css zur Webseiten Erstellung und Gestaltung beigebracht. Danach habe ich auch ein paar Webseiten für Kunden erstellt. Diese Sparte bedienen wir aber nicht mehr und so bin ich nun nur noch in der EDV, seither habe ich eigentlich nichts mehr fertig programmiert. Hab nur ein bisschen mit mysql gearbeitet und ein LogIn System erstellt.

Sent from my E6653 using Fachinformatiker.de mobile app

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das ist wirklich bitter und sehr traurig.

Ich sag mal so, du wärst ja nicht der erste Azubi, wo ein Projekt innerbetrieblich nie genutzt wird. Ist zwar schade, das kann dir aber erstmal egal sein. Du musst nur die Prüfung bestehen. Und dafür ist es halt wichtig, dass du ein Projekt einreichst, was sich zumindest sinnvoll liest. Whiz-zarD und ich haben uns ja nur kurz mit deinen Gedankengängen beschäftigt und die Ungereimtheiten fallen halten sofort ins Auge und ich denke bei den Prüfern wäre das erst recht nicht anders.
So ganz schwarz sehe ich die Thematik jetzt nicht, allerdings legst du meiner Meinung nach den Fokus nicht auf die Lösung des eigentlichen Problems...Dass sich bestimmte Kombination von den Daten in eurer Logistiksoftware nicht abbilden lassen (die aber gebraucht werden - von allen Mitarbeitern, nicht nur jene, die SQL können) ist ja durchaus ein reelles Problem. Du müsstest das allerdings mit deinen Chef dann auch Zuende Denken, Anforderungen ableiten, wie sollen die Daten im Browser präsentiert werden? Sollen die Ergebnisse exportiert werden?... Vielleicht könnte daraus ein echtes Projekt werden, aber ohne deinen Chef, der da fachlich drin steckt, funktioniert es natürlich nicht. Du musst ja erstmal die genauen Anforderungen kennen.
Du musst dich aufjedenfall noch mal mit deinen Chef zusammen setzen. Wenn der Kunde nicht weiß was er braucht und warum er es braucht, dann kann man den Kunden leider nicht helfen   ... Ob das firmeninterne Kunden sind (Chef, Mitarbeiter, etc.) oder von außerhalb spielt dabei keine Rolle.
 
 

Dann muss ich mich da nochmal ran setzen.. Vielleicht sollte ich mal um Zugang für das Programm betteln. Was das nämlich so alles kann weiß ich auch nicht. Vielleicht mach ich auch einfach etwas anderes, es stand irgendwann mal zur Debatte, dass ich ein Programm zur Erfassung von IT Zugriffsrechten erstelle, in dem festgehalten wird, wer auf was zugreifen darf. Oder vielleicht ein einfaches Ticketsystem, wobei das bei uns in der Firma auch relativ unnütz ist.

Sent from my E6653 using Fachinformatiker.de mobile app

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...