Compose Notes - Overview, Redis Cache and more

We've got a new user interface element and other changes which touch on every Compose database deployment featured in this Compose Note. There's also changes specifically for Compose Redis users concerning cache and import.

Overview enhanced

Regular Compose users will know that our Overview page for each database deployment has been steadily enhanced to put more useful information in front of you. This has meant that the page has become longer but it's all good information and it left us wondering how we could make it better without losing that useful information. Our solution, the Overview Summary:

Now you can see everything you need to know in one place. On one side, the Compose icon and name of the deployment. Then, starting from the top of the list, there's the database type and version. That's followed by the datacenter location and cloud provider (AWS or Softlayer currently) for the deployment.

Next is the status of the deployment which should be healthy, but if anything is awry, will show a summary of what has been detected. Below that is the Connection status - where a deployment uses the standard TCP or SSH portals their state will be shown while for other deployments, we currently just reflect the availability.

Next we show the storage or memory usage against what is provisioned for the deployment. These should be relatively close is autoscaling is taking place. To put that into context, below that is the Billing level if the deployment was maintained at its current level of resource usage for an entire month. It's there for guidance - your exact bill is calculated with an hourly pro rata calculation for the month.

The example shown above is for a MongoDB deployment and has an additional line showing what storage engine is: mmapv1 or WiredTiger. Redis deployments will show wether the deployment is configured for storage or cache mode. Other databases don't show anything extra currently, but this is where it will appear if needed in the future.

The blue circled arrows next to many of the Overview Summary fields are quick navigation links taking you to the relevant information on that page or to the appropriate control to adjust that setting, if it is configurable of course.

That gives you a quicker view of your database deployments, and a faster way to navigate to related settings.

Also...

If you regularly create new deployments, you may want to not see the "Getting Started" panel. It is, by default, displayed at the top of the overview for the first three days of a deployments existence. Now, there's a Dismiss button at the bottom of the panel to let you free up that screen space as soon as you want to and letting the new Overview Summary move to the top of the Overview.

Redis Storage/Cache Mode

Compose Redis has two modes; "Storage" mode is the default. In that mode, Redis operates as a high-performance in-memory store optimized for performance and data safety and expanding through autoscaling as needed. As more data arrives in the database, so its use of RAM goes up.

The "Cache" mode is the other setting. Here the auto-scaling is disabled and the Redis database does not expand. That means it gets to rely on Redis to evict items from memory depending on what eviction policy is selected. That policy is set in a configuration setting called maxmemory-policy.

We have previously simply switched the autoscaling behavior to get an effective mode change, we wanted to ensure that most users got the best performance in Storage and Cache modes. With the latest updates to Redis, when 'Storage' mode is selected we set the maxmemory-policy to noeviction to ensure that there is no data loss and the deployment always expands. When the 'Cache' mode is selected, we set maxmemory-policy to allkeys-lru to ensure that all key/value pairs are subject to eviction on a Least Recently Used basis.

We don't stop you changing the maxmemory-policy and other settings on your deployment. They are available in the Settings page of the Compose console for your Redis deployments. We do recommend, though, that you consider your options carefully before adjusting maxmemory-policy and ensure it is in keeping with the selected mode. Consult Using Redis as an LRU cache in the Redis documentation for further details.

For many, if not most users, the two modes we have configured should cover your needs. As this the Storage/Cache mode is an important component of how your Redis deployment works, we included the setting in Redis's Overview Summary.

We intend to continue working on these modes to make it simpler and more effective to run with our pre-selected defaults.

Also... (for Redis)

The Redis Import functionality has been given its own tab in the Compose Redis console, taking it out of Settings which had got a little crowded.

Image by Luis Llerena