Redis
The information Redis works with is stored in the form of a “dictionary”. Each key corresponds to a single value.
If we make an analogy with the storage market (data storage systems), Redis is like Pure Storage. Narrow specialization and maximum performance.
Features
. The main features that set Redis apart from other RDBMSs (database management systems):
- The amount of data Redis works with does not exceed the amount of RAM.
- Works with different types of data: string, list, numeric, hash tables, etc.
- There is no differentiation between users or groups within Redis. There is no access control.
- The DBMS supports scalability. Clients can create multiple nodes with one master node, as well as clusters.
- The product does not work with a query language (SQL), but with a key-value scheme.
- Redis supports replication. Information can be transferred from the main node to other nodes an infinite number of times depending on the settings.
- In case of data loss, recovery is performed in one of two ways. The first involves working with snapshots, and the second involves proactive logging.
- All data can be recovered in two ways.
- To manage Redis nodes, Sentinel software is used, which is included in the distribution. It supports monitoring, notification system, auto-switching to the active node and other features.
- Sentinel software is included in the distribution.
- The DBMS supports many programming languages: Python, Ruby, PHP, Perl, Java and others.
Application areas
Redis is used in certain areas of data processing, such as Machine Learning as a fast data warehouse. Thanks to the software product a huge amount of data is processed in a small amount of time.
Another option is real-time data analytics. For example, Amazon’s Kinesis service uses Redis as an in-memory data store for further processing. Delays in this approach are measured in milliseconds.
The third option involves joint work with relational DBMSs. Redis is used as a highly available cache for loading video, metadata, saving the most frequent database queries, etc.
In the web sphere, Redis is used for chat rooms or news feeds. The product creates queues using a simplified algorithm, which increases performance for multiple simultaneous requests.
Redis also supports real-time geodata handling. It is added to software to perform various operations instantly. For example, determining a user’s location or calculating the distance between a client and an endpoint.
Redis is best suited for use as temporary storage with high processing speed in conjunction with another RDBMS (e.g. MySQL). Reliability and fault tolerance are ensured by integrated data replication and recovery mechanisms.