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 Werner Schuster on Jun 30, 2010
Google App Engine's (GAE) Java support allows developers to use some JVM-based languages like JRuby. Users of JRuby 1.5, need to make sure they're running JRuby 1.5.1, the latest release that fixes problems on GAE.
JRuby users on GAE will encounter some of the limitations that GAE imposes, eg. the lack of a relational database, which means using DataMapper instead of ActiveRecord. For some more tips on JRuby on GAE see an article on the basics of JRuby on GAE and an example of full text search running on GAE.
One limitation of JRuby is the lack native extension support, which means that a group of libraries is off limits for JRuby developers, unless someone took the time to port the native parts to Java.
A few months ago, Wayne Meissner started work on a project that would allow to run many native extensions in JRuby. Not all of them, simply because some extensions rely on MRI implementation details that can't (easily) be reproduced in JRuby. Nevertheless, supporting only the well behaved native extensions could already help many users.
A project in the Ruby Summer of Code, by Tim Felgentreff, is now trying to continue the work on getting native extensions to work in JRuby. The project's progress can be seen by following the commits on Tim's JRuby fork on GitHub.
If you're a GAE user, native extension support won't be useful since there's no native code on GAE - but for all other JRuby users: which native extensions do you miss?
Why NoSQL? A primer on Managing the Transition from RDBMS to NoSQL
Getting Started with Stratos - an Open Source Cloud Platform
Mobile and the New Two-Tiered Web Architecture
Improve Java Garbage Collection, Runtime Execution, and JVM visibility with Zing
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