Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java applications on Oracle Exadata

For reasons that are beside the point, a company has bought an Exadata Eighth Rack. Some of the managers thought that this would improve performance of current applications. The problem is that hardly any application makes intensive database work (yes, this is a good moment for looking at facepalm animated gifs). So, at the moment, migrations have proven just little benefit.

The question is obvious. Most of the applications are written in Java, and some of them make intensive use of Solr and Cassandra. For what I know, Exadata is intended for storing data, while Exalogic can hold applications too. Anyway, I'm wondering if there is some way of taking advantage of mentioned infrastructure.

like image 567
sinuhepop Avatar asked Sep 19 '13 15:09

sinuhepop


2 Answers

Replace Solr with Oracle Text.

Before I get down-voted: normally I would not recommend replacing existing code built with a popular, open-source program with a seldom-used, proprietary product. But if you want to use a lot of space and CPU on your database servers then Oracle Text can definitely help.

As more generic advice, the primary role of a database is not to store data. A file system can do that. Databases are built to join data. If an application is reading a large amount of data and doing ad hoc joins, those are the jobs you want to move to the database.

like image 178
Jon Heller Avatar answered Oct 03 '22 18:10

Jon Heller


Exadata -> Oracle Database extreme performance. Exalogic -> Fusion Middleware extreme performance. (Java goes here)

Your best move will be refactoring the application to put as much workload as possible on the DB (PL/SQL).

Another thing I could think of, but this would be a radical approach I have never really tried it myself (Yes I work with Exadatas too) maybe you can give it a shot and let us know here...

What about using all those GBs on the Exadata's RAM and start tuning your Java application's latency? I mean with that gruesome amount of Memory you can try and set a real nice amount of heap and avoid Garbage Collection induced latency. Please do let me know here what comes out if you actually try this.

like image 20
bubooal Avatar answered Oct 03 '22 17:10

bubooal