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 Scott Delap on Jan 03, 2007
What follows started out as a single bullet point from a list of predictions for 2007. It somehow went awry. As such, you would do well to consider this piece with roughly the same amount of seriousness as would be given to any other tech prediction article.Java is going into 2007 with a number of interesting developments at the JVM level. November brought the official open sourcing of Java under the GPLv2 license. Sun also continued to warm to alternative languages on the JVM with the hiring of JRuby developers Charles Nutter and Thomas Enebo.
Ryan's indepth analysis is summarized here:
Java will Eventually Not Suck - Java will become more available on Linux and BSD packaging systems with the GPL announcment. JRuby will be able to run under rough performance and feature parity with CRuby.
Java: A Better C - All Java has to do is be better than C at some of the things C does now. Examples of tasks C handles today for web developers: webservers (httpd, lighttpd), language interpreters (python, perl, ruby, php), lower level support (libxml2, openssl, ImageMagik, cairo, glib). Java's advantage over C ... lack of malloc(3) and free(3).
Ruby: Just Because - If classes have a class, I'll take it over Java. So why Ruby? ... It hasn't failed yet. I mean, Jython's been around for a long time, seems to have lost steam, and the original author was hired by Microsoft for his work on IronPython ... The Perl guys are busy on their own VM ... Ruby is cool right now. I don't pretend to understand the mechanics of cool but Ruby is it - for the time being, anyway. Whether that makes sense or not is irrelevant; with hype comes real and tangible benefits.
How this plays out in 2007 - In Java land, people start taking Ruby seriously as an alternative to The Java Language on the JVM in a way that Jython, Groovy, and other dynlangs never accomplished ... Ruby's impact on the Java community will be almost entirely due to JRuby ... That is to say, Ruby's adoption by Java heads on Java projects won't have as much to do with the GPL and better packaging support as it does with the virtues of the Ruby language and the JRuby interpreter ... Suns increased financial support for, and clueful positioning of, the Ruby language in the Java ecosystem will also be critical ... By the end of 2007, much of the Ruby web development community will consider the JVM to be a viable runtime environment.
On The Other Hand - Things could be horribly different. Sun could marginalize Ruby the same way it has marginalized every other language that's tried to run on the JVM in the past. ... The Ruby community could reject Java because of its historically poor reputation among hackers. The larger Java community could reject Ruby as a kiddy language.
Other industry 2007 predictions on Ruby and Java are mixed. Yakov Fain a noted Java and Flex Expert wrote "Ruby and Ruby on Rails won’t make it in 2007 either. I still do not see a compelling reason to switch." OnJava.com's Chris Adamson however includes dynamic languages such as Groovy and JRuby on the JVM as an area to watch.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
Improve Java Garbage Collection, Runtime Execution, and JVM visibility with Zing
In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!
Personally I'd prefer a Java/ Groovy co-op, just because they 'fit' better in terms of interoperability and learning curve. With Groovy's 1.0 release and projects like Grails, hopefully it will be 'taken seriously.'
Either way, any dynamic language support on the JVM will be better than none.
why bother posting an almost complete rehash of somebody else's content?
I don't get it. I'm sure that for blue sky projects, Ruby/RoR is incalculably better than Java 1.4 and a full blown EJB 2 solution (eg Java two years ago), but nothing stands still. Java's de facto position seems to be "the contemporary COBOL" and that is fine, considering the incredible vibrancy and size of the Java ecosystem. Ruby land seems more like somewhere for disgruntled Java programmers to go, and webblog editors to to mention to garner clicks. ;)
Ruby only seems to have one advantage compared to a language designed for maintaining large scale, team oriented projects, and that is lack of choice (which makes me envious), but even that is likely to change as Ruby grows and fragments.
Groovy is a more interesting proposition for a facile programming language since it directly leverages Java, but only if it can parallel Java going forward - if Groovy has feature X for two years, then Java adopts it but they are totally incompatible, it's just another different language and set of neat tools, like Ruby.
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.
3 comments
Watch Thread Reply