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 Jean-Jacques Dubray on Nov 16, 2007
I attended the Strategic Architecture Forum (SAF) that was held in Redmond earlier this week. The event is a series of presentations and roundtables. Bill Gates held a great Q&A session where he revealed he was in the REST + WS-* camp amongst other things.
I attended a presentation on Architecture Refactoring from Dragos Manolescu. Erik Meijer recently published an article which sets the context for Architecture Factoring and Refactoring:
As the world is moving more and more towards the software as services model, we have to come up with practical solutions to build distributed systems that are approachable for normal programmers.
Dragos works at the LiveLabs which are in charge of exploring disruptive technologies (Listas, PhotoSynth, Seadragon, Deepfish). He graduated from University of Illinois at Urbana-Champain shortly after Bill Opdyke established the foundations of Code Refactoring. He also worked at ThoughtWorks with Martin Fowler. Code Refactoring has become a great success story and pretty much every IDE supports it to a certain degree.
Dragos explained some of the challenges inherent to Architecture Refactoring as compared to Code Refactoring which relies on a series of assumptions:
that are simply impossible to make in the realm of Architecture Refactoring. He is looking at getting around them. His starting point is MSIL and creating MSIL to MSIL transformations that enable to cross process and development platform boundaries while offering more choices in terms in scalability, availability or security even well after the code was written within a monolithic architecture.
His first goals are to enable the multi-tier architecture refactoring and the injection of boilerplate code while removing accidental complexity due to particular choice of architecture and extending the reach of the platform. He is reusing as much as possible:
Dragos gave us 3 demos involving tier splitting refactoring (more information can be found here). He started with a monolithic application and simply by adding a [RunAt(server)] statement to an operation, the compiler generated the corresponding service and the application invoked that service automatically without any further coding.
The showed us the cross-tier debugging capabilities of Visual Studio.
He also showed how Asynchronous method calls could be implemented just as elegantly without having explicitly use a .Net Delegates
He also showed that Architecture Refactoring was possible for web applications even though we would be using:
Dragos recommended to watch Erik Meijer's presentation on Volta: Wrapping the Cloud with .Net
Volta is an evolving research project focused on exploring ways to innovate data-intensive programming models. Volta is currently exploring a lean-programming inspired toolkit for building web-based and mobile applications by stretching the .NET programming model to cover the Cloud.
Sami Jaber published last month a list of references for the project which included this one from Mary Jo Foley who provided some more context for the project last April.
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