In-memory database company Redis Labs is aiming to popularize the use of its technology for mission-critical database environments that specifically connect to IoT networks.
Memory is the IoT ‘wheelhouse’
The Redis software stack is built on NoSQL open source in-memory database technology. An in-memory database is an approach to data processing characterized by its ability to pull data into ‘system memory’ in a non-relational compressed format.
Theoretically always faster for scenarios where processing of data has to occur at speed and where pre-aggregated data loads may not be possible, in-memory is argued to have new relevance for the IoT.
If we look at what the IoT really needs to operate effectively, we typically come back to device interconnectivity, security capabilities, on-board networking intelligence, automation intelligence and scope for analytics. It is no major stretch to suggest that memory acts as the ‘wheelhouse’ for all these system aspects.
Read more: Plotting to rule the IoT via graphs
Redis blueprints for IoT
Returning more specifically to Redis Labs, the company now offers what it calls a ‘blueprint’ for using Redis Enterprise in IoT applications with the new Redis Stream data structure.
This is all about being able to bring a certain level of automation to the deployment phase. This automation manifests itself as a ‘multi-master’ of (in this case geographically distributed) Redis Enterprise. Further pre-provisioning (or you could say intelligent software stack automation, if you wish) comes in the form of Conflict-Free Replicated Data Types (CRDTs). Thinking again about high throughput IoT devices, this will help automate towards what should be stronger eventual consistency between replicated instances.
Call it blueprinting, call it automation, call it pre-provisioning, call it intelligent automation, call it what you will, it’s all about knowing (or at least contextually assessing) what data stream behaviors will be exhibited and engineering system capabilities to be able to cope with those eventualities before they arise.
“[Our platform’s new] capabilities have been requested by many of our largest enterprise customers,” said Ofer Bengal, CEO of Redis Labs. “Solving complex database technological challenges to meet the needs of the enterprise has been the hallmark of our company. We are happy to see these innovations lead the way forward for the database industry.”
Redis Labs has also defined an end-to-end blueprint for implementing Redis in IoT applications, consisting of:
- Device support: Redis now supports Raspberry Pi and ARM processors suitable for small-footprint IoT devices and endpoints.
- Edge computing: Small form-factor clusters of Redis Enterprise capable of cost-effective handling of millions of IoT events and a variety of data types with Redis modules such as time-series, geo, graph, JSON, machine learning, and search.
- Datacenter/cloud implementation: Geographically distributed Redis Enterprise deployments in private environments or public clouds for large scale, real-time IoT data.
- End-to-end streaming data processing: The Redis Stream data structure, API, Stream client and modules provide aggregation, transformation, filtering and forwarding necessary for streaming data, and can be run on the devices, the edge, and the datacenter.
Read more: MongoDB: Bridging the front and back ends of the IoT
Bi-directional replication
Redis Labs has also previewed a new capability of the Redis Enterprise platform that offers bi-directional replication to Redis.
The company says that it is now focusing on traditional geographically distributed applications, many of which will have IoT implementation touchpoints (for example, e-commerce, mobile or media) to minimize latencies for highly interactive scenarios such as session state management.
Redis is now looking at what it defines as next-generation applications (in fintech, gaming and social media) for scenarios such as geographically distributed bid management, polling, voting, multi-player scoring and so on.
Read more: The IoT needs a new kind of database