Redis Weekly

A free, once–weekly e-mail round-up of Redis news, articles, tools and libraries.

ONE e-mail each Friday. Easy unsubscribe. No spam — your e-mail address is safe.

redis weekly Issue #150
Jun 23 2016

Featured

Redis on NVMe SSD by Zvika Guz, Samsung

"In this talk we report on our experience with Redis-on-Flash (RoF)—a recently introduced product that uses SSDs as a RAM extension to dramatically increase the effective dataset capacity that can be stored on a single server. This talk provides the first in-depth RoF system performance characterization: we consider different use cases (varying both RAM-to-disk access ratio and object size), and compare SATA-based RoF, NVMe-based RoF, and all-RAM Redis deployments. We show that the superior performance of NVMe drives in terms of both latency and pea bandwidth makes them a particularly good fit for RoF use cases. Specifically, we show that backing RoF with NVMe drivescan deliver more than 2 million operations per second with sub-millisecond latency on a single server."

Watching

[Slides] Troubleshooting Redis- DaeMyung Kang, Kakao

Redis Failure Cases, Redis Failover and Redis Monitoring.

[Slides] High Performance Redis- Tague Griffith, GoPro

High Performance Redis looks at a wide range of techniques

[Slides] Redis Networking Nerd Down: For Lovers of Packets and Jumbo Frames

By John Bullard from Distil Networks.

[Slides] Dynomite: A Highly Available, Distributed and Scalable Dynamo Layer

Dynomite is a thin, distributed dynamo layer for different storage engines and protocols.

Scaling Rails Using Redis with Limited Dev Resources

"Intermediate level talk sharing practical solutions that can be quickly implemented to speed up Rails applications. It will cover caching, background jobs, and general DevOps tips & tricks."

[slides] Build a Geospatial App with Redis 3.2

Build a Geospatial App with Redis 3.2

"We created an app to find nearby running partners, and to demonstrate Redis Data structures and functions. In this talk, we will review the data structures and walk through our NodeJS app that depends solely on Redis Geospatial Indexes. Functions demoed are GEOADD, ZREM, GEOHASH, GEOPOS, GEODIST, GEORADIUS, GEORADIUSBYMEMBER."

Scaling Redis Cluster Deployments for Genome Analysis

"Timely genome analysis requires a fresh approach to platform design for big data problems. Louisiana State University has tested enterprise cluster deployments of Redis with a unique solution that allows flash memory to act as extended RAM. Learn about how this solution allows large amounts of data to be handled with a fraction of the memory needed for a typical deployment."

High Performance Redis

High Performance Redis looks at a wide range of techniques - from programming to system tuning - to deploy and maintain an extremely high performing Redis cluster. From the operational perspective, the talk lays out multiple techniques for clustering (sharding) Redis systems and examines how the different approaches impact performance time. The talk further examines system settings (Linux network parameters, Redis system) and how they impact performance (both good and bad). Finally, for the developer, we look at how different ways of structuring data actually demonstrate different performance characteristics.

Managing Redis with Kubernetes

Understand what Kubernetes can and can't do for Redis Clusters

Redis Networking Nerd Down

"Packets per second (PPS) is an often overlooked value within an environment. Most network concerns are around throughput and interface speed, but what happens when this value becomes the bottleneck due to large-scale hosting providers (AWS, Azure, etc.) with rigid standards? This talk covers what a Redis packet looks like and how the out-of-the-box configuration can drastically affect packet per second overhead. From here we’ll deep dive into specific configuration values which help lower PPS numbers, as well as different Redis master/slave relationships that can be utilized to keep PPS below inflexible network thresholds."

Dynomite at Netflix

"Dynomite is a thin, distributed dynamo layer for different storage engines and protocols. Currently at Netflix, we are focusing on using Redis as the storage engine. Dynomite supports multi-datacenter replication and is designed for high availability. In the age of high scalability and big data, Dynomite’s design goal is to turn single-server datastore solutions into peer-to-peer, linearly" scalable, clustered systems while still preserving the native client/server protocols of the datastores, e.g., Redis protocol. In this talk, we are going to present Dynomite recent features, and the Dyno client. Both projects are open source and available to the community.

