Hallo,
und zwar würde ich gerne von euch wissen, wie ihr folgendes realisieren würdet:
Ich möchte mit Java eine Schnittstelle zwischen einer Website und den Datenbanken schaffen. Die Website ist in PHP geschrieben und generiert den Inhalt dynamisch. Die Website soll einen AJAX-request an die Java Schnittstelle liefern. Die Java Schnittstelle greift dann auf die Datenbank zu und verarbeitet sehr sehr viele Daten (bzw.: aus der Datenbank werden unter 100 Mio. Einträgen mehrere IDs ausgelesen). Die Schnittstelle muss dann noch mehrere Berechnungen durchführen und soll dann im JSON Format die Daten an die Website übergeben.
Anforderungen:
- Hochskalierbares System (Stichwort Clustering)
- Mehrere tausend Nutzer könnten evtl. gleichzeitig darauf zugreifen
- robust und gut erweiterbar
Um weitere Details zu geben:
Wahrscheinlich haben es schon ein paar mitbekommen- es handelt sich hierbei wieder um die Recommendation Engine für Filme. Die Schnittstelle soll die Korrelationen der Filme erfassen die folgendermaßen in der DB stehen:
item_id1 item_id2 corr
1 2 0.6
(ca. 100 Mio Datensätze)
Dann sollen noch die Korrelationen der Nutzer ausgelesen werden, die folgendermaßen in der DB stehen:
user_id1 user_id2 corr
1 2 0.6
(ca. 1Mio Datensätze)
Anhand der Ratings und Korrelationen sollen dann Empfehlungen entstehen und im JSON-Format zurückgegeben werden. Die genaue Berechnung existiert leider noch nicht, weswegen ich sie hier auch nicht aufzeigen kann
Also folgender Ablauf sollte enstehen:
Ajax Request der PHP Seite --> Schnittstelle liest aus DB aus --> Schnittstelle berechnet Empfehlungen --> Schnittstelle gibt Empfehlungen im JSON Format aus
Da dies relativ viel war, hier nochmal die Frage:
Mit welchen Systemen und Komponenten würde man soetwas realisieren? Habe mich schon mit Themen wie Hibernate,Hadoop,Tomcat,GlassFish,Tapestry,JSF,JSP beschäftigt aber komme auf kein zufrieden stellendes Ergebnis (mir ist bewusst, dass FW und Server gemischt sind^^).
Freue mich über Tipps und Anregungen
Gruß Fabian
und zwar würde ich gerne von euch wissen, wie ihr folgendes realisieren würdet:
Ich möchte mit Java eine Schnittstelle zwischen einer Website und den Datenbanken schaffen. Die Website ist in PHP geschrieben und generiert den Inhalt dynamisch. Die Website soll einen AJAX-request an die Java Schnittstelle liefern. Die Java Schnittstelle greift dann auf die Datenbank zu und verarbeitet sehr sehr viele Daten (bzw.: aus der Datenbank werden unter 100 Mio. Einträgen mehrere IDs ausgelesen). Die Schnittstelle muss dann noch mehrere Berechnungen durchführen und soll dann im JSON Format die Daten an die Website übergeben.
Anforderungen:
- Hochskalierbares System (Stichwort Clustering)
- Mehrere tausend Nutzer könnten evtl. gleichzeitig darauf zugreifen
- robust und gut erweiterbar
Um weitere Details zu geben:
Wahrscheinlich haben es schon ein paar mitbekommen- es handelt sich hierbei wieder um die Recommendation Engine für Filme. Die Schnittstelle soll die Korrelationen der Filme erfassen die folgendermaßen in der DB stehen:
item_id1 item_id2 corr
1 2 0.6
(ca. 100 Mio Datensätze)
Dann sollen noch die Korrelationen der Nutzer ausgelesen werden, die folgendermaßen in der DB stehen:
user_id1 user_id2 corr
1 2 0.6
(ca. 1Mio Datensätze)
Anhand der Ratings und Korrelationen sollen dann Empfehlungen entstehen und im JSON-Format zurückgegeben werden. Die genaue Berechnung existiert leider noch nicht, weswegen ich sie hier auch nicht aufzeigen kann
Also folgender Ablauf sollte enstehen:
Ajax Request der PHP Seite --> Schnittstelle liest aus DB aus --> Schnittstelle berechnet Empfehlungen --> Schnittstelle gibt Empfehlungen im JSON Format aus
Da dies relativ viel war, hier nochmal die Frage:
Mit welchen Systemen und Komponenten würde man soetwas realisieren? Habe mich schon mit Themen wie Hibernate,Hadoop,Tomcat,GlassFish,Tapestry,JSF,JSP beschäftigt aber komme auf kein zufrieden stellendes Ergebnis (mir ist bewusst, dass FW und Server gemischt sind^^).
Freue mich über Tipps und Anregungen
Gruß Fabian
Zuletzt bearbeitet: