In this blog post, we’d like to share some of the recent enhancements to Redis Enterprise VPC (also known as RV), one of Redis Labs’ database-as-a-service solutions. RV provides a fully managed Redis Enterprise on your virtual private cloud within major public clouds. It offers highly available, linearly scalable, high-performance, multi-model Redis, with intelligent tiered access to memory (both RAM and Flash).
Three of our latest major improvements to Redis Enterprise VPC provide:
- Support for Redis modules,
- Deployment inside an existing VPC and
- True linear scalability
Redis Modules Support
Redis modules are add-ons to Redis that extend it to cover most of the popular use cases for any industry. They seamlessly plug into Redis, are processed in-memory and benefit from Redis’ simplicity, super high-performance, scalability and high availability. New modules can be created by anyone, and we, at Redis Labs, encourage the Redis ecosystem to extend Redis by developing new modules.
To set an example, we’ve developed several interesting modules ourselves, which we share with the community. The modules we now offer in RV are:
RediSearch is a powerful text search and secondary indexing engine. Unlike Redis search libraries, it does not use Redis’ internal data structures. Using its own highly optimized data structures and algorithms, the RediSearch module delivers advanced search features with high performance and a low memory footprint. It can perform simple text searches as well as complex structured queries, such as filtering by numeric properties and geographical distances.
RediSearch supports continuous indexing with no performance degradation, maintaining concurrent loads of both querying and indexing. This makes it ideal for searching frequently updated databases without batch indexing or service interruptions. The Enterprise version of RediSearch can scale across many servers, easily growing to billions of documents on hundreds of servers.
ReJSON is a Redis module that implements ECMA-404 (the JSON Data Interchange Standard) as a native data type. It can store, update and fetch JSON values from Redis keys (documents). ReJSON’s primary features are:
- Full support of the JSON standard
- JSONPath-like syntax for selecting elements inside documents
- Document storage via binary data in a tree structure, allowing fast access to sub-elements
- Typed atomic operations for all JSON values types
ReBloom extends Redis’ native data types and adds two new probabilistic data structures – a scalable bloom filter and a cuckoo filter. These data types are used to determine with a given degree of certainty whether an item is present in (or absent from) a collection.
Bloom/cuckoo filters are especially useful because they occupy very little space per element — typically counted in bits not bytes! Although there’s a controllable percentage of false positives, ReBloom provides excellent speed and (most importantly) excellent space efficiency for initial tests of whether a key exists in a set. More information is available in this blog post.
To use one of these modules, simply select it when you create your subscription/database:
Deployment inside existing VPC
By default, whenever a new subscription is created, we’ve created a dedicated VPC and deployed Redis Enterprise within it. With this new feature, users now get to choose to have their subscription deployed inside an already existing VPC. This removes the need for peering between VPCs, saving you traffic charges from AWS and cutting some latency from your database.
True Linear Scalability
Linear scaling of database performance is critical for any application that needs to scale easily and cost-efficiently. Many cloud or on-premises databases claim to scale linearly but can rarely prove it in the manner Redis Enterprise has demonstrated. To achieve this, Redis Enterprise leverages the Redis open source (OSS) cluster API, which allows it to scale infinitely and in a linear manner by simply adding shards and nodes.
The OSS cluster API allows Redis clients to directly access the shard that holds a key/value object with no additional network hop. This, combined with the shared-nothing symmetric architecture of Redis Enterprise, ensures that data and control paths are separate, and that the control path does not impose non-linear overheads in a scaled-out environment.
Redis Enterprise has set a new industry performance record: delivering over 50 million ops/second under 1 millisecond, in as little as 26 EC2 nodes. You can read more about this in our benchmark report.
Try these new features out for free with our 14-day unlimited free trial (no credit card required). Sign up now.
For further information, feedback or suggestions, drop us a line at firstname.lastname@example.org.