Hibernate-Problem mit MySQL-Cluster

Status
Nicht offen für weitere Antworten.

anja2006

Mitglied
Hallo zusammen,

wir haben eine Webanwendung mit Hibernate und MySQL5.

Diese Anwendung haben wir jetzt auf einen Server mit MySQL-Cluster
umgezogen. Den Server gibt es auch zweimal.
Nun gibt es Probleme mit den IDs, da Hibernate sich diese wohl merkt und
nicht vor dem Schreiben mit der Datenbank abgleicht.

Gibt es eine Möglichkeit Hibernate dazu zu bringen, die IDs mit der
Datenbank abzugleichen, bevor es versucht in die Datenbank zu schreiben?


Grüße
Anja :?:
 
G

Gast

Gast
Hae?
Ihr habt zwei MySQL-Server in nem Cluster. Somit müssten die Server aber identisch sein und damit dürfte es Hibernate auch net stören.
Und, sprichst du vno Primärschlüssenl oder was genau meinst du mit IDs?
 

anja2006

Mitglied
Hallo,


also, wir haben 2 Webserver (Apache, Tomcat) und dahinter 2 MySQL-Server.

Die Datenbestände auf den beiden MySQL-Server sind natürlich identisch.

Wenn aber auf Webserver 1 über Hibernate ein Datensatz geschrieben wird, so bekommt das Webserver 2 nicht mit. Wenn dieser einen Datensatz schreibt holt er sich den Primärschlüssel nicht aus der Datenbank, sondern berechnet ihn auf der Grundlage seines zuletzt gespeicherten Schlüssels. Da aber Webserver 2 diesen Schlüssel bereits verbraucht hat, kracht es.

Jetzt würde ich Hibernate gerne dazu bringen erst in die Datenbank zu schauen und sich den zuletzt vergebenen Schlüssel zu holen, bevor es schreibt. --> Geht das?


Grüße
Anja
 
G

Gast

Gast
Vermute ich richtig das du versuchst auf beiden Datenbankservern Schreiboperationen auszuführen. Soviel ich weiß ist ein MySql Cluster nach einem Master and Slave Prinzip aufgebaut bei dem eigentlich nur Schreiboperationen auf dem Master erlaubt sind.
Soweit ich mich richtig erinnere ist es zwar möglich diese auch für einen Multimaster Prinzip zukonfigurieren aber, dies erfordert sehr viel Handarbeit. Das Problem dabei ist genau das was du beschrieben hast die Schlüsselgenerierung.
Desweiter wird im Manual davon eigentlich auch abgeraten. Es gibt dann aber noch eine Komerzielleversion von MySql bei der es funktionieren sollte.
 
G

Gast

Gast
Die einfachste Möglichkeit dürfte wohl ein eigener Schlüsselgenerator sein. Ne eigene Tabelle welche nur 1 Datensatz mit dem aktuellen Schlüssel enthält. Läuft dann so ab

Tabelle Schluessel(int aktuell)

Anfrage auf 1 -> Hibernate sperrt Tabelle Schluessel, liest den Wert aus, erhöht den Wert, gibt die Tabelle wieder frei -> der geholte/generierte Schlüssel ist der Primärschlüssel für den Datensatz

Du könntest das ganze auch über ne StoredProc lösen. Ist imho die einzige praktikable Lösung. Oder eben der riesige Konfigurationsaufwand mit nem Multimaster-Cluster.

Aber mal Grundsätzlich:
Das Prinzip das ihr verfolgt ist imho nicht wirklich schlüssig. Cluster werden eigentlich im Master-Slave-Prinzip geschalten.
Server 1 ist Master, Server 2 ist Slave. Fällt Server 1 aus springt Server 2 ein ohne dass der "Kunde" etwas davon merkt -> Hochverfügbarkeitscluster, FailOvercluster.

Welches Ziel verfolgt ihr mit eurem Ansatz denn?

Gruß Sebastian
 

KSG9|sebastian

Top Contributor
ok, aber was passiert wenn die daten synchronisiert werden? werden dann auch die schlüssel neu geschrieben?
irgendwie werd ich aus eurem system nicht schlau.

Wenn das Ziel Ausfallsicherheit lautet dann wäre wohl folgendes das Ziel

