Membase and Drupal
by Jim Salem
Barry and I just met with a team from Northscale -- the startup formed to support and extend Memcached, the popular key-value cache used by the largest web sites. We learned about their new database project, Membase, and talked about how it could help high-volume Drupal sites including our Acquia Hosting customers.
Membase is built on the core Memcached technology and supports the Memcached API. I'm excited about what they've done to extend Memcached:
- Persistence: Today, while Membase includes its forerunner's fast in-memory key-value store, it also persists data to disk. If you reboot your Membase server, your data is not lost.
- Automatic Rebalancing: When a new server to added to a Memcached cluster, performance suffers while that server builds its caches from scratch. Membase fixes this by automatically transferring cached data from the existing servers to the new one.
- Multi-tier Storage Model: Membase's cache can be spread across multiple storage tiers: in-memory, SSD, and disk. It moves the least used data to the slowest storage tiers.
- Replication: It supports both master-slave and peer-to-peer replication.
Membase looks to be a strong contender in the NoSQL key-value store arena. Zynga is using it currently as a backend for their popular FarmVille game. I look forward to seeing how it compares to MongoDB and Cassandra. Like those DBs, I think it has great potential to accelerate highly-trafficked, write-intensive Drupal sites.
The NorthScale team is eager to work with developers who want to use Membase as a backend for their Drupal modules or caches. At Acquia we're in the midst of adding standard Memcached support for customers on our Acquia Hosting platform (which is also used by Drupal Gardens). We're looking at extending this to also include Membase as well. Please comment if you have used or are considering Membase for your Drupal site.