This section contains all you need to know to operate databases hosted on Redis Enterprise Software.

    Causal Consistency in a Conflict-free Replicated Database (CRDB)

    When enabling Causal Consistency in CRDBs, the order of operations on a specific key will be maintained across all CRDB instances. For instance, if operations A and B were applied on the same key, and B was performed after the effect of A was observed by the CRDB Instance that initiated B, then all CRDB instances would observe the effect of A before observing the effect of B. This way, any causal relationship between operations on the same key is also observed and maintained by every replica.

    Create a Geo-Distributed Conflict-free Replicated Database (CRDB)

    Conflict-Free Replicated Databases (CRDBs) let you create replicated instances of your data between Redis Enterprise Software (RS) clusters. The participating clusters that host the instances can be in distributed geographic locations. Every instance of a CRDB can receive write operations, and all operations are synchronized to all of the instances. Steps to Create a CRDB Create a service account - On each participating cluster, create a dedicated user account with the Admin role.

    Creating a Redis Enterprise Software (RS) database

    You can create Redis databases that are sharded and distributed across a single RS cluster. These databases can use Redis Enterprise features like: Redis on Flash High availability Data persistence Redis modules You can create databases according to the number of shards in your subscription and the memory available on the machine. Note - To create databases that are designed to be hosted in distributed locations, see Creating CRDBs.

    Database alerting

    In the Alerts section of the Redis Enterprise Software database page, you can designate which database events will trigger alert notifications. For instructions on configuring alerts at the cluster level, refer to Managing cluster alerts. Some alerts can only be turned on or off, such as Periodic backup failed. Some alerts require setting a threshold, such as Dataset size has reached a certain percentage of its limit. Configured alerts appear in the database Status field, in the Log page, and can also be sent by email.

    Database memory limits in Redis Enterprise Software

    When you set a database's memory limit, you define the maximum size the database can reach in the cluster, across all database replicas and shards, including: Slave shards (if database replication is enabled) Database shards (if database clustering is enabled) If the total size of the database in the cluster reaches the memory limit, the data eviction policy that was defined for the database is applied. The following examples show how different database configurations affect the total database size.

    Delete a Database

    To delete a database in Redis Enterprise Software (RS): Click the relevant database row in the Databases page. The selected database page appears. Select the Configuration tab. Click Delete at the bottom of the page. Confirm the deletion.

    Deleting a Conflict-free Replicated Database (CRDB)

    Deleting a CRDB is a nearly identical procedure to standard Redis databases in Redis Enterprise Software, but with a critical distinction. Since CRDBs span multiple Participating Clusters, there is more extensive administrative work being done on the clusters on your behalf. When you click the button on the configuration tab to delete a CRDB, this action is an immediate, non-reversible, and has no rollback. The cluster deletes all member databases from all Participating Clusters on your behalf.

    Eviction policies

    The eviction policy designates a data eviction method for Redis Enterprise Software (RS) to use when the database size reaches its limit. You can select any of the following: Policy Description  noeviction Returns an error if the memory limit has been reached when trying to insert more data  allkeys-lru Evicts the least recently used keys out of all keys  allkeys-lfu Evicts the least frequently used keys out of all keys  allkeys-random Randomly evicts keys out of all keys  volatile-lru Evicts the least recently used keys out of all keys with an "expire" field set  volatile-lfu Evicts the least frequently used keys out of all keys with an "expire" field set  volatile-random Randomly evicts keys with an "expire" field set  volatile-ttl Evicts the shortest time-to-live and least recently used keys out of all keys with an "expire" field set.

    Exporting Data from Redis Enterprise

    You can schedule backups of a specific database to make sure you always have valid backups. You can also export the data from a specific database at any time. You can export a database to these locations: FTP server SFTP server Amazon S3 Local mount point OpenStack Swift (Object Storage) Other cloud storage options, including Azure Geo-Redundant Storage and Google Cloud Storage, are planned for a future release.

    Flushing Databases on Redis Enterprise Software

    There are times where you want to delete all database data. Warning - The flush command deletes ALL of the data in the database. This includes all data in memory and persisted to disk. We recommend that you backup your database first. flushall for Redis Enterprise Software Databases You can flush a database from the command line with the redis-cli command or with your favorite Redis client.

    High Availability for Slave Shards

    When you enable database replication for your database, RS replicates your data to a slave node to make sure that your data is highly available. Whether the slave node fails or the master node fails and the slave is promoted to master, the remaining master node is a single point of failure. You can configure high availability for slave shards (slave HA) so that the cluster automatically migrates the slave shards to another available node.

    Importing Data into Redis Enterprise

    You can import export or backup files of a specific database to restore data. You can either import from a single file or from multiple files, such as when you want to import from a backup of a sharded database. You can import data from these locations: HTTP server FTP server SFTP server Amazon S3 Local mount point OpenStack Swift (Object Storage) Warning - Importing data erases all existing content in the database.

    Importing Data into your CRDB

    When importing data into a CRDB, there are two options: Perform a flushall to the database, thus deleting all data. Then import the data into the CRDB. Import data but merge it into the existing or add new data from the import file. When using option #2, there are special considerations to be aware of. Unlike a traditional Redis database, CRDBs have a numeric counter data type and thus require special ways to increment.

    Metrics

    On the Database > Metrics page you can view detailed real-time graphs of various database metrics, as well as shard-related metrics. Database metrics You can choose which metrics are shown in each of the two detailed graphs at the top of the page, as follows: Below the top two graphs there is a group of smaller graphs that display all available metrics, such as CPU utilization and operations per second.

    Scheduled Backups

    You can manually export your data from a specific database at any time. You can also schedule backups of your databases to make sure you always have valid backups. The backup process can be scheduled for every 1, 4, 12 or 24 hours from the time that you save the backup configuration. You can schedule backups to these locations: FTP server SFTP server Amazon S3 Local mount point OpenStack Swift (Object Storage) Other cloud storage options, including Azure Geo-Redundant Storage and Google Cloud Storage, are planned for a future release.

    Updating database configuration

    You can change the configuration of a Redis Enterprise Software database at any time. To edit the configuration of a database: Click the relevant database row on the Databases page. The selected database page appears. Select the Configuration tab. Click Edit at the bottom of the page. The database settings appear. You can edit any of the configurable parameters. For explanation, refer to Creating a new database. Click Update.