In the past several months I have been familiarized myself with parallel computing products such as the CylicBarrier and CountDownLatch in Java 6, the Fork-Join in the upcoming Java 7, Map-Reduce and Google File System from Google, Hadoop from Yahoo, GridGains, In-Memory Data Grid (IMDG) such as GigaSpaces and Coherent, and Oracle Real Application Cluster (RAC).
I am really impressed by IMDG, which brings the data closer to, or be together with, your application logic so that you can achieve high throughput and also sometimes low latency.
By reading some white papers from Gigaspaces, I just feel the tier structure for enterprise applications are just leading me to the wrong direction, though many companies still follow it in order to have "scalable" performance.
If we can enjoy all of data bus, message bus and parallel computing bus together with in-memory access latency using GigaSpaces' so-called SBA, why do we still bother using multi-tier structure and frequently waiting for network and database related IO?
Will Oracle still be dominate in the next several years?