New-age Transactional Systems - Not Your Grandpa's OLTP
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Geoffrey Wiseman on May 23, 2007
On May 8th, 2007, Ethan Nicholas and Dennis Gu announced the Consumer JRE at JavaOne. Since JavaOne, a few more details have been released. In Announcing the Consumer JRE (again!), Ethan Nicholas gave an overview of some of the highlights, including a new installer, performance improvements, improved startup time and a modularized JRE. He also estimated the date by which most of these features will be available:
The Consumer JRE will be a Java 6 update release delivered in the first half of 2008.
Chet Haase followed up with an in-depth post that covers many of these same points, but in detail: Consumer JRE: Leaner, Meaner Java. He indicated that in order to aim for a rapid release, it's important that the changes for the Consumer JRE make changes that do not affect the API. He grouped the changes into these elements: Quickstarter, Java Kernel, Deployment Toolkit, Installer Improvements, Windows Graphics Performance, Nimbus Look and Feel.
On the Quickstarter, Chet Haase argued that the cold startup time (first invocation of the Java runtime environment after a reboot) is the problem with Java startup performance:
The fix, then, is for us to take advantage of the disk cache to make sure that the memory pages on disk that we must read at startup have already been loaded before we need them
When a consumer without a Java runtime environment tries to use a Java applet or application for the first time, the Java Kernel would allow them to download only those portions of the JRE that they need and then start using the applet/application while the rest of the environment downloads in the background. This could result in significant improvements to the download size:
Work is still ongoing on Java Kernel (Ethan Nicholas is madly cranking away at it), but initial results show that it is possible to cut the download size by over 60% for mid-sized Swing applications.
The deployment toolkit "is about enabling a much more powerful and ubiquitous system to run across multiple browsers and platforms, allowing developers to more automatically detect what the user has, what to do about it, and how to launch the application when Java is then installed." The graphics performance will involve using DirectX hardware-accelerated calls for more of the Swing primitives, resulting in better performance for "Swing applications simple and complex". The Nimbus look and feel provides "a more modern look for Swing applications".
Supporting Ethan Nicholas' statement that some of these feature will be available sooner than others, Chet Haase adds:
We will roll out some features as they are available, so that you don't have to wait for early 2008 to get everything here. For example, the improved installation experience should be out in update 2 of Java SE 6, which is currently set for late June.
For more information on Nimbus, the Consumer JRE and Java in general, stay tuned to InfoQ's Java community.
Improve Java Garbage Collection, Runtime Execution, and JVM visibility with Zing
Monitor your Production Java App - includes JMX! Low Overhead - Free download
Using Drools? See what you're missing! Get the Power of Drools with the Assurance of Red Hat
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
No comments
Watch Thread Reply