The afternoon started off with a presentation on the result cache in 11G. It was held by Rob van Wijk.
DB result cache is a cache for the resultset of a query or a plsql block. If the same query is executed again with the same parameters, then the code is not executed, the same resultset is sent back.
There are two parameters that controls the result cache.
- result_cache_size_max_size
- result_cache_size_max_result
Size is the size of the cache in bytes and result sets it in pct. Presumably the lowest of them takes precedence.
There is a function (memory_cache) to report how the memory in the cache is used.
Status shows if the cache is enabled or disabled.
With the init-parameter result_cache_mode you can force the database to use the cache for all statements. This *may* be useful on session level, it is probably not useful on system level.
It is possible to specify on a table if it should be cached. For it to work, all tables in a query block needs to have caching turned on.
There are some v$-views that provides details about the statements in the cache.
- v$_result_cache_statistics
- v$_result_cache_objects
- v$_result_cache_dependency
Changes to NLS parameters are tracked so a query is treated as a different query if an NLS parameter is different than it was for the cached version of the query.
The relies_on keyword for PL/SQL is not needed after 11Gr2, such dependencies are figured out by the database if you skip specifying dependencies.
If you have uncommitted data in your session in a table you query, the cache will not be used as it would return invalid data.
It is a common misunderstanding that result cache and a deterministic function/procedure is essentially the same thing. They do have the same functionality, but in some cases a deterministic may run in 1/3 of the time a result_cached one does. The reason is a latch used for result_cache, but this ought to only be of practical use if you call something a million times and it runs extremely fast.
The last presentation for the day was supposed to be the keynote for database. Somehow that was not the presentation I ended up on as it barely mentioned database at all. Instead I found myself on Larry’s second keynote.
He began with talking about how building hardware and software pre-integrated like the exadata box is the future. He said that his best Friend is Steve Jobs and he has talked about it for a long time and considers it to be one of the keys to Apple’s success with device they have ever released.
Most industries work that way, a car manufacturer controls every piece that is used to build a car, it does not sell a car for which you buy an engine from someone else.
Larry then went on to talk about all the things that have been released during OOW.
Here is the list:
- Exalogic Elastic Cloud – Cloud in a box
- Exadata X2-8 – 8 sockets per node
- Fusion apps – 5 years of design and programming
- Oracle Linux unbreakable kernel
- Solaris 11 – next gen #1 UNIX
- SPARC – next gen high performance chip
- Java roadmap – esp vector graphics 2D and 3D
- MySQL 5.5 – huge performance increases
Oracles R&D budget is now over $4B per year and Larry states that he has no plan stopping there.
Larry made fun of Salesforce again. In his first keynote he said that salesforce is not cloud computing since it is not elastic and it is not virtual. If too many resources are used, salesforce starts killing the reports that users are running. Later the salesforce CEO said something like “Larry just doesn’t get it, clouds doesn’t run in a box”. Larry stated that typically you do need boxes to run software and when the CEO gets back to the office his technical staff will explain to him that software indeed runs on boxes. His monologue on this pulled down a lot of laughs and a lot of applause. The audience clearly sides with Larry Ellison and Jeff Bezos on what is cloud computing and what is not.
Larry then reviewed exalogic and exadata again. One interesting stat for the value was that Softbank has replaced a 60-rack Teradata with a 3-rack exadata. On top of the simpoler and cheaper solution it also made their applications 2-8 times faster (depending on the application).
The new exadata has very impressive specs. Among other things, it can fit 50 TB of data in flash with the 10x compression it achieves. Supposedly competing platforms doesn’t get anywhere close to 10x compression. The cost of one exadata is about 1/6 of a comparable IBM server.
Oracle Red Hat linux kernel was introduced ti improve performance and stability of linux. Oracle will still provide and support the Red Hat compatible kernel. But since redhat is now on a four year old kernel, it is not working as well as it could. The exadata machines uses the new Oracle Unbreakable Linux kernel. A client can chose which to boot up Oracle Enterprise Linux with. The measured speed improvement for the new kernel shows that it is 2-5 times faster on the operations they reported on.
The introduction of the new Fusion apps took up most of the presentation. It seems like all applications are being replaced. For example, it would seem that there is a new CRM that will replace Siebel, Peoplesoft, JD Edwards, and E-business suite.
It has been a massive project, possible one of the largest ever undertaken. They have created over 5000 tables and when these products are available to buy, the catalog with products form Oracle will have 100 new products.
Once Larry left the stage, people left in droves even though a demo of the new applications was what came next. The applications looked great to me, especially compared with what I have seen of the previous version. Even more impressive was the speed. The live demo showed very smooth operation even of things that you’d expect to be complicated.
That completed the presentations for Wednesday. After it we ventured into chinatown for dinner at Hunan Home’s Restaurant. They have been selected best chinese restaurant several times (2010 also) and everything we got there was superb. On top of that the owner had a great sense of humor and made a few jokes when passing by our tables during dinner.