Which One is Real? Validating Billions of Web Interactions

"Tracking events is an important problem for ad tech companies which rely on notifications fired at the time of ad rendering as a feedback loop to the machine learning algorithms and to adjust several key real time metrics. This talk showcases the EventTracker, which is a large scale, Redis powered storage service for handling event notifications built at Rocket Fuel. We discuss how we initially used Redis RC-1 to build EventTracker and our migration to the stable release. We showcase our smart client-side failover mechanisms for when the Redis nodes are not reachable. We shed light on the problems we have faced when scaling this service and the manner in which we have dealt with each of these problems."

Troubleshooting Redis

Redis Failure Cases, Redis Failover and Redis Monitoring.

Redis in a Multi Tenant Environment

"Running any application in a multi-tenant environment poses its challenges. This talk is focused around how we at Rackspace run Redis in a multi-tenant environment, ensuring security, performance, fault tolerance and high availability. This talk will cover: an architecture deep dive of multi tenant Redis on the cloud, management of sentinels, monitoring and operations of a large"

The Redis API: Simple, Composable, Powerful

"The audience will learn how to use the power of the Redis API by composing Redis commands, data types, and data structures into powerful queries. The talk will cover common use cases such as leaderboards, profiles/sessions, voting, latest items, followers, who’s online, and advanced topics such as secondary indexes."

Background Tasks in Node

The talk gives an overview of some of the many ways you can perform background taks in node, which include: Foreground (in-line) Parallel (threaded-ish) Local Messages (fork-ish) Remote Messages Remote Queues (Resque-ish) Event Bus (Kafka-ish) For every section, we show an example, and more interestingly, note how node makes every step better/faster/stronger... even the bad ideas! The idea for the talk came from a twitter conversation with @dshaw, host of NodeUP about how easy it was to have multiple node workers in Node-Resque... Check out the presentation to learn how!

Scaling a Queuing Pub/Sub Server in C

This talk is about embedding, debugging and verifying complex Lua scripts in a large C project, and offloading low-level logic to high-level Lua on Redis.

Real Time Recommendations Using WebSockets and Redis

"WebSockets connect the browser to your app server. But what if the processing happens on some other server? In that case you need to connect the worker process to the app process via a messaging system. After experimenting with RabbitMQ, we settled on Redis as a great pub sub and a caching system. This presentation will describe the architecture of the system and how we use spring-websockets and spring-data-Redis to power the system. As a bonus, we will show a great way to find out in real time how many users are currently using your system."

RedisConf 2016 - Redis usage and ecosystem

RedisConf 2016 talk about Redis usage and ecosystem based on Redsmin large monitoring dataset.

Distributed Application Logic in Ruby with Redis at Appboy

"At our scale, parallelization is a must, but distributed logic requires synchronization. We use Redis for synchronization. In this talk, I’ll go over a few use cases that we use at Appboy, such as rate limiting, and will include a deep-dive on our Redis-backed Ruby semaphore code."

Code and libraries

redis-blpop-pool: Pool for Redis BLPOP command

In certain cases you might need to use extensively blpop command on very large number of keys. You will end up with a dilemma of either using single connection with BLPOP blocking on X keys or creating X connections for each key.
This package tries to solve this problem with compromising between the two.

redis-tdigest: t-digest module for Redis

This is a Redis module for the t-digest data structure which can be used for accurate online accumulation of rank-based statistics such as quantiles and cumulative distribution at a point. The implementation is based on the Merging Digest implementation by the author.

redis-ssdb-proxy

The Redis SSDB Proxy reads from redis (or ssdb) and write to ssdb (or redis), useful for ssdb migration on production.


Redis Weekly

A free, once–weekly e-mail round-up of Redis news, articles, tools and libraries.

ONE e-mail each Friday. Easy unsubscribe. No spam — your e-mail address is safe.