Feeds

XML daddy eyes code riding storage metal

The 'stressed stack' future

Boost IT visibility and business value

QCon 2009 Tim Bray, co-inventor of XML and Sun Microsystems’ Director of Web Technologies, found himself manning “the hangover slot” to give the morning keynote at day two of the Qcon developer conference in San Francisco on Thursday.

“And dear god, I’m going to be talking to you about storage,” he said to his limp-but-game audience. “Congratulations for having the fortitude to come out for this.”

A lot of the storage ground rules are changing, Bray said. The buzz is around the evolution of the metal: “spinning rust” versus “volatile silicon,” hard drives versus solid-state drives (SSDs). But it is new approaches to the “stressed stack” of software riding on that metal that developers should be watching: the app code, the object-relational mapping (ORM) layer, the DB engine, the OS and file systems, the underlying caches. Some version of this stack exists behind most big Web sites today, he said. “Unfortunately, a lot of this stuff sucks,” he said. “It’s painful and difficult and we need to find better ways. Fortunately, there are better things on the horizon.”

Bray gave attendees a look at some of the changes he sees “out there in the discipline” manifesting in some tools, trends, and technologies that should be on their radar. Among them:

  • Memcached: a high-performance, distributed memory object caching system designed to speed up dynamic web applications by alleviating database load. Danga Interactive developed memcached to enhance the speed of its LiveJournal.com. The site reports 20 million-plus dynamic page views per day for a million users. “This is not theory, but practice,” he said. “A large portion of the world’s highest performing Web sites are running this thing. And there are lots of competitors out there, too.”
  • ActiveRecord: A Ruby library delivered as part of the Rails framework. It allows Rails to interact with a database without the need for database-table-to-object mapping. ORM, which really sucks, is based on decades-old thinking, Bray said. “Up until four or five years ago, there were many people, myself among them, who started to think that OR mapping was a bad idea,” he said. “Then ActiveRecord came along and changed a lot of minds. It got a lot of things right and allowed people to deal with things in a more idiomatic way.”
  • Drizzle: A new, light-weight derivative of MySQL that relies on best-of-breed internal libraries and eliminates support for obsolete platforms. The project is lead by Brian Aker, a principal engineer for MySQL at Sun, who forked the popular open source DB to create a database optimized for cloud and web applications. Bray called Drizzle “the most interesting database project going right now.”
  • The Apache CouchDB Project: Written in Erlang, it’s a distributed, document-oriented DB accessible through a RESTful HTTP/JSON API. It features robust, incremental replication with bi-directional conflict detection and resolution. And it’s queryable and indexable using a table-oriented view engine with JavaScript acting as the default view definition language. “After a while, we started to think, maybe the database doesn’t have to be 100 percent relational,” Bray said. “And that’s why we’re seeing a big splash with these kinds of document-oriented databases. The notion of having views expressed in Java rather than SQL is compelling. I’m infatuated with it. Other grizzled geeks are infatuated with it.”
  • Gemstone’s Maglev: Bray called it “Ruby that scales.” It’s an implementation of Ruby that sits on top of the company’s Smalltalk engine. “Those Gemstone guys are making a fairly heroic run with this thing,” Bray said. “They want to get Ruby on their Smalltalk VM and make Rails run a hundred times faster, simply by not doing the OR mapping, to make ActiveRecord into an empty shell. So far it’s mostly just hand waving and attractive talk, but they are well worth watching.”

What is the future of the stressed stack? “It’s all a moving target,” Bray said. “But that means it’s a good time to be in this business. Time was if you were building a serious, non-trivial, web-facing application for people paying real money, you had to use Java EE or .NET, and the OR that came out of the box, and Oracle, and this and that and the other. These days, you don’t have to do any of that stuff, and people won’t look at you like you’re crazy. And that’s a good thing.” ®

5 things you didn’t know about cloud backup

More from The Register

next story
Why has the web gone to hell? Market chaos and HUMAN NATURE
Tim Berners-Lee isn't happy, but we should be
Microsoft boots 1,500 dodgy apps from the Windows Store
DEVELOPERS! DEVELOPERS! DEVELOPERS! Naughty, misleading developers!
'Stop dissing Google or quit': OK, I quit, says Code Club co-founder
And now a message from our sponsors: 'STFU or else'
Apple promises to lift Curse of the Drained iPhone 5 Battery
Have you tried turning it off and...? Never mind, here's a replacement
Linux turns 23 and Linus Torvalds celebrates as only he can
No, not with swearing, but by controlling the release cycle
Scratched PC-dispatch patch patched, hatched in batch rematch
Windows security update fixed after triggering blue screens (and screams) of death
This is how I set about making a fortune with my own startup
Would you leave your well-paid job to chase your dream?
prev story

Whitepapers

Best practices for enterprise data
Discussing how technology providers have innovated in order to solve new challenges, creating a new framework for enterprise data.
Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
Advanced data protection for your virtualized environments
Find a natural fit for optimizing protection for the often resource-constrained data protection process found in virtual environments.
How modern custom applications can spur business growth
Learn how to create, deploy and manage custom applications without consuming or expanding the need for scarce, expensive IT resources.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?