Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RC: Redis Flex on Essentials Preview #950

Merged
merged 5 commits into from
Dec 18, 2024
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 1 addition & 12 deletions content/embeds/rc-create-db-first-steps.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,4 @@ To create a database in your Redis Cloud account:

{{<image filename="images/rc/button-database-new.png" alt="The New Database button creates a new database." width="120px">}}

This displays the **Create database** screen.

3. Select your Redis use case. There are four pre-defined use cases:

{{<image filename="images/rc/create-database-redis-use-cases.png" alt="The Redis Use case panel">}}

- **Cache**: Stores short-term or volatile data. Can be used for session management, semantic cache, session store, and other uses where data is short-lived.
- **Database**: Stores durable and consistent data. Can be used for document databases, feature storage, gaming leaderboards, durable caches, and other uses where your data needs to be highly available and persistent.
- **Vector search**: Manages and manipulates vector data. Can be used for Generative AI, recommendation systems, visual search, and other uses where you can search and query your data.
- **Custom**: If your Redis use case doesn't match any of the other use cases, you can choose this option to customize all of your settings.

Select the use case that best matches your Redis use case. You can always change the settings later.
This displays the **Create database** screen.
10 changes: 10 additions & 0 deletions content/embeds/rc-create-db-use-cases.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
3. Select your Redis use case. There are four pre-defined use cases:

{{<image filename="images/rc/create-database-redis-use-cases.png" alt="The Redis Use case panel">}}

- **Cache**: Stores short-term or volatile data. Can be used for session management, semantic cache, session store, and other uses where data is short-lived.
- **Database**: Stores durable and consistent data. Can be used for document databases, feature storage, gaming leaderboards, durable caches, and other uses where your data needs to be highly available and persistent.
- **Vector search**: Manages and manipulates vector data. Can be used for Generative AI, recommendation systems, visual search, and other uses where you can search and query your data.
- **Custom**: If your Redis use case doesn't match any of the other use cases, you can choose this option to customize all of your settings.

Select the use case that best matches your Redis use case. You can always change the settings later.
10 changes: 9 additions & 1 deletion content/operate/rc/changelog/december-2024.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,12 @@ weight: 38

