Skip to content

Commit

Permalink
create database - first draft
Browse files Browse the repository at this point in the history
  • Loading branch information
cmilesb committed Mar 15, 2024
1 parent af29351 commit f54562d
Show file tree
Hide file tree
Showing 7 changed files with 364 additions and 103 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ To set up a Redis Cloud instance for Bedrock, you need to:

{{<image filename="images/rc/subscription-new-flexible-version-section.png" alt="Version selection between Redis 6.2 and 7.2" >}}{{< /image >}}

1. In the **Advanced options** section, select Multi-AZ to ensure [high-availability]({{<relref "rc/databases/configuration/high-availability.md">}}).
1. In the **Advanced options** section, select Multi-AZ to ensure [high-availability]({{<relref "rc/databases/configuration/high-availability">}}).

{{<image filename="images/rc/subscription-new-flexible-advanced-multi-az.png" width="75%" alt="The Multi-AZ toggle set to on." >}}{{< /image >}}

Expand Down
2 changes: 1 addition & 1 deletion content/rc/databases/_index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
Title: Manage databases
description:
weight: 35
weight: 20
alwaysopen: false
categories: ["RC"]
linktitle: "Databases"
Expand Down
50 changes: 50 additions & 0 deletions content/rc/databases/configuration/advanced-capabilities.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
Title: Advanced capabilities
description: Describes Redis Cloud Advanced capability options
weight: $weight
alwaysopen: false
toc: "true"
headerRange: "[1-3]"
categories: []
aliases:
---

Advanced capabilities extend Redis database functionality by adding new data types and options.

Available options depend on your subscription and your database **Type**.

## Redis Cloud Essentials {#essentials}

