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 Gavin Terrill on Mar 21, 2008
Antonio Cangiano has pulled together some interesting stats on Django, the Python web framework, and proclaims that it has reached a tipping point:
Django seems to have reached its tipping point, that critical mass which will enable its momentum to skyrocket.
Antonio used a numbers of sources for stats, including irc, google groups, and the TIOBE Index, and ran a comparison against Ruby on Rails.
| Python/Django | Ruby/RoR | |
| irc.freenode.net | 517/382 | 354/298 |
| newsgroup subscribers | 12,457/8,178 | 6,935/13,355 |
| messages for March | 1,244 | 2,890 |
| TIOBE Index (+/- delta since March) | 7 (+0.70) | 10 (-0.11) |
Commenting on the results, Antonio says:
By looking at these numbers, without any pretense of being too scientific in our comparative methods, we get the impression that the Rails community is almost twice as big as the Django one, which sounds about right. On the other hand we also get that the Python community is larger than the Ruby one (confirmed also by the irc results above).
Python in the enterprise has typically been regarded as more suited towards simple automation tasks and prototyping. That may change if Django has in fact reached a tipping point, particularly with Python implementations that that run on .Net and the JVM. For example, Tristan King recently demonstrated running Django on Jetty (a servlet container written in Java), and Dino Viehland got Django running on IronPython.
The publishing world has picked up on the interest in Django, as Antonio notes in his conclusion:
In my opinion the strongest indicators of Django’s increasing popularity come from the publishing world. You’ll see many books in print for a given topic, only if their publishers believe that there is a large enough market for them. In 2007 the following two books were published: Professional Python Frameworks: Web 2.0 Programming with Django and Turbogears
and The Definitive Guide to Django: Web Development Done Right
(available for free online). 2008 has only just started and already there’s been one Django title published (Sams Teach Yourself Django in 24 Hours
), with two further titles lined up: Practical Django Projects
and Python Web Development with Django
Monitor your Production Java App - includes JMX! Low Overhead - Free download
18 agile and lean practices for effective software development governance
Django is a great framework. Rails is a great framework.
The Django Book by Holovaty and Kaplan-Moss is one of the most well written tech books I've read recently. Even if you don't plan on writing any Django apps, I would recommend buying a copy.
That being said, this is a great example of finding a few numbers to reinforce one's preconceived assumptions about the state of the world.
Why should Django be compared to Rails at all? Why not compare to Java or .NET? Isn't this setting up Rails as the standard to which web frameworks should be judged?
And since when did an IRC population become an indicator of the viability of a framework? If so, do we have comparative statistics for the historical population of the Django and Rails IRC channels? It appears that this was a single sample from a specific point in time, not a scientific appraisal of the situation.
Hi Geoffrey,
I appreciate your comment and valid criticism, and was fully aware that this would be the most likely response from some readers. My article pointed out several indicators about Django's current size without claiming to be a scientific analysis. I said that several times in my article. I collected some "evidence" of Django's momentum and published it. My main point was about the attention that Django has been receiving all of a sudden by book publishers. The other numbers are in place to give a bit more perspective.
It's true, in order to talk about a tipping point, we should show before and after figures. Alexa, Compete, Google Trend and TIOBE did that. The figures regarding Google Groups and IRC did not, even though I distinctly remember a time when the Django channel wasn't that populated and the Rails one already had plenty of users. I don't have solid numbers, just a memory, so I avoided mentioning it in my short post.
Finally, the reason why I picked Rails as a comparison, is only because it's the main framework for a language similar to Python, it reached its tipping point back in 2005/2006 and it is not unreasonable to assume that Django may follow Rails' success story, even if to a minor extent. Java or .NET are in another league and comparing their popularity with that of Django would just tell us that Django is not mainstream yet, which we already know. Comparing the numbers for Django and Rails gives us some indication, albeit vague, of the relative size of the Django community.
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.
2 comments
Watch Thread Reply