Redis Enterprise Overview
Modern databases are expected to offer multiple data modeling options in a single database system to avoid the overhead and costs associated with managing a different database for each application use case. However, many multi-model databases extend their APIs while keeping their core database engine unchanged. This non-native approach significantly affects database performance, as new data model requests are processed by a software logic that was not designed to deal with it. Furthermore, processing requests across multiple data models while keeping latency low is challenging and in most cases requires tedious interactions running back and forth with the application tier or with infrastructure logic that is deployed outside the database.
Redis Enterprise Modules reduces the need to maintain a specialty database for each application use case by offering a separate, dedicated, and optimized engine for each data model. Trusted, tested, and verified to work with Redis Enterprise and open source Redis, these modules include RedisGraph, RedisJSON, RedisTimeSeries, RedisBloom, and RediSearch. RedisGears is a serverless engine, for executing any kind of operation across modules and Redis data structures. RedisGears supports multiple application use cases and enjoy the low latency and linear scale of Redis Enterprise.
Search engines are slow in indexing data and as a result, it takes a long time to show new content in the search results.
RediSearch is a fast search engine that runs on your Redis dataset and allows you to query data that has just been indexed, to answer complex queries. It can be used as a secondary index for datasets hosted on other datastores, as a fast text search or auto-complete engine, and as a search engine that powers other modules such as RedisGraph and RedisTimeSeries.
Written in C, built from the ground up on modern data-structure, and using an efficient Redis protocol, RediSearch is the fastest search engine in the market. Furthermore, RediSearch is feature rich, supporting many capabilities including ranking, boolean queries, geo-filters, synonyms, numeric filters and ranges, aggregation, and more. It even allows you to add your own custom scoring code.
Running multi-hop graph queries over traditional graph database architectures is inefficient and slow as they are based on adjacency lists, an approach that’s sub-optimal for graph processing.
RedisGraph is based on a unique approach and architecture that translates Cypher queries to matrix operations executing over a GraphBLAS engine. This new design allows use cases like social graph operation, fraud detection, and real-time recommendation to be executed 10x-600x faster than any other graph database.
To store a JSON object in a native Redis implementation, you either use a String data structure or break it up into Hash fields, imposing a translation overhead on your application.
RedisJSON makes JSON a native data structure in Redis. It’s tailored for fast, efficient, in-memory manipulation of JSON documents at high speed and volume. As a result, you can store your document data in a hierarchical, tree-like format and scale and query it efficiently, which significantly improves performance compared to existing disk-based document-database solutions.
Redis has been used as a real-time time-series database for many years, powering use cases like IoT, stock prices, and telemetry.
With RedisTimeSeries, capabilities like automatic downsampling, aggregations, labeling and search, compression, and enhanced multi-range queries are now natively supported in Redis. Built-in connectors to popular monitoring tools like Prometheus and Grafana enable the extraction of data into useful formats for visualization and monitoring. Maintaining the DNA of Redis, RedisTimeSeries is significantly faster than any other time-series database.
Bloom and Cuckoo filters, TopK, and CountMinSketch are widely used to support data-membership queries, thanks to their space-efficiency and constant-time membership functionality. That said, fast and efficient probabilistic data-structure implementations aren’t easy to develop.
Benchmarks have shown that the Redis implementation for Bloom filters and other probabilistic data structures is faster by an order of magnitude than other probabilistic implementations. When deployed over Redis Enterprise, RedisBloom enjoys the linear scale, single-digit-seconds failover time, and durability, with easy provisioning and built-in monitoring capabilities.