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 Sam Aaron on Aug 30, 2007
This article is the second in the Ruby x Agile series, documenting a set of six short videos exploring the relationship between Ruby and Agile methodologies. Our first article covered why Ruby and Agile are a good combination.
The videos feature a discussion between Ruby creator Yukihiro Matsumoto (Fellow, NaCl), self confessed ‘Agile agitator’ Kenji Hiranabe (CEO, Change Vision, Inc.) and Ruby proponent Shintaroh Kakutani (Service Providing Div. Programmer, Eiwa System Management, Inc.)
This part of the series starts with a discussion of the perceived focus shift from optimising for CPU efficiency, to optimising for programmer efficiency:
“Previously, CPU time was indeed precious but now human time is more precious and the focus has shifted to making human activity easier.”
They discuss the relationship between that as society’s increasing dependence on IT, and the associated programming cost. They conclude that the notion of using human power to save CPU time will become prohibitively expensive, and that the solution isn’t to increase the number of programmers, but to use better tools and practices:
“If we shift focus and work on the human side [of computing], no such number of programmers would be needed. I think that this concept is present in movements such as XP/Agile or Rails.”
“There has been a shift from machine-performance to human-performance.”
However, Matz believes that the only area left today where CPU efficiency should be prioritised is super-computing.
The video concludes with a discussion of the differences between the processes involved with traditional and agile software development. They describe that the traditional workflow iteration consisting of market research and planning, order, deliver, release (illustrated in first figure) takes between a quarter of a year to three years to complete. They believe that if you break the synchronous ordering of these workflow units into smaller asynchronous chunks, (illustrated by the inner loop in the second figure) it is possible to complete a full iteration between 1 week and 3 months.
"This turn around takes a quarter to one year or more, perhaps even as much as three years."

“When we transfer from this model (first figure), to this model (second figure), then this is Agile itself. The key to this is the synchronisation or match between strength of language, process and business.”
When asked to clarify what he meant by the concept of the “inner loop”, Kenji replied with the following deconstruction:
For more information you can watch the corresponding video in this series. The videos are in Japanese with English subtitles.
Agile Development: A Manager's Roadmap for Success
Case Study: IBM's Agile Transformation
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!
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