All Redis Cloud Essentials databases support [Redis Stack](https://redis.io/docs/stack/), which enables the most frequently used capabilities.

{{<image filename="images/rc/new-database-general-type-free-stack.png" alt="For Fixed and Free subscriptions, the Type setting in the General section includes an option for Redis Stack." width="75%">}}{{< /image >}}

When the database **Type** is set to _Redis Stack_, the Advanced capabilities section of the database details page displays the advanced capabilities included with the database and their versions.

{{<image filename="images/rc/database-details-modules-stack-free.png" alt="For Fixed and Free subscriptions, the Database details page lists the capabilities and versions added by Redis Stack." width="75%">}}{{< /image >}}

Redis Cloud is updated on a regular basis, which includes the advanced capabilities supported by the service. Versions displayed by the admin console may vary from those shown above. For the latest details of any capability, see [Redis Stack and Redis Enterprise]({{<relref "/stack">}}).

## Redis Cloud Pro advanced capability options {#pro}

Redis Cloud Pro subscriptions let you choose advanced capabilities for each database.

{{<image filename="images/rc/database-details-redis-module-select-flexible.png" alt="For Flexible and Annual subscriptions, you can select the capabilites included in your database." width="75%">}}{{< /image >}}

You can select more than one advanced capability for a database, though there are limits:

- The following advanced capabilities can be combined in Flexible and Annual subscriptions:

- Search and query
- JSON
- Time series
- Probabilistic

- Graph cannot be combined with other capabilities.
- JSON is the only capability supported for [Active-Active subscriptions]({{<relref "rc/subscriptions/create-active-active-subscription">}}).

You don't have to combine capabilities. To remove a selected capability, either clear the checkbox in the menu or select its **Delete** icon.

<nobr>{{<image filename="images/rc/icon-checkbox-clear.png" alt="To remove a selected capability, clear the checkbox in the menu." width="30px">}}{{< /image >}}&nbsp;{{<image filename="images/rc/icon-module-delete.png" alt="You can also use the delete icon to remove a capability." width="30px">}}{{< /image >}}</nobr>

To learn more, see [Redis Stack](https://redis.io/docs/stack/) and [Redis Stack and Redis Enterprise]({{<relref "/stack">}}).
39 changes: 39 additions & 0 deletions content/rc/databases/configuration/clustering.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,3 +163,42 @@ their order to suit your application's requirements.
1. The following flag is enabled in our regular expression parser:
- **PCRE_ANCHORED:** the pattern is constrained to match only at
the start of the string which is being searched.

## Dataset size

The dataset size represents the maximum amount of memory for the database, which includes data values, keys, module data, and overhead for specific features. High availability features, such as replication and Active-Active, dramatically increase memory consumption.

Here are some general guidelines:

- Memory limit represents an upper limit. You cannot store more data than the memory limit. Depending on your other selections, available memory for data may be much less than expected.

- [Replication](HA LINK) doubles memory consumption; that is, 512MB of data requires at least 1GB of memory limit when replication is enabled. This affects both Redis Cloud Pro and Redis Cloud Essentials. For example, if you subscribe to a 1 GB Essentials plan, Redis will allocate 512 MB for your dataset and the other 512 MB for replication.

- Active-Active also doubles memory consumption and the effect is cumulative with replication's impact. Since Active-Active requires replication to be turned on, the memory limit impact can be as large as four times (4x) the original data size.

- Advanced capabilities also consume memory.

Memory limits in Redis Cloud are subject to the same considerations as Redis Enterprise Software; to learn more, see [Database memory limits]({{< relref "/rs/databases/memory-performance/memory-limit.md" >}}).

## Throughput

Throughput is the amount of operations a database can handle over a certain period of time. For most Redis Cloud databases, throughput is defined in operations per second (ops/sec).

For a Redis Cloud Pro subscription, you define throughput for a database when you create it. For a Redis Cloud Essentials subscription, your maximum throughput depends on your plan.

We assume a typical workload that includes a different mix of commands and an average key and value size of 1KB. Therefore, your actual throughput may be higher or lower than the throughput you set when you create your database. The following properties can affect your database's throughput:
- **Command complexity**: O(N) and O(log(N)) commands will take more time than O(1) commands, and will affect throughput accordingly.
- **Key and value sizing**: If your database's keys and values are very large, your actual throughput may be lower than expected. If the keys and values are smaller than the typical workload, the actual throughput might be higher than expected.
- **Replication**: Using [multi-zone replication]({{<relref "rc/databases/configuration/high-availability">}}) affects throughput as each write operation is executed asynchronously in each zone.
- **Security**: Some security options, such as [transport layer security]({{< relref "/rc/security/database-security/tls-ssl" >}}), may affect throughput.
- **Number of client connections**: The number of client connections affects throughput. Increasing or decreasing the number of client connections can result in higher or lower throughput.

Databases with search and query enabled use the number of shards to determine throughput. To determine how many shards you need for your database, use the [sizing calculator](https://redis.com/modules/redis-search/redisearch-sizing-calculator/).

## OSS Cluster API

{{< embed-md "oss-cluster-api-intro.md" >}}

The OSS Cluster API is only supported on Redis Cloud Pro databases. You can enable it in the Scalability section of the configuration screen.

Review [Redis OSS Cluster API architecture]({{< relref "/rs/clusters/optimize/oss-cluster-api" >}}) to determine if you should enable this feature for your database.
20 changes: 20 additions & 0 deletions content/rc/databases/configuration/high-availability.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,26 @@ This means you can't convert a multi-zone subscription to a single zone (or vice

To use different zone settings, create a new subscription with the preferred settings and then [migrate data]({{<relref "/rc/databases/migrate-databases.md">}}) from the original subscription.

## Availability zones

You can reduce network transfer costs and network latency by ensuring your Redis Cloud cluster and your application are located in the same availability zone.

To specify the availability zone for your cluster, select *Manual Selection* under **Allowed Availability Zones**.

For Google Cloud clusters and [self-managed AWS cloud accounts]({{< relref "/rc/cloud-integrations/aws-cloud-accounts/" >}}), select an availability zone from the **Zone name** list.

{{<image filename="images/rc/availability-zones-no-multi-az.png" width="95%" alt="Select one availability zone when Multi-AZ is turned off." >}}{{< /image >}}

For all other AWS clusters, select an availability zone ID from the **Zone IDs** list. For more information on how to find an availability zone ID, see the [AWS docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-availability-zones).

{{<image filename="images/rc/availability-zones-aws-hosted-no-multi-az.png" width="80%" alt="For hosted AWS clusters, select availability zone IDs from the Zone IDs list." >}}{{< /image >}}

If **Multi-AZ** is enabled, you must select three availability zones from the list.

{{<image filename="images/rc/availability-zones-multi-az.png" width="80%" alt="Select Manual selection to select three availability zones when Multi-AZ is enabled." >}}{{< /image >}}

For more information on availability zones, see the [Google Cloud docs](https://cloud.google.com/compute/docs/regions-zones/#available) or the [AWS docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-availability-zones).

## More info

To learn more about high availability and replication, see:
Expand Down
Loading

0 comments on commit f54562d

Please sign in to comment.