James Gosling Extols the Virtues of Hash Tables and RAM

James Gosling Extols the Virtues of Hash Tables and RAM

date:May 05, 2011

 

“I've never got it when it comes to SQL databases. It's like, why? Just give me a hash table and a sh*tload of RAM and I'm happy.”

            -James Gosling, BasementCoders Interview

That particular quote, which came from an interview James Gosling did with the basementcoders during JavaOne, seemed to capture more than a few people’s attention. The quote itself was heavily re-tweeted, while the assertion got many IT architects pondering the viability of loading everything into memory and removing the database servers from the enterprise landscape.

comment on this article

The initial assumption might be that this type of scenario is most feasible when talking about data that is largely read only, or where concurrency and consistency aren't huge issues. However, James Gosling was pontificating on the subject again at TheServerSide Java Symposium in Las Vegas in March, talking up the benefits of in-memory data storage; but this time 'The Father of Java' was extolling the virtues of this approach on highly transactional systems. 

“When I talk to people that have  high performance, highly transactional systems, there’s often this embarrassed pause when I ask how they are doing these many, many, many thousands of transactions per second. And all too often the answer is that it’s a hash table with a lot of RAM and a log file. And people tend to not think of RAM and Hash Tables as a database; but it is, and it works really, really well. And it’s not embarrassing.”

With half a terabyte of RAM, it's possible to clean up your enterprise architecture, Gosling said. Apparently, putting entire databases into RAM is one of his favorite tactics for consolidating databases. (You can hear Gosling's thoughts on the topic by listening to the media clip that accompanies this piece.)

According to Java Champion Jeff Genender, this approach to application design and scalability isn't necessarily a novel idea. "I have often seen it done. In fact, this is the primary basis for many of the NoSQL databases. If you have high volume loads of name-value pairs, such as a Facebook style implementation, then this approach makes sense. But if you have significant reporting needs, the relational approach is tried and true. Pick the right tech for the right problem." 

So, we're still a long way away from declaring the death of the database. While the "hash table and a sh*tload of RAM" approach has its definite applications, it's not going to replace relational systems any time soon. Quoting Jeff Genender once again, "There is a time and place for this technology versus normal SQL. But there is no hammer for every nail. It's all a matter of picking the right technology for the problem."

comment on this article


Read the full transcript from this video below:  

James Gosling Extols the Virtues of Hash Tables and RAM

James Gosling: One of the tricks that I find fun, is when I talk to people that have transaction
servers, really high performance transaction systems, often there is embarrassed pause,
and its like well, 'How are you doing these many, many, many thousands of transactions
per second?' All too often the answer ends up being, it is a hash table with a lot of RAM
and a log file. People tend to not think of RAM and hash tables as a database, but it is,
and it works really well and it's not embarrassing.

It is amazing how many big machines you can get rid of if you just put the whole
database in RAM. If you are lucky enough to have a system, where the database
will fit in under half a terabyte, because getting half a terabyte of RAM on a modern
server is actually not hard. For the last several years of Sun’s life, selling machines
with half a terabyte of RAM, was something we did way more often than I would have
ever expected. People will put a wiring diagram of Great Britain into RAM. It is not
stylish; it does not use any of the rocket science technologies. It just works, it works
really well, and it is one of my favorite ways to build stuff.

 

More on Java cloud platforms

  • canderson

    How is PaaS changing application servers?

    VIDEO - Chris Haddad, VP of technology evangelism at WSO2, describes cloud services like PaaS and how they are affecting application servers.

    ( Dec 09, 2011 )

  • canderson

    Ashesh Badani talks about systems convergence

    VIDEO - The explosion of data and cloud-based application deployments in businesses today are driving a convergence between event-driven architecture, business rules and business process management (BPM), said JBOSS middleware expert Ashesh Badani in an interview at JavaOne 2010. In this video, Badani -- Red Hat's senior director of JBOSS Enterprise Middleware -- connects the dots between these trends and practices.

    ( Sep 24, 2010 )

  • Web-based development tools face challenges

    News - At EclipseCon 2014, solutions architects discuss the challenges of Web-based development tools.

    ( Mar 28, 2014 )

  • Is it finally time to integrate a NoSQL solution into your enterprise apps?

    Feature - While relational technologies have been around for a while, NoSQL solutions have proven themselves out time and time again. Perhaps it's time to start seriously thinking about integrating a NoSQL solution into your next enterprise application.

    ( Mar 01, 2014 )

  • PaaS isn't just for DevOps anymore. Nor has it ever been.

    Tip - Somehow Platform as a Service (PaaS) has been pigeonholed as an arm of bleeding edge DevOps teams. If you think the only reason to use a PaaS play is to facilitate a DevOps approach to development, you're missing out on what the cloud has to offer.

    ( Jan 21, 2014 )

  • There is more to PaaS than just application deployment and management

    Tip - There is no doubt that various PaaS plays and cloud computing platforms have greatly simplified application management and deployment, but growth and survival has meant growing far beyond these humble beginnings.

    ( Jan 21, 2014 )

  • Become a NoSQL expert: Three best books for learning polyglot persistence

    Feature - The NoSQL movement has taken the industry by storm, and more and more applications are using polyglot persistence technologies. Are you up to speed on NoSQL? If not, here are three books that will make you an expert.

    ( Jan 20, 2014 )