SQL Zone is brought to you in partnership with:

Mitch Pronschinske is a Senior Content Analyst at DZone. That means he writes and searches for the finest developer content in the land so that you don't have to. He often eats peanut butter and bananas, likes to make his own ringtones, enjoys card and board games, and is married to an underwear model. Mitch is a DZone Zone Leader and has posted 2574 posts at DZone. You can read more from them at their website. View Full User Profile

Gear6's Memcached Adds the Best of Both Worlds: MySQL and NoSQL

04.12.2010
| 11784 views |
  • submit to reddit
One technology that continues to push the limits of data caching and massive web persistence is Gear6's Web Caching Server.  Think of Gear6 Web Cache as a Memcached distribution on steroids.  It can run in the datacenter or the cloud (EC2, GoGrid) while reducing latency and increasing application performance for large Web 2.0 properties.  Today, Gear6 announces the completion of a whole new layer of persistence in their Web Cache solution.  DZone spoke with Joaquin Ruiz, the VP of Products at Gear6, and Mark Atwood, the Director of Community Development, about the new capabilities in Web Cache.

Redis Integration

Gear6's focus was initially on expanding the capabilities of Memcached and its ability to quickly onboard and manage dynamic data.  In their research of modern web architectures, Joaquin Ruiz said Gear6 had found many web developers who wanted to persist their mountains of unstructured data in their natural form, instead of force fitting it into an RDBMS.  Persistence was especially important with ad-driven sites, said Ruiz.  "They were storing hundreds of millions of cookies and they didn't want to instantiate a SQL-driven data structure behind that," said Ruiz

Now Gear6 has shifted its focus towards accelerating structured MySQL data sets in their Memcached server and deploying a NoSQL architecture.  Today's release of Gear6 Web Cache integrates their Memcached interface with operational query capabilities and a NoSQL backend.  Gear6 decided to use the key-value store Redis because it already had traction among NoSQL users.  Mark Atwood said that Gear6 chose a key-value store (as opposed to a document-store or graph database) because it is simple work with.  "Cassandra and CouchDB are very usable and useful, but they're not as straightforward as a key-value store," said Atwood.  Gear6 wanted a technology that developers from many different backgrounds could pick up and work with.  

Ruiz said, "Web 2.0 domains are looking at putting this scalable web framework around their existing software architectures, and [using Gear6] they have a choice of where they want to put data according to their needs."  According to the IDC, non-relational data sets are growing 3 to 4 times faster than relational sets, and in-memory data manipulation is important for providing meaningful access to that data.  Web Cache users will have the ability to put tabular data in an RDBMS and put less-structured key-value data into Redis.  Currently, Redis can be used to build, develop, and deploy Dynamic Data Services.  The Redis integration will include advanced data operations.

Operational Query Capabilties
Advanced Memcached query capabilities are another major addition to today's release.  In addition to standard key queries, Gear6 Memcached now includes native parallel queries on regex key and value matches.  Gear6's new persistence capabilities also provide the ability to snapshot, import, and export cache data, which reduces the time required for cache warm-up and recovery.  Caches can also be queried at DRAM speed and queries can be issued specific keys or regular expression matches on keys or values. Gear6 has also added synchronization for WAN and N-Way, which enables Memcached data replication across multiple Memcached servers and clusters in clouds or datacenters.  

Memcached's  dynamic services support has also been enhanced with elastic sizing, which lets you shrink an active Memcached poolcache without losing cache data.  Regular Memcached can't do this because it must run rehashing functions.  Gear6 rounds out this release with support for:

  • Memcached binary protocol
  • RightScale
  • Eucalyptus

Ubuntu and CentOS Support

In a separate announcement, Gear6 said that their Memcached distro is now available as a DEB package for Ubuntu and Debian, or as an RPM format for Red Hat Enterprise Linux and CentOS.  These packages support:
  • Ubuntu 10.04 LTS (Lucid Lynx)
  • Ubuntu 8.04 LTS (Hardy Heron)
  • Ubuntu 9.10 (Karmic Koala)
  • Debian 5.0
  • CentOS 5.3/5.4
  • RHEL 5.3/5.4

Moving Forward
Gear6 sees a lot of replication going on in the cloud, not just as an availability mechanism, but also for distributing data.  For its upcoming releases, Gear6 is working on a dynamic data bus for more flexible data migration services between different clouds and datacenters.  Ruiz says they're seeing a lot of hybrid operations in web enterprises right now.

Since their last release, Gear 6 has announced dozens of new enterprise web customers for their 'Memcached in the Cloud' Web Cache service.  There are hundreds more who have tried Gear6's free services.  The Gear6 Amazon pricing model can be found in this article.