Applications Java sur Oracle Exadata


Pour des raisons qui sont à côté du point, une entreprise a acheté un Exadata huitième rack. Certains gestionnaires pensaient que cela améliorerait les performances des applications actuelles. Le problème est que pratiquement aucune application ne fait fonctionner une base de données intensive (oui, c'est un bon moment pour regarder les GIF animés facepalm). Donc, pour le moment, les migrations se sont avérées très peu bénéfiques.

La question est évidente. La plupart des applications sont écrites en Java, et certaines d'entre elles font utilisation intensive de Solr et Cassandra. Pour ce que je sais, Exadata est destiné à stocker des données, tandis qu'Exalogic peut également contenir des applications. Quoi qu'il en soit, je me demande s'il existe un moyen de tirer parti de l'infrastructure mentionnée.

Author: sinuhepop, 2013-09-19

4 answers

Remplacer Solr parOracle Text .

Avant de voter: normalement, je ne recommanderais pas de remplacer le code existant construit avec un programme open source populaire par un produit propriétaire rarement utilisé. Mais si vous souhaitez utiliser beaucoup d'espace et de CPU sur vos serveurs de base de données, Oracle Text peut certainement vous aider.

Comme conseil plus générique, le rôle principal d'une base de données n'est pas de stocker des données. Un système de fichiers peut le faire. Les bases de données sont construites pour joindre des données. Si une application lit une grande quantité de données et effectue des jointures ad hoc, ce sont les tâches que vous souhaitez déplacer vers la base de données.

 3
Author: Jon Heller, 2013-09-19 17:29:16

Exadata -> Base de données Oracle des performances extrêmes. Exalogic -> Fusion Middleware performances extrêmes. (Java va ici)

Votre meilleur coup sera de refactoriser l'application pour mettre autant de charge de travail que possible sur la base de données (PL/SQL).

Une autre chose à laquelle je pourrais penser, mais ce serait une approche radicale Je ne l'ai jamais vraiment essayée moi-même (Oui je travaille aussi avec Exadatas) peut-être que vous pouvez essayer et nous le faire savoir ici...

Qu'en est-il de l'utilisation de tous ces GBs sur le La RAM d'Exadata et commencer à régler la latence de votre application Java? Je veux dire avec cette quantité horrible de mémoire, vous pouvez essayer de définir une vraie bonne quantité de tas et éviter la latence induite par la collecte des ordures. Veuillez me faire savoir ici ce qui sort si vous essayez réellement cela.

 1
Author: bubooal, 2013-09-20 05:55:42

Quel protocole les applications Java utilisent-elles pour se connecter à Oracle?

Si ce n'est pas IPC (inter process communication, aka LEGS, aka shared memory), mais peut-être TCP et que vous avez de nombreux allers - retours rapides et minuscules, ce serait votre fruit à portée de main-éliminer la pile réseau.

Edit: je viens de réaliser qu'exadata ne peut pas exécuter d'applications java par défaut (seul ODA le fait) - il ne serait donc pas possible d'utiliser IPC. Cependant, peut-être que vous êtes en mesure de tester le impact de l'IPC dans l'une de vos applications utilisant l'ancienne infrastructure?

 1
Author: HAL 9000, 2013-09-26 07:01:21

Exadata ne peut héberger aucune application client. Vous ne pouvez pas installer n'importe quoi là. Vous ne pouvez héberger Oracle database que sur Exadata. Cela signifie que vous pouvez utiliser des fonctionnalités de base de données telles que DBFS (file system over Oracle database), l'option Java (stockage et exécution de code java dans la base de données). Mais vous devez vérifier les options pour lesquelles vous avez une licence. Et la JVM interne est utilisée, qui ne peut pas être personnalisée ou mise à niveau.

Exadata est une appliance de base de données conçue pour fonctionner avec une grande quantité de accès aux données de manière très efficace et gérable.

 1
Author: Sergey Dmitriev, 2015-02-09 20:47:38