High Performance with Distributed Caching

High Performance with Distributed Caching

High Performance with Distributed Caching Key Requirements For Choosing The Right Solution High Performance with Distributed Caching: Key Requirements for Choosing the Right Solution Table of Contents Executive summary 3 Companies are choosing Couchbase for their caching layer, and much more 3 Memory-first 4 Persistence 4 Elastic scalability 4 Replication 5 More than caching 5 About this guide 5 Memcached and Oracle Coherence – two popular caching solutions 6 Oracle Coherence 6 Memcached 6 Why cache? Better performance, lower costs 6 Common caching use cases 7 Key requirements for an effective distributed caching solution 8 Problems with Oracle Coherence: cost, complexity, capabilities 8 Memcached: A simple, powerful open source cache 10 Lack of enterprise support, built-in management, and advanced features 10 Couchbase Server as a high-performance distributed cache 10 General-purpose NoSQL database with Memcached roots 10 Meets key requirements for distributed caching 11 Develop with agility 11 Perform at any scale 11 Manage with ease 12 Benchmarks: Couchbase performance under caching workloads 12 Simple migration from Oracle Coherence or Memcached to Couchbase 13 Drop-in replacement for Memcached: No code changes required 14 Migrating from Oracle Coherence to Couchbase Server 14 Beyond caching: Simplify IT infrastructure, reduce costs with Couchbase 14 About Couchbase 14 Caching has become Executive Summary a de facto technology to boost application For many web, mobile, and Internet of Things (IoT) applications that run in clustered performance as well or cloud environments, distributed caching is a key requirement, for reasons of both as reduce costs. performance and cost. By caching frequently accessed data in memory – rather than making round trips to the backend database – applications can deliver highly responsive experiences that today’s users expect. And by reducing workloads on backend resources and network calls to the backend, caching can significantly lower capital and operating costs. All distributed caching solutions solve for common problems – performance, manageability, scalability – in order to gain effective access to data in high-quality applications. Figure 1: The three common requirements for distributed caching solutions High performance is a given, because the primary goal of caching is to alleviate the bottlenecks that come with traditional databases. This is not limited to relational databases, however. NoSQL databases like MongoDB™ also have to make up for their performance problems by recommending a third-party cache, such as Redis, to service large numbers of requests in a timely manner. Caching solutions must be easy to manage, but often are not. Whether it’s being able to easily add a new node, or to resize existing services, it needs to be quick and easy to configure. The best solutions provide graphical user interfaces and REST APIs to help keep things manageable. Elastic scalability refers not only to the ability to grow a cluster as needed, but also refers to the ability to replicate across multiple wide area cluster networks. Cross datacenter replication is a feature that is either missing or very poor performing across many caching technologies. To achieve this scalability, several products often have to be glued together, thereby decreasing manageability and greatly increasing cost. Companies are choosing Couchbase for their caching layer, and much more Couchbase Server is a great fit for many caching scenarios. More than 400 enterprises – including eBay, PayPal, LinkedIn, Intuit, Viber, and many others – have deployed Couchbase Server for mission-critical applications. So why have they chosen Couchbase 3 over the alternatives? It’s not only for the caching capabilities but also for other powerful features, a few of which are described here. Caching solutions are built to solve the problems mentioned above. Many are merely key-value stores with in-memory capabilities and some ability to scale out. However, their overall architecture prevents them from being much more than that. Couchbase was architected to solve the core problems that are often related to caching but are really just standard performance and scalability issues. Additionally, Couchbase addresses challenges relating to high availability for applications as well as comprehensive durability for data with failover options. There are four particular capabilities that are core to Couchbase and that serve as the foundation for all the other capabilities of the database. Memory-first Couchbase has a memory-first architecture – it can run as a pure in-memory database, letting applications get the fastest possible access to data without hitting a disk. It can also service data beyond the size of memory, using efficient data access methods that keep memory loaded with the latest updates. Couchbase is a high-performance and flexible caching solution that makes the most out of the resources that are available on each node. Incidentally, it is also an easy upgrade for those moving from Memcached – they can simply drop-in Couchbase as a full replacement and instantly gain several advantages while also maintaining in-memory performance as well as adding many other advantages. Persistence Although in-memory capabilities are available, that does not mean that Couchbase only operates in memory. Eventual data persistence is integral to Couchbase and provides the added benefit of data durability that enterprises demand. For those who are simply using Couchbase as a cache, they benefit from not having to reload the cache every time they either need to adjust their infrastructure or respond to a system failure – the data remains available as expected. Elastic scalability In-memory caching solutions should not require you to scale up your hardware to keep pace with your data volumes. Couchbase allows you to easily scale out your cluster with commodity hardware when you want to share the workload or distribute data resources. Enterprise users demand this functionality as it minimizes infrastructure expenditures. Similarly, different kinds of workloads in Couchbase can be isolated from each other depending on need. If you need to improve performance for one aspect of Couchbase, for example the query service capabilities, then you only need to add more query nodes. Likewise, if you have more data but don’t need to scale querying capabilities, you can selectively add more data nodes. This is referred to as Multi-Dimensional Scaling (MDS) and allows users to isolate their workloads while also incrementally increasing access to more cluster resources as needed. Other solutions require you to overprovision new hardware resources in anticipation of future problems, but that is not required with Couchbase. 4 Replication When you combine the in-memory, elastic scalability, and persistence capabilities of Couchbase you have a very powerful platform. But today’s enterprise demands require even more. In order to service the high availability needs of large users, a solution for replicating not only across multiple nodes, but also across multiple clusters, is required. Intra-node replication is done at the speed of memory and local persistence of replicated data is performed rapidly. Couchbase also offers intra-cluster replication that is very efficient and serves as a way to keep data both highly available and local to application servers in different geographic regions. Cross datacenter replication (XDCR) is one of the most powerful features of Couchbase, and is easy to use and set up through a graphical web administration console. Varying types of replication topologies – including master-master – are supported, providing many options for keeping data highly available and easy to access. More than caching When you combine all the above architectural advantages of Couchbase you have the most comprehensive, high-performance NoSQL database platform to build on top of. While caching is an obvious use case to get started, there is so much that is possible once your data is in Couchbase. By caching frequently Other features include SQL-like querying using the Couchbase NoSQL query language used data in memory (N1QL) – effectively letting you query JSON data without having to enforce a schema or – rather than making database round trips transform your data to behave a certain way just to get answers to queries. and incurring disk io More advanced real-time analytic queries are also possible as well as full-text searches. overhead – application Many developer-centric features exist in Couchbase, from server-side event processing, response times can be dramatically improved, operation tracing, and automatic application failover between clusters. typically by orders of These are all features that the most demanding enterprises require for effective data magnitude. management. The remainder of this paper explores these concepts further and contrasts them with other solutions within the overall context of caching solutions. About this guide Based on Couchbase’s experience with leading enterprises, this guide: • Explains the value of caching and common caching use cases • Details the key requirements for an effective, highly available distributed cache • Explains differences in capabilities across Oracle Coherence, Memcached, and Couchbase Server • Describes how Couchbase Server provides a high-performance, low-cost, and easy-to- manage caching solution 5 Memcached and Oracle Coherence – two popular caching solutions Memcached and Oracle Coherence are a small part

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    14 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us