You can now add a user with the **Logs Viewer** role in the [Access Management]({{< relref "/operate/rc/security/access-control/access-management" >}}) screen. Logs Viewers can only use the [Redis Cloud API]({{< relref "/operate/rc/api" >}}) [`GET logs/`](https://api.redislabs.com/v1/swagger-ui/index.html#/Account/getAccountSystemLogs) endpoint.

See [Team Management roles]({{< relref "/operate/rc/security/access-control/access-management#team-management-roles" >}}) to see an overview of user roles and their permissions.
See [Team Management roles]({{< relref "/operate/rc/security/access-control/access-management#team-management-roles" >}}) to see an overview of user roles and their permissions.

### Redis Flex preview on Redis Cloud Essentials

Redis Flex is now available in Preview on Redis Cloud Essentials.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are we using RAM or DRAM in other references on the docs?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I adapted this wording from the current Auto tiering docs, which uses RAM, not DRAM. I can replace it if it makes sense.

Redis Flex databases have a tiered solid state drive (SSD) and RAM architecture. Using SSDs instead of RAM significantly reduces infrastructure costs, which means developers can build applications that require large datasets using the same Redis API.

See [Create a Redis Flex database]({{< relref "/operate/rc/databases/create-database/create-flex-database" >}}) for more info.
1 change: 1 addition & 0 deletions content/operate/rc/databases/create-database/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ The process for Creating a database depends on the type of [subscription plan]({

An **Essentials** plan is a fixed monthly price for a single database. It is cost-efficient and designed for low-throughput scenarios. It supports a range of availability, persistence, and backup options. Pricing supports low throughput workloads.
- [Create an Essentials database]({{< relref "/operate/rc/databases/create-database/create-essentials-database" >}})
- [Create a Redis Flex database]({{< relref "/operate/rc/databases/create-database/create-flex-database" >}})

A **Pro** plan is an hourly price based on capacity. It supports more databases, larger databases, greater throughput, and unlimited connections.
- [Create a Pro database with a new subscription]({{< relref "/operate/rc/databases/create-database/create-pro-database-new" >}})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ Redis Cloud maintains consistency among instances in the background; that is, ea

{{< embed-md "rc-create-db-first-steps.md" >}}

{{< embed-md "rc-create-db-use-cases.md" >}}

4. Select the type of [subscription]({{< relref "/operate/rc/subscriptions" >}}) you need. For this guide, select **Pro**.

{{<image filename="images/rc/create-database-subscription-pro-new.png" alt="The Subscription selection panel with Pro selected.">}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ tocEmbedHeaders: true
---

{{< embed-md "rc-create-db-first-steps.md" >}}

{{< embed-md "rc-create-db-use-cases.md" >}}
{{< note >}}
See [Use case settings](#use-case-settings) to view the default settings for each use case.
{{< /note >}}
Expand All @@ -24,6 +26,7 @@ See [Use case settings](#use-case-settings) to view the default settings for eac

{{< note >}}
This guide shows how to create an Essentials database.
- If you'd rather create a Redis Flex database on Redis Cloud Essentials, see [Create a Redis Flex database]({{< relref "/operate/rc/databases/create-database/create-flex-database" >}})
- If you'd rather create a Pro database, see [Create a Pro database with a new subscription]({{< relref "/operate/rc/databases/create-database/create-pro-database-new" >}}).
- If you already have a Pro subscription and want to add a database to it, see [Create a Pro database in an existing subscription]({{< relref "/operate/rc/databases/create-database/create-pro-database-existing" >}}).
{{< /note >}}
Expand Down
140 changes: 140 additions & 0 deletions content/operate/rc/databases/create-database/create-flex-database.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
---
Title: Create a Redis Flex database
alwaysopen: false
categories:
- docs
- operate
- rc
description: Shows how to create an Redis Flex database on Redis Cloud and describes the best use cases for Redis Flex.
linkTitle: Create Redis Flex database
weight: 8
tocEmbedHeaders: true
---

Redis Flex databases have a tiered solid state drive (SSD) and RAM architecture. Using SSDs instead of RAM significantly reduces infrastructure costs, which means developers can build applications that require large datasets using the same Redis API.

Redis Flex databases are compatible with most existing Redis applications, except for applications that use Search and Query and Time Series.

Redis Flex is currently available in preview on Redis Cloud Essentials.

## Redis Flex use cases

The benefits associated with Redis Flex are dependent on the use case.

Redis Flex is ideal when your:

- working set is significantly smaller than your dataset (high RAM hit rate)
- average key size is smaller than average value size (all key names are stored in RAM)
- most recent data is the most frequently used (high RAM hit rate)

Redis Flex is not recommended for:

- Long key names (all key names are stored in RAM)
- Broad access patterns (any value could be pulled into RAM)
- Large working sets (working set is stored in RAM)
- Frequently moved data (moving to and from RAM too often can impact performance)

Redis Flex is not intended to be used for persistent storage.

## Where is my data?

When using Redis Flex, RAM storage holds:
- All keys (names)
- Key indexes
- Dictionaries
- Hot data (working set)

All data is accessed through RAM. If a value in flash memory is accessed, it becomes part of the working set and is moved to RAM. These values are referred to as “hot data”.

Inactive or infrequently accessed data is referred to as “warm data” and stored in flash memory. When more space is needed in RAM, warm data is moved from RAM to flash storage.

## Create a Redis Flex database on Redis Cloud Essentials

{{< embed-md "rc-create-db-first-steps.md" >}}

3. Select your Redis use case. There are three pre-defined use cases supported with Redis Flex:

{{<image filename="images/rc/create-database-redis-use-cases.png" alt="The Redis Use case panel">}}

- **Cache**: Stores short-term or volatile data. Can be used for session management, semantic cache, session store, and other uses where data is short-lived.
- **Database**: Stores durable and consistent data. Can be used for document databases, feature storage, gaming leaderboards, durable caches, and other uses where your data needs to be highly available and persistent.
- **Custom**: If your Redis use case doesn't match any of the other use cases, you can choose this option to customize all of your settings.

Select the use case that best matches your Redis use case. You can always change the settings later.

The **Vector search** use case is not supported with Redis Flex.

{{< note >}}
See [Use case settings](#use-case-settings) to view the default settings for each use case.
{{< /note >}}

4. Select the type of [subscription]({{< relref "/operate/rc/subscriptions" >}}) you need. For this guide, select **Redis Flex**.

{{<image filename="images/rc/create-database-subscription-flex.png" alt="The Subscription selection panel with Redis Flex selected.">}}

{{< note >}}
This guide shows how to create a Redis Flex database on Redis Cloud Essentials.
- If you'd rather create a Redis on RAM Essentials database, see [Create an Essentials database]({{< relref "/operate/rc/databases/create-database/create-essentials-database" >}}).
- If you'd rather create a Pro database, see [Create a Pro database with a new subscription]({{< relref "/operate/rc/databases/create-database/create-pro-database-new" >}}).
- If you already have a Pro subscription and want to add a database to it, see [Create a Pro database in an existing subscription]({{< relref "/operate/rc/databases/create-database/create-pro-database-existing" >}}).
{{< /note >}}

After you select **Redis Flex**, the rest of the database details will appear.

{{<image filename="images/rc/create-database-essentials-cloud-vendor.png" alt="The database name, cloud vendor, region, and type settings.">}}

1. Redis will generate a database name for you. If you want to change it, you can do so in the **Database name** field.

1. Choose a **Region** on Amazon Web Services for your database.

1. In the **Durability settings** panel, choose your **High availability settings** and **Data persistence** settings from the list.

{{<image filename="images/rc/create-database-essentials-durability.png" alt="The durability settings allow you to choose High availability and Data persistence.">}}


Redis Cloud supports the following high availability settings:

- **None**: You will have a single copy of your database without replication.
- **Single-Zone**: Your database will have a primary and a replica located in the same cloud zone. If anything happens to the primary, the replica takes over and becomes the new primary.
- **Multi-Zone**: The primary and its replicas are stored in different zones. This means that your database can remain online even if an entire zone becomes unavailable.

See [High availability]({{< relref "/operate/rc/databases/configuration/high-availability" >}}) for more information about these settings.

Redis Cloud supports the following Data persistence options:

- An **Append-Only File** maintains a record (sometimes called a _redo log_ or _journal_) of write operations. This allows the data to be restored by using the record to reconstruct the database up to the point of failure. For Essentials databases, Redis updates the Append-Only file every second.

- A **Snapshot** is a copy of the in-memory database, taken at periodic intervals (one, six, or twelve hours). You can restore data to the snapshot's point in time.

See [Data persistence]({{< relref "/operate/rc/databases/configuration/data-persistence" >}}) for more information about these settings.

These settings may already be set based on the use case you selected. You can change them now if you like.

1. Select the desired memory limit.

{{<image filename="images/rc/subscription-new-fixed-tiers.png" alt="Available Redis Flex plans." >}}

For a comparison of available plans, see [Redis Cloud Essentials plans]({{< relref "/operate/rc/subscriptions/view-essentials-subscription/essentials-plan-details" >}}).

1. Enter your payment details.

If you haven't previously entered a payment method, use the **Add Credit Card** button to add one.

{{<image filename="images/rc/icon-add-credit-card.png" alt="The Add credit card icon." >}}

1. Select **Confirm & pay** to create your database.

{{<image filename="images/rc/button-create-db-confirm-pay.png" width="140px" alt="Select Confirm & Pay to create your new database." >}}

When you create your database, there's a brief pause while your request is processed and then the **Database details** page appears.


### Use case settings

The following table shows the default use case settings for an Essentials database.

| **Type** | High Availability | Data Persistence | Size | Eviction Policy |
|---|---|---|---|---|
| **Cache** | None | None | 30 MB - 12 GB | `volatile-lru` |
| **Database** | Multi-zone | Append-only file every 1 sec | 250 MB - 12 GB | None |
| **Custom** | Single-zone | Append-only file every 1 sec | 250 MB - 12 GB | None |
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ tocEmbedHeaders: true

{{< embed-md "rc-create-db-first-steps.md" >}}

{{< embed-md "rc-create-db-use-cases.md" >}}

{{< note >}}See [Use case settings](#use-case-settings) to view the default settings for each use case.{{< /note >}}

4. Select the type of [subscription]({{< relref "/operate/rc/subscriptions" >}}) you need. For this guide, select **Pro**, select **Existing subscription**, and then select your existing pro subscription from the list.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ tocEmbedHeaders: true

{{< embed-md "rc-create-db-first-steps.md" >}}

{{< embed-md "rc-create-db-use-cases.md" >}}

{{< note >}}See [Use case settings](#use-case-settings) to view the default settings for each use case.{{< /note >}}

4. Select the type of [subscription]({{< relref "/operate/rc/subscriptions" >}}) you need. For this guide, select **Pro**.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ If you need additional resources, you can [upgrade your subscription]({{< relref

These plans are currently offered for all new and upgraded Essentials subscriptions (updated March 2024).
cmilesb marked this conversation as resolved.
Show resolved Hide resolved

### Redis Cloud Essentials plans

{{<table-scrollable>}}
| **DB&nbsp;size**<sup>[1](#table-note-1)</sup> | **30&nbsp;MB&nbsp;(Free)** | **250 MB** | **1 GB** | **2.5 GB** | **5 GB** | **12 GB** |
|---|---|---|---|---|---|---|
Expand All @@ -38,6 +40,21 @@ These plans are currently offered for all new and upgraded Essentials subscripti

2. <a name="table-note-2" style="display: block; height: 80px; margin-top: -80px;"></a> Assumes request size of 1 KiB. Maximums are capped by actual MB/s reached. To find the MB/s limit, divide the Maximum throughput by 1024.

### Redis Flex plans

{{<table-scrollable>}}
| **DB&nbsp;size**<sup>[1](#table-note-1-flex)</sup> | **1 GB** | **2.5 GB** | **5 GB** | **12 GB** | **25 GB** | **50 GB** | **100 GB** |
|---|---|---|---|---|---|---|---|
| **Concurrent<br/>connections<br/>per database** | 1024 | 2500 | 5000 | 10000 | 10000 | 10000 | 10000 |
| **CIDR<br/> allow rules** | 4-8 | 4-8 | 4-16 | 4-32 | 4-32 | 4-32 | 4-32 |
| **Monthly<br/> total network<br/> bandwidth** | 50&nbsp;GB | 100&nbsp;GB | 200&nbsp;GB | 500&nbsp;GB | 1000&nbsp;GB | 2000&nbsp;GB | 4000&nbsp;GB |
| **Maximum<br/> throughput<sup>[2](#table-note-2-flex)</sup>** | 200&nbsp;ops/sec | 500&nbsp;ops/sec | 1000&nbsp;ops/sec | 2400&nbsp;ops/sec | 5000&nbsp;ops/sec | 10000&nbsp;ops/sec | 20000&nbsp;ops/sec |
{{</table-scrollable>}}

1. <a name="table-note-1" style="display: block; height: 80px; margin-top: -80px;"></a> Database size includes replication where applicable. See [High availability cost impact]({{< relref "/operate/rc/databases/configuration/high-availability#dataset-size" >}}) for more information.

2. <a name="table-note-2" style="display: block; height: 80px; margin-top: -80px;"></a> Assumes request size of 1 KiB. Maximums are capped by actual MB/s reached. To find the MB/s limit, divide the Maximum throughput by 1024.

## Previous plans {#legacy}

These plans were available before November 2023.
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified static/images/rc/create-database-subscription-essentials.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified static/images/rc/create-database-subscription-pro-new.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/images/rc/subscription-new-flex-tiers.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading