Close
  • Latest News
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
Read Down
Sign in
Close
Welcome!Log into your account
Forgot your password?
Read Down
Password recovery
Recover your password
Close
Search
Logo
Logo
  • Latest News
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
More
    Home Applications
    • Applications
    • IT Management

    Gear6 Does Memcached Right

    By
    Darryl K. Taft
    -
    October 8, 2009
    Share
    Facebook
    Twitter
    Linkedin

      Many of the Web’s busiest and most popular Websites, including Facebook and Twitter, have one thing in common that enables the sites to scale out to millions of users without a significant impact on performance: Memcached.

      First introduced by Djanga Interactive almost six years ago to scale out LiveJournal, Memcached is easily among the most popular open-source software projects in use today. And its use has been organic and widespread for so-called LAMP, or Linux/Apache/MySQL/Perl/PHP/Python sites.

      In April at the 2009 MySQL Conference, not one but three companies launched commercial Memcached offerings. Only one of them is taking a page out of the commercial open-source playbook. Similar to how Red Hat packaged a Linux distribution, Gear6 has packaged a Memcached distribution. The company recently hired Mark Atwood as its new Director of Community Development.

      Before joining Gear6, Atwood was a senior technology advisor at Sun Microsystems, working on Sun’s cloud computing strategy. Atwood also is an active contributor to the libmemcached and Drizzle projects. Atwood talked with eWEEK senior editor Darryl K. Taft about Memcached and why there is so much interest in it now.

      Q: What’s changed? Memcached has been around for six years, and suddenly it’s showing up everywhere now?

      A: The Web is more dynamic than ever. There are more people online doing social networking, communicating, gaming. The LAMP stack is starting to show its age for highly scalable applications, so a new Web-scale architecture is emerging, with a bunch of technologies coming together, including network caching, simple databases, key-value stores, queuing, job servers, and dynamic allocation of processing. Although no one’s sure where it’s going just yet, Memcached is going to be an important part of this.

      Q: How is Memcached used?

      A: The vast majority of top Websites use Memcached already. Databases can contain huge amounts of data, but for really high-performance Websites, they’re just too slow. Most of the data that you look up in a database, you’re going to be looking up over and over again. When a page gets rendered, the same data will be shown many times as you render similar pages over and over. As you browse through a site, most of the information displayed is not going to change from moment to moment, so it’s wasteful for the application server to look all this stuff up in the database at the same time, repetitively.

      One solution would be for an application server to keep a local cache, so it doesn’t have to look up data so often. But really large sites run multiple instances of their application servers, so they need a cache to share between them. And Memcached is the one that fits that problem most cleanly. It’s a very simple protocol that was designed to run on very affordable hardware. There’s not a lot of complexity or learning curve in writing to its API, so it really took off in this space.

      There are many other caching solutions but they’re all a combination of complicated and very expensive to use. Memcached hit a sweet spot being simple and free.

      Q: What attracted you to Gear6 and what will you be doing in your new role?

      A: I am going to be the face of Gear6 into the open-source communities that are part of this new Web scale architecture. These include Memcached, Gearman, Drizzle and libmemcached. Gear6 has a clear vision of how it wants to be positioned in this new Web stack, and I want to be part of it. It’s also exciting to me that commercial companies are beginning to form around Memcached. I am a big believer in open source and think I can help augment Gear6’s contributions to open source. It will be good for the company and for the open-source community.

      Q: What is the most interesting thing about Memcached today?

      A: Its amazing simplicity. It’s a very simple key value, or KV, store. KV stores are becoming very big and Memcached was there before people realized just how important they would become.

      The other interesting thing about Memcached is really how inefficient it is. It was written so simply and so quickly and it solved a need so well that no one realized how wasteful it was of the memory was on the machine it was running on. One of the things Gear6 brings to the game – at the cost of a great deal more thought and some careful engineering – is more efficient memory use. The Gear6 Memcached distribution is Memcached at the same speed and same API but a much smaller memory footprint.

      Q: You also contribute to Drizzle and libmemcached. How do they fit with Memcached?

      A: Libmemcached is a client library for Memcached mainly written by Brian Aker with input of many other people, including myself. It was written when Brian discovered that the existing C library binding for Memcached clients was slow and buggy, and so he felt the need to write a much faster, more efficient one, and now that’s becoming the basis for language bindings for many other languages. Python, Ruby and at least one of the well distributed Perl bindings use Memcached.

      Drizzle is a fork of MySQL 6.0. It was done with idea of being a re-architecting and an opportunity to revisit some decisions, maybe correct some mistakes. But instead of focusing on enterprise use of a database, that is, competing with Oracle, Drizzle is designed to run behind web and application servers. It’s designed to run on rack-mounted machines with many processor cores serving the kinds of queries that get asked by application servers building web pages. Drizzle is going to start showing up on high performance websites because that’s what it was designed to do, and Memcached shows up on these same implementations because it enables high performance websites.

      Q: Does this high performance extend to cloud applications?

      A: Cloud providers are either running a fair amount of Memcached or should be running a fair amount of Memcached under the hood for their own uses. I hope soon that they will be exposing a Memcached service to their users. Multi-tenancy support will be very important for that, allowing multiple people to use the same actual cache servers without interfering with each other. Gear6 has done some work on multi-tenancy support and I know that several of the developers in the open source community have been doing some work on this. My hope is that we can get everything aligned so that we have only one implementation to manage.

      Some people are resisting moving into the cloud because they can’t get high performance Memcached in their environment. They get medium performance Memcached by running the open source server on EC2 [Amazon Elastic Compute Cloud] nodes. Having a native Memcached in AWS [Amazon Web Services], Rackspace, Network.com or any of the other services is something that I would like to see happen.

      Q: What is your best advice about Memcached to LAMP developers?

      A: Design your applications to scale out. And design your applications to scale out. Don’t assume that you’re just going to get a bigger and bigger machine. Start with the assumption that you’re going to be running multiple instances of your application server talking to multiple shards or copies of your database and, of course, cache as much as you can in Memcached.

      Darryl K. Taft
      Darryl K. Taft covers the development tools and developer-related issues beat from his office in Baltimore. He has more than 10 years of experience in the business and is always looking for the next scoop. Taft is a member of the Association for Computing Machinery (ACM) and was named 'one of the most active middleware reporters in the world' by The Middleware Co. He also has his own card in the 'Who's Who in Enterprise Java' deck.

      MOST POPULAR ARTICLES

      Big Data and Analytics

      Alteryx’s Suresh Vittal on the Democratization of...

      James Maguire - May 31, 2022 0
      I spoke with Suresh Vittal, Chief Product Officer at Alteryx, about the industry mega-shift toward making data analytics tools accessible to a company’s complete...
      Read more
      Cybersecurity

      Visa’s Michael Jabbara on Cybersecurity and Digital...

      James Maguire - May 17, 2022 0
      I spoke with Michael Jabbara, VP and Global Head of Fraud Services at Visa, about the cybersecurity technology used to ensure the safe transfer...
      Read more
      Big Data and Analytics

      GoodData CEO Roman Stanek on Business Intelligence...

      James Maguire - May 4, 2022 0
      I spoke with Roman Stanek, CEO of GoodData, about business intelligence, data as a service, and the frustration that many executives have with data...
      Read more
      Applications

      Cisco’s Thimaya Subaiya on Customer Experience in...

      James Maguire - May 10, 2022 0
      I spoke with Thimaya Subaiya, SVP and GM of Global Customer Experience at Cisco, about the factors that create good customer experience – and...
      Read more
      Cloud

      Yotascale CEO Asim Razzaq on Controlling Multicloud...

      James Maguire - May 5, 2022 0
      Asim Razzaq, CEO of Yotascale, provides guidance on understanding—and containing—the complex cost structure of multicloud computing. Among the topics we covered:  As you survey the...
      Read more
      Logo

      eWeek has the latest technology news and analysis, buying guides, and product reviews for IT professionals and technology buyers. The site’s focus is on innovative solutions and covering in-depth technical content. eWeek stays on the cutting edge of technology news and IT trends through interviews and expert analysis. Gain insight from top innovators and thought leaders in the fields of IT, business, enterprise software, startups, and more.

      Facebook
      Linkedin
      RSS
      Twitter
      Youtube

      Advertisers

      Advertise with TechnologyAdvice on eWeek and our other IT-focused platforms.

      Advertise with Us

      Menu

      • About eWeek
      • Subscribe to our Newsletter
      • Latest News

      Our Brands

      • Privacy Policy
      • Terms
      • About
      • Contact
      • Advertise
      • Sitemap
      • California – Do Not Sell My Information

      Property of TechnologyAdvice.
      © 2021 TechnologyAdvice. All Rights Reserved

      Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.

      ×