Introducing Databases for Redis

As you may have seen, we’re launching a new range of databases called IBM Cloud Databases with Databases for PostgreSQL and Databases for Redis. If you are not yet familiar, then let’s introduce you to IBM Cloud Databases for Redis. To learn more about Databases for PostgreSQL, check out this post.

What is IBM Cloud Databases?

The experts on the IBM Compose team have been working to deliver databases on a next-generation platform. There were two design criteria. One was to build on a modern, open, cloud management platform—Kubernetes—rather than building one from scratch. The other criteria was that the new service had to integrate with IBM Cloud natively, as a provider and a consumer of services.

From those design criteria came the new architecture, with simpler access to the databases, cleaner high availability, and smoother backup orchestration. It’s all integrated with IBM Identity Access and Management (IAM) and provisioned as a native IBM Cloud service. Underneath that, a consistent system for managing stateful storage and backup storage does the heavy data lifting.

It is onto that solid platform that our developers are bringing battle-tested database configurations. And that’s IBM Cloud Databases.

What’s Redis?

Redis is an open source in-memory data structure store that is designed to be very fast and flexible. It allows developers to share and cache structures ranging from simple strings, lists, and sets to queryable sorted sets, bitmaps, hyperloglogs, and geospatial data, all referenced with user-defined keys. These keys can also be created with a time-to-live so that they can automatically expire. This simple, flexible architecture is combined with a guarantee of atomic operations that extends to Redis’s Lua scripting support. Redis can act as a session or state store for applications, be used to queue jobs between workers, or keep metric counters.

That last one is where hyperloglogs come in—they are a data structure which probabilistically counts the number of unique items presented to it without consuming large amounts of memory. That means you can count different IP addresses, hostnames, or hashes and only use a small (12KB) amount of memory.

Redis is the epitomy of NoSQL databases. It’s tuned for in-memory storage and fast connections with a custom explicit command set.

What’s in IBM Cloud Databases for Redis?

Databases for Redis gives two Redis instances—a master and a replica member—with Redis sentinels monitoring both. Accessing the database is managed through a single Kubernetes Nodeport, behind which one or more HAProxy instances handle all the traffic. It’s the HAProxy instances that manage to which we’ve added support for TLS/SSL encryption for incoming connections to the Redis server—something Redis doesn’t do out-of-the-box currently.

So how do I get a Redis deployment like this?

Go to the IBM Cloud Catalog, look for Databases for Redis, and create a deployment. By default, you’ll be getting Redis 4, with 1GB of RAM and 1GB of storage allocated to each of the two database members. Click Create, and off you go. When it’s all set up, you’ll be at the manage screen, where you can create credentials, set the admin password, and view the state of Redis.

I like the command line. What tools do you have?

IBM Cloud has an IBM Cloud CLI tool, and once installed, you can use it to provision and deprovision your databases. There’s also an IBM Cloud Databases plugin for the CLI just an ibmcloud plugin install cloud-databases command away. That then gives you commands to create users, set passwords, get connection strings, and much more.

Set the admin password with ibmcloud cdb user-password admin password. As the redis-cli doesn’t handle TLS connections, we created and open-sourced our own version— redli— which you can download and install.

From there, entering ibmcloud cdb cxn yourredisdatabasename -s is all you need to do to start an interactive session with the Redis database.

What if I want or need to use the official redis-cli?

Not a problem. Head to the Databases for Redis documentation where you’ll find a Connecting with redis-cli section. It shows you how to configure redis-cli with Stunnel, a TLS/SSL tunnelling application. You can use the same technique with any Redis application which doesn’t support TLS/SSL.

I like APIs. Where do I get started?

We have an API—the Cloud Databases API. This API gives you all the management features which are also exposed by the CLI. Provisioning and deprovisioning are managed, separately, by the IBM Cloud’s Resource Controller API. API Keys are provisioned through the IBM Cloud’s User API Keys.

How do I scale?

You can use the IBM Cloud Manage page. Go to the Settings view, and you can drag the sliders to as much memory and disk storage as you need. If you want precise control, the Cloud Databases CLI plugin or API are also able to set your scaling. Scaling happens with no disruptions or scheduled maintenance. We do recommend you scale Redis memory and disk in parallel.

Can I set up other users for Redis?

No. It’s a design feature of Redis that it has just one notional user with a single authentication password. On Databases for Redis, we call that user admin to fit in with the other databases. You can change that user’s password but you can’t create new users.

Do you support Redis modules?

Redis modules are a new feature in Redis 4.0 which allow developers to plug into the Redis database engine and add their own extensions. It’s pretty exciting stuff but because it’s quite hands-on (requiring compilation, file system access, and other things which don’t rest well on a cloud-hosted platform) we aren’t offering it with Databases for Redis.

Where do I find out more about Redis?

The place to start for all things Redis is the website with its documentation collection.

Where do I find out more about Databases for Redis?

Head over to the Databases for Redis documentation, which covers all the Databases for Redis specifics.


More from Announcements

IBM TechXchange underscores the importance of AI skilling and partner innovation

3 min read - Generative AI and large language models are poised to impact how we all access and use information. But as organizations race to adopt these new technologies for business, it requires a global ecosystem of partners with industry expertise to identify the right enterprise use-cases for AI and the technical skills to implement the technology. During TechXchange, IBM's premier technical learning event in Las Vegas last week, IBM Partner Plus members including our Strategic Partners, resellers, software vendors, distributors and service…

Introducing Inspiring Voices, a podcast exploring the impactful journeys of great leaders

< 1 min read - Learning about other people's careers, life challenges, and successes is a true source of inspiration that can impact our own ambitions as well as life and business choices in great ways. Brought to you by the Executive Search and Integration team at IBM, the Inspiring Voices podcast will showcase great leaders, taking you inside their personal stories about life, career choices and how to make an impact. In this first episode, host David Jones, Executive Search Lead at IBM, brings…

IBM watsonx Assistant and NICE CXone combine capabilities for a new chapter in CCaaS

5 min read - In an age of instant everything, ensuring a positive customer experience has become a top priority for enterprises. When one third of customers (32%) say they will walk away from a brand they love after just one bad experience (source: PWC), organizations are now applying massive investments to this experience, particularly with their live agents and contact centers.  For many enterprises, that investment includes modernizing their call centers by moving to cloud-based Contact Center as a Service (CCaaS) platforms. CCaaS solutions…

See what’s new in SingleStoreDB with IBM 8.0

3 min read - Despite decades of progress in database systems, builders have compromised on at least one of the following: speed, reliability, or ease. They have two options: one, they could get a document database that is fast and easy, but can’t be relied on for mission-critical transactional applications. Or two, they could rely on a cloud data warehouse that is easy to set up, but only allows lagging analytics. Even then, each solution lacks something, forcing builders to deploy other databases for…