Daten aus DB1 = Daten aus DB2

Mit eurer Lösung sieht das dann so aus:

Daten DB1 (PKey, Value)
1 - a
2 - b
3 - c
4 - d
...
Daten DB2(PKey, Value)
1 - w
2 - x
3 - y
4 - z

Wenn die Daten dann synchronisiert werden gibs nen ziemlichen Knall, weil entweder Daten überschrieben werden, Daten verloren gehen oder PKey doppelt vorhanden sind.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Erste Schritte... Problem mit Hibernate Allgemeines EE 15
W Speicher-Problem bei WebApp unter Tomcat, Struts, Hibernate Allgemeines EE 3
S Hibernate Mapping Problem Allgemeines EE 3
S Hibernate INSERT Problem Allgemeines EE 11
T JSTL + Struts (inkl.Hibernate) -> forEach Problem Allgemeines EE 6
R Java EE 6, eclipse, maven, jsf, hibernate, mysql Allgemeines EE 8
O Hibernate Fehlermeldung bei start des Servers Allgemeines EE 2
E Frage zu Wildfly und Hibernate OGM Allgemeines EE 0
S Frage zu Jersey + Hibernate Allgemeines EE 1
D GWT mit Hibernate und Sql Datenbank Allgemeines EE 2
B Wicket, Hibernate, H2 memDB Anfänger Frage Allgemeines EE 2
H Hibernate - OneToMany - mappedBy reference an unknown target entity property Allgemeines EE 1
A Hibernate endlich zu Laufen bekommen... Allgemeines EE 11
LadyMilka Ablaufdiagramm mit/ohne Hibernate Allgemeines EE 2
P Mit JAXB erzeugte Klassen persistieren (Hibernate) Allgemeines EE 10
K Anfänger: Hibernate + Web Allgemeines EE 2
T Hibernate 3 + EJB 3 + JBoss 5 Allgemeines EE 6
G Persistenz mit Hibernate oder J2EE? Allgemeines EE 11
C Hibernate - Expression.or Allgemeines EE 4
D Erst Spring oder erst Hibernate lernen? Allgemeines EE 2
D Java EE vs. Spring/Hibernate Allgemeines EE 26
Y myFaces und Hibernate Session Handling Allgemeines EE 7
byte Remote Lazy Loading mit Spring und Hibernate Allgemeines EE 5
G JSF, Hibernate, Spring --> Struktur Allgemeines EE 2
F [Hallo] Frage zu Hibernate Mapping und Vererbung Allgemeines EE 3
G JSF | Hibernate | MySQL Allgemeines EE 17
G Hibernate: org.hibernate.TransactionException Allgemeines EE 4
F org.hibernate.LazyInitializationException: failed to lazily Allgemeines EE 8
J nur bestimmte Mapping-Dateien berücksichtigen (Hibernate) Allgemeines EE 14
S Hibernate EJB3 Allgemeines EE 2
E JBoss Hibernate Datenbank-Timeout Allgemeines EE 3
S Hibernate, Tomcat und Eclipse treiben mich zum Wahnsinn. Allgemeines EE 2
2 hibernate - createQuery() Allgemeines EE 9
T Hibernate die richtige Wahl? Allgemeines EE 2
M JSF mit Hibernate Allgemeines EE 14
W Hibernate *.Jar's im Klassenpfad Allgemeines EE 10
M Tomcat, Hibernate, MySQL und die EOFException Allgemeines EE 7
C EntityManager wirft NullpointerException: JBoss-Hibernate Allgemeines EE 4
E JSF, Hibernate & MySQL: Keine Datenbankaktualisierung Allgemeines EE 5
M mit Hibernate 1:n in view richtige implementieren Allgemeines EE 3
M Hibernate Criteria frage Allgemeines EE 2
A Speicherproblem bei Webanwendung mit Hibernate und Stuts Allgemeines EE 6
S Fragen zu: Servlets, Struts & Hibernate Allgemeines EE 9
E JOINS und Hibernate? Allgemeines EE 3
S Java Enum in MySQL und Hibernate Allgemeines EE 3
R Hibernate: many-to-many funktioniert noch nicht ganz Allgemeines EE 2
D Hibernate hql suche Date Allgemeines EE 9
B JSF + Hibernate How2 Allgemeines EE 2
G [JSF+Hibernate]: DB-Constraints in Validierungsphase? Allgemeines EE 4
P struts Hibernate MySQL Select Statement Allgemeines EE 24
G JTA ja/nein & wie (JBoss & Hibernate & Transakti Allgemeines EE 3
T Hibernate & Logging in Log4J Allgemeines EE 4
G Persistenz-Entscheidung (Entity Beans, Hibernate, JDBC) Allgemeines EE 12
S Hibernate 2.x mit Eclipse 2.1 Allgemeines EE 16
D Problem mit Update von ApacheHttpClient von 5.2 auf 5.3 Allgemeines EE 10
D Problem mit redundanten Servern Allgemeines EE 7
Azemaria JSF: Problem bei der einfachsten Applikation Allgemeines EE 2
P JPA Internal Problem Nullpointer Allgemeines EE 10
S MessageDrivenBean Problem beim Zugriff auf Stateful EJB Allgemeines EE 2
M Glassfish Deployment-Problem unter Eclipse Allgemeines EE 0
B Problem beim Lesen des Codes... Allgemeines EE 2
R JPA Problem beim Speichern eines Users Allgemeines EE 2
S WebSocket Problem Allgemeines EE 0
F Eclipse/Java EE Debug-Problem Allgemeines EE 1
G Problem: Servlet in JSP einbinden mit <jsp:include> Allgemeines EE 3
Raidri [SEAM] rich:dataTable sortBy Problem Allgemeines EE 6
T Problem mit den Beispielen von Apache Allgemeines EE 5
W JSF Validator Problem HTTP Status 500 Allgemeines EE 2
E JBoss 7.1 Datasource Problem Allgemeines EE 2
M JSP Problem -unbestimmte Anzahl von Werten Transportieren Allgemeines EE 9
S Problem mit EJB Verständnis Allgemeines EE 4
B Problem beim einbinden einer CSS in eine JSP Allgemeines EE 8
F JSP Problem mit Datenbankanbindung über Glassfishserver Allgemeines EE 4
S java Entities Problem Allgemeines EE 19
S Embedded JBoss Problem beim Deployment Allgemeines EE 4
E Session Problem Allgemeines EE 9
F problem mit nullpointer bei DB zugriff Allgemeines EE 2
ruutaiokwu jboss problem - work-verzeichnis muss manuell gelöscht werden??? Allgemeines EE 5
Stillmatic sendRedirect Problem! Allgemeines EE 3
M Problem mit Lookup auf EJB3 mit Glassfish Allgemeines EE 11
0 Problem mit librarys javax.servlet.http.HttpServletRequest cannot be resolved Allgemeines EE 1
X JBoss InitialContext problem Allgemeines EE 5
LordZed Problem mit dem einbinden von Bibliotheken, die sich gegenseitig verwenden Allgemeines EE 5
H GWT Problem beim Ausführen Allgemeines EE 8
Q Problem mit JMS und Weblogic 10 Allgemeines EE 5
E Performance-Problem beim ersten Request Allgemeines EE 4
G Multi User Problem Allgemeines EE 8
G Datasource Problem Allgemeines EE 1
J OOP Java Array Problem Allgemeines EE 2
T Problem mit Java Transaction API Allgemeines EE 2
D Problem mit EJB: Bean soll Objekt eigener Klasse zurückgeben Allgemeines EE 2
N JavaMail Problem Allgemeines EE 4
N JBoss Problem mit Bibliothek in unterschiedlichen Versionen Allgemeines EE 2
A Tomcat -- JSP: komisches Problem Allgemeines EE 11
B Problem mit ActionListener Allgemeines EE 13
G Simples JSF-Projekt in Eclipse - Problem Allgemeines EE 9
O eclipse - tomcat: Problem bei einfachem Webservice Allgemeines EE 16
J Problem mit EJB Aufruf und DualCore Rechner Allgemeines EE 4
J ejb3.0 datenbank problem Allgemeines EE 2
J Problem mit Zurück-Button Allgemeines EE 2

Ähnliche Java Themen

Neue Themen


Oben