Reseller Login or Sign up FAQ Search
ResellersPanel's Blog

Redis database support enabled on our web hosting platform

Redis data storage system on our hosting-platform

Databases lie at the heart of web development. For this reason, they need to evolve in order to meet the needs of any website or application.

In recent years, multi-purpose solutions, such as Redis, have emerged to offer a brand new, complex perspective on database management.

By combining in-memory design with optimized data structures and various modules, Redis gives site owners much more flexibility when it comes to managing their content.

Redis – some history

Redis, which stands for REmote DIctionary Server, started as a VMware-sponsored project back in March 2010.

In June 2015, Redis Labs began sponsoring its development.

According to DB-Engines.com’s monthly charts, Redis is one of the most popular key-value stores on the web.

Also, it occupies the 4th position on the NoSQL database users’ satisfaction chart and ranks among the Top 50 Developer Tools & Services.

The key advantages of the Redis database storage system

Redis represents a real innovation in the world of structured storage systems. Here are a few innovative characteristics that have helped it outjump all other popular key-value stores:

  • Simplified app development

Redis allows data to be processed at the database level rather than at the application level.

Its unique architecture allows for faster execution times and increased CPU, I/O and network utilization levels.

In contrast to other key-value stores, Redis allows applications to carry out complex tasks such as computing set intersections or range analyses using simple commands.

  • Boosted app performance

Based on the C language, Redis is optimized for execution with O (1) complexity.

In contrast to standard storage systems, which write every change to disk, Redis normally holds the whole dataset in memory.

Its in-memory nature allows it to provide the highest throughput (millions of operations per second) at the lowest possible latency level (< 1ms), which translates into more efficient hardware utilization.

Redis allows access to discrete elements within objects, thus eliminating processing overheads.

Setup costs, on the other hand, can be reduced by means of connection pooling.

An easy-to-parse networking protocol allowing for accelerated command execution further contributes toward achieving an enhanced performance.

  • Fit for various data processing scenarios

Thanks to the available add-ons and extensions, Redis can serve multiple data processing purposes – from querying secondary indexes to serving machine learning models.

Redis modules

Developers can select from a variety of Redis Modules instead of having to maintain and operate specialty databases for specific processing needs.

  • Data persistence

Redis usually keeps the entire dataset in memory. For persistence to be achieved, the dataset needs to be transferred from memory to disk from time to time.

Depending on the particular case, this can be done in two different ways:

  • through snapshotting whereby the dataset is asynchronously dumped on disk every once in a while and stored into a dump.rdb file;
  • by means of an append-only file (also known as a journal) – written while in-memory dataset modification commands are being processed, it can be re-written in the background in order to avoid indefinite growth;

Since Redis writes data to a file system at 2-second intervals, only a few seconds of data will be forfeited in the event of a complete system failure.

  • Replication

Redis relies on master-slave replication in order to ensure maximum read scalability and data redundancy.

Master-slave replication enables data from a master Redis server to be copied to any number of slave Redis servers, which in turn can become ‘masters’ to other ‘slaves’.

Redis master-slave data replication

This allows for the implementation of a single-rooted replication tree.

Thanks to the Publish/Subscribe feature, a client of a slave may subscribe to a channel at any particular point and receive a full feed of messages published to the master.

Data structure types

In contrast to other structured storage systems, Redis supports abstract data types.

Here is a list of the abstract data types supported by Redis:

  • Lists of strings;
  • Sets of strings (collections of non-repeating unsorted elements);
  • Sorted sets of strings (collections of non-repeating elements ordered by a floating-point number called score);
  • Hash tables where keys and values are strings;
  • HyperLogLogs, which are used for approximated set cardinality size estimation;
  • Geospatial data;

Redis data structure types

Redis supports high-level, atomic and server-side operations whose availability depends on the particular data type.

Redis – practical uses

Redis can be employed for many practical purposes. Here is a list of the most common uses of Redis:

  • Real-time analytics
  • User session store
  • Real-time data ingest
  • High-speed transactions
  • Jobs & queue management
  • Time series data
  • Complex statistical analysis
  • Notifications
  • Distributed lock
  • Content caching
  • Geospatial data
  • Streaming data
  • Machine learning

Supported languages

Lots of languages have libraries for communicating with Redis, including ActionScript, C, C++, C#, Java, JavaScript (Node.js), Perl, PHP, Python, Ruby, Scala, etc.

How to make use of Redis on our web hosting platform?

You can find Redis in the Advanced section of the Web Hosting Control Panel:

Redis in Control Panel

To enable Redis for a given project, you will need to create an instance first. 

In the Redis section, click on the ‘Create a new instance’ button in the top-right corner and then hit the ‘Add’ button in the popup window that comes up:

Redis - create an instance

Once the instance has been created, you will see it listed in the table below:

Redis - list of instances

You will see the socket path and will have an option to add memory, or restart the instance, etc. 

***

Redis is included by default with the Corporate and Enterprise web hosting plans and is available as an upgrade with the Starter, Business and custom-made packages. 

Also, Redis comes with all semi-dedicated and dedicated servers as well as with the whole range of OpenVZ VPS packages. 

Originally published Wednesday, September 13th, 2017 at 10:02 am, updated September 20, 2017 and is filed under Web Hosting Platform.

Tags: , , , , ,

Leave a Reply


« Back to menu