Replacing Memcached for Scalability
Are you dealing with memcached problems like cold cache, heavy contention of RDBMS resources and lack of scale-out flexibility? Couchbase Server, a NoSQL database, can be used as a drop-in replacement for your memcached tier to address these challenges.
What’s the difference between memcache vs. memcached?
The short answer is: nothing. The longer answer is that, because memcache is executed in the background on Linux systems (and is thus considered a “daemon”), the program file used to start the software is named memcached to follow daemon naming conventions. So, technically, memcache refers to the software and memcached refers to the name of the program file. But most people simply use memcached to refer to both at this point.
How do you pronounce memcached?
Is it memcached (as in ‘I just cached it’) or is it memcache-dee? Both are used widely in technical circles, but if you hold to its UNIX roots, you would pronounce it “memcache-dee.”
|Cold Cache||Slowdown or collapse of the data service layer due to heavily overloaded RDBMS when memcached nodes go down (on failure or for maintenance)||Data is automatically replicated across the Couchbase cluster, providing high availability of data even on failures|
|Heavy RDMBS Contention||Multiple requests for data items that do not exist in the cache results in sudden shifting of load to the relational database causing heavy contention||By replicating data across the cluster, Couchbase Server provides consistent performance without shifting load to the RDBMS layer|
|Lack of Scalability||Adding or removing memcached nodes is complicated and causes unpredictable application performance degradation||Auto-sharding and online rebalancing in Couchbase Server provides easy non-disruptive expansion of the cluster|
|Complex Monitoring||Management of individual memcached nodes increases the complexity of operations and lacks a single consistent view of the caching layer||Couchbase Server provides an in-built admin console for cluster wide management and monitoring as well as RESTful APIs for easy automation and third-party integration|
The architecture diagram below depicts a memcached environment before and after the caching tier is replaced by Couchbase Server.
One of the use cases of Couchbase Server is to function as a caching layer within a typical web-based architecture, as shown above. The low latency, consistent performance and linear scalability of Couchbase Server make it suitable as a memcache tier replacement; its built-in caching technology enables sub-millisecond response times that match those of memcached.
Data in Couchbase Server is automatically partitioned and distributed across cluster nodes. Each node in the Couchbase cluster is identical and data is replicated across the nodes so that each node stores both active and replica documents. Couchbase clients are topology-aware and automatically route requests directly to the appropriate node.
Additionally, the admin console in Couchbase Server enables you to monitor and manage at the cluster level (not the server level, as with memcached), simplifying your system management and operations, and saving you time.