Ich habe da mal Fragen zur Anbindung von Datenbanken
Wir haben bislang in unseren Systemen die Derby verwendet (ja ich weiß, soll man nicht für produktive Projekte).
Da wir eine demnächst eine Umstrukturierung der Projekte vornehmen, wäre es nun günstig, sich auch direkt um die Datenbankanbindung der Projekte zu kümmern.
Kann man alle Daten für Datenquellen in einem zentralen Projekt pflegen?
Ich beschreibe mal was wir vorhaben.
Wir werden demnächst ein zentrales Projekt aufsetzen, in dem alle Inhalte und Medien gepflegt werden.
Von dort aus werden wir die Inhalte und Medien per Corporate Content und Corporate Media in die einzelnen Webprojekte verteilen.
Eine Überlegung ist es, die Datenquellen Verwaltung auch in das zentrale Projekt zu verlegen.
Dazu wollen wir folgendermaßen vorgehen:
- Export der Projekte und Import mit Wechsel des Datenbank-Layers auf einen Standard-Layer (MySQL) --> Damit haben wir die Daten dann in der externen MySQL
- Export der Datenbank Schemata (FirstSpirit) aus den einzelnen Projekten und Import in das zentrale Projekt
- schreibender Zugriff und Schema Syc für das zentrale Projekt, nur lesender Zugriff und kein Schema Sync für die Web-Projekte
Da wir bei einigen Tabellen aber auch Seitenreferenzen speichern, stellt sich nun die Frage, wie man bei der Pflege der Daten im zentralen Projekt an die PageRefs der jeweiligen Projekte kommt.
Oder muss man in diesem Fall die Pflege der Daten in dem entsprechenden Web-Projekt belassen (schreibender Zugriff) und im zentralen Projekt nur eine lesende Anbindung realisieren?
Ist der Standard-Layer ok oder wäre der DBA-Layer besser?
Ein Test für einen Import und Wechsel des Datenbank-Layers auf einen mit folgender Layer Konfiguration (=Standard-Layer) hat funktioniert.
# test
jdbc.DRIVER=com.mysql.jdbc.Driver
jdbc.PASSWORD=****
jdbc.SCHEMA=fspirit
jdbc.URL=jdbc:mysql://mywebe/fspirit
jdbc.USER=cms
jdbc.layerclass=de.espirit.or.impl.mysql.MySQLLayer
Die Testtabellen aus einem Testprojekt heraus wurden in der Datenbank fspirit mit Systemspalten (fs_gid ...) und selbst konfigurierten Spalten angelegt.
Sachdienliche Hinweise für meine Fragen sind gerne willkommen.
Danke und Grüße
Petra Hewera-Harz
PS:
Ich denke, dass man die Doku in Bezug Datenbankanbindung/-schemata überarbeiten sollte, um hier mehr Klarheit zu bekommen.
Irritiert sind bei dieser Thematik die sich meines Erachtens teilweise widersprechenden Aussagen.
In der Doku heißt es, dass "Die Struktur und die Inhalte einer externen Datenbank dürfen nicht verändert werden.
Im Gegensatz zu internen Datenbanken, ist für externe Datenbanken nur ein lesender aber kein schreibender Zugriff möglich.".
Hm!, die interne Datenbank Derby soll man produktiv nicht nutzen und externe Datenbanken soll man nur lesend anbinden.
Gleichzeitig wird beschrieben, wie man einen gemeinsamen Zugriff auf Datenbanken realisiert: "Dabei sollte sichergestellt werden,
dass nur maximal ein Projekt schreibenden Zugriff auf die Datenbank erhält und für alle weiteren Projekte nur der gemeinsame,
lesende Zugriff auf die entsprechenden Datenbank-Inhalte möglich ist." Zum Datenbank-Layer heißt es: "Im Feld „Datenbank-Layer“ muss ein bestehender Datenbank-Layer zu einer Datenbank ausgewählt werden,
in der die einzelnen Datenbanktabellen für dieses Schema gespeichert werden sollen."