Riak is at heart, a NoSQL-style data storage engine. Where Riak differs from other NoSQL database platforms is in the fact it has been developed and optimized to handle massive amounts of sequential, small sized data packets.

Furthermore, Riak is intended to collect data from IoT devices. When we combine these two differentiators, we find that Riak has been developed to handle tasks such as collecting live data from IoT devices that constantly transmit data such weather monitoring devices or production line monitoring devices.

Riak Key Features

The defining feature of Riak is that it is aimed squarely at developers who need to capture large volumes of time sequential data. If we consider the example above of a weather monitoring device, we can see how this works. The device transmits weather data in real time, but this data is sequential. Past data is never modified or deleted by the device. It is in effect, a fixed time sequenced stream of data.

  • Riak provides a solid feature set for handling this type of data including.
  • A high level of fault tolerance and resilience.
  • The ability to scale horizontally by adding more resources to the server cluster.
  • Simplified data distribution and co-location.
  • Native SQL style command language developed with time sequenced queries and date/time range in mind.
  • Ready built client libraries and API.
  • Integration with Apache Spark.

The Benefits of Using Riak

For applications that handle large volumes of time serialized data, then Riak can offer some significant benefits over other NoSQL platforms.

The type of data these applications handle is often very simple, maybe just a handful of bytes. Riak has been optimized to run database queries against this type of data. This is achieved not only by developing a database engine that is more capable of handling this type of data, as Riak also makes the overall data model much simpler by allowing for full data tying of custom data structures.

This leads to much greater performance for tackling data-sets that are comprised of small, yet potentially unstructured time-sequenced data. Riak claims that this simplified data handling leads to a better ROI.

The Underlying Principles of Riak

Riak has been developed under the premise that there is a growing need for a NoSQL platform that can handle large volumes of unstructured, time series data efficiently. This data can be produced by IoT-enabled devices. Or generated from some other source such as system logs.

A good example of this would be in the online gaming market, specifically the MMORPG sector. There is a need for game operators to constantly monitor the actions of players, to uncover instances of cheating and exploitation. All of this data is time sequenced, and written to a log. Riak is capable of running advanced queries on these game logs very efficiently.

Another good example would be in the managed I.T. market. Large managed services providers work within stringent SLA. There is a need to constantly monitor platform logs to identify times when the SLA is potentially going to be breached. Riak provides the ability to monitor a diverse range of time sequenced logs such as network logs, hardware logs etc., and interrogate them as a whole.

This article was authored by Raseel Bhagat, who is a Director of Engineering at Zymr.


Leave a Reply