SlideShare a Scribd company logo
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Memory Management Made Simple
Kevin McGehee (Software Development Engineer)
Madelyn Olson (Software Development Engineer)
Amazon ElastiCache
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Introduction to memory
• How Redis uses memory & how to tune it
1. Dataset
2. Input & output buffers
3. Cron jobs + background threads
4. Additional Redis metadata
5. Snapshotting
6. Allocator fragmentation + metadata
• Summary of best practices
Outline
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Fast
<1ms latency for
most commands
Open source
Simple
Highly available
Replication
Atomic operations
Supports transactions
In-memory
key-value store
Powerful
~200 commands, Lua scripting,
Pub/Sub
Various data structures
Strings, lists, hashes, sets, sorted sets, streams,
geospatial, bitmaps, streams
and HyperLogLogs
Backup/Restore
Enables snapshotting
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Introduction to memory
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Random Access Memory (RAM)
• Byte-addressable device that allows consistent, low-latency access to data
• Traditionally volatile
• Data is lost without power
• RAM is a finite resource
• Lacks the same scalability properties of disks
Memory: how computers remember
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Swap pretends to give you more RAM
• But it’s cheating
Memory: how computers remember
B
C
D
F
Swap In
A E
Swap Out
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• All Redis data is in RAM all the time
• Important to understand how Redis uses memory & how to tune
• No hard limit on process memory usage
• When out of memory (OOM), exits
• Swap can prevent crashes but degrades performance
Redis & memory
static void zmalloc_default_oom(size_t size) {
fprintf(stderr, "zmalloc: Out of memory trying
to allocate %zu bytesn", size);
fflush(stderr);
abort();
}
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
How Redis uses memory
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Redis memory info
# Memory
used_memory:327700504
used_memory_human:312.52M
used_memory_rss:338391040
used_memory_rss_human:322.71M
used_memory_peak:327778768
used_memory_peak_human:312.59M
used_memory_peak_perc:99.98%
used_memory_overhead:93743400
used_memory_startup:509680
used_memory_dataset:233957104
used_memory_dataset_perc:71.50%
allocator_allocated:327700616
allocator_active:328024064
allocator_resident:337584128
total_system_memory:1044770816
total_system_memory_human:996.37M
used_memory_lua:37888
used_memory_lua_human:37.00K
maxmemory:0
maxmemory_human:0B
maxmemory_policy:noeviction
allocator_frag_ratio:1.00
allocator_frag_bytes:323448
allocator_rss_ratio:1.03
allocator_rss_bytes:9560064
rss_overhead_ratio:1.00
rss_overhead_bytes:806912
mem_fragmentation_ratio:1.03
mem_fragmentation_bytes:10773560
mem_allocator:jemalloc-4.0.3
active_defrag_running:0
lazyfree_pending_objects:0
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Keys and values
• Value size depends on data type used
• Values may require different amounts of memory on primary and replica
Item #1: Redis dataset
used_memory_dataset:233957104
used_memory_dataset_perc:71.50%
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• used_memory value
• All the memory Redis has allocated within the process (not just dataset)
• maxmemory parameter
• Goal for maximum memory consumption
• When reached, will trigger eviction and possibly reject further writes
Redis dataset control
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• maxmemory-policy parameter
• What to do when used_memory >= maxmemory
• Eviction policy: how Redis selects which items to remove when
maxmemory is reached
• volatile-{lru,lfu,random,ttl}
– volatile == TTL is set
• allkeys-{lru,lfu,random}
• noeviction
• Best effort check before commands are executed
Redis dataset control
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Redis per item overhead
Bytes
1-2 (assuming 0.5-1.0 load
factor) pointers in the hash
table
8-16
dictEntry Structure: 3
Pointers
24
Key Sds structure: Header
size 3 byte assuming key
size > 32 bytes, 1 byte for
null terminator
4
Value Redis Object Structure 16
If expiry is set 32-40
Total 60, 100 (if expiry set)
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Different data structures have different tradeoffs
• Sds (Strings)
• Embedded string (Strings)
• Integer (Strings)
• HashMap (Main DB, Hash, Sorted Set, Set)
• Intset (Set)
• ZipList (Hash, Sorted Set)
• Skiplist (Sorted Set)
• QuickList (List)
• And more (Radix, zipmap, linked list)
Redis data structures are represented differently
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Some data structures scale better
• Memory locality
• Some data-structures have one way conversions
• Intset -> HashMap
• Embedded String -> String
• Integer -> String
• ZipList -> HashMap
• ZipList <-> Skiplist
• Reload the data to reset data structure
One way conversions can increase memory
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Simple Dynamic String
• Can scale dynamically
• Low overhead for string, used throughout Redis
• Different encodings have different overhead
• Embedded String
• Removes pointer to value, better memory utilization
• String is up to 44 bytes, total 64 bytes with redis-object
• Integer Encoded
• Converts a string to an integer if possible
Example – Strings
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Example – Strings
“123456789” – 29 bytes
<8 bytes of overhead>
<8 bytes for pointer>
<3 bytes of header>
<10 bytes for string>
“123456789” - 21 bytes
<8 bytes of overhead>
<3 bytes of header>
<10 bytes for string>
“123456789” – 16 bytes
<8 bytes of overhead>
<8 bytes for string>
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Ziplist is a packed binary encoding of the data in the list
• 1-9 bytes per entry of overhead, 11 bytes for datastructure structure
overhead
• Fast when data structure is small from memory locality
• Generic Solution for key/value store
• 24 Bytes per entry + (8-16) pointer from main table
• 64 Bytes of overhead
• Scales well
• Supports dynamic resizing
Example – Hashes (Ziplist or HashMap)
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• ”Hello”: “World” – 25 Bytes
• [0f 00 00 00] [0c 00 00 00] [02 00] - Overhead
• [00] [05] [48 65 6c 6c 6f] - ”Hello”
• [07] [06] [57 6f 72 6c 64] [ff] – “World” + end marker
Ziplist - example
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
HashMap - Example
• Total Size: 112 Bytes
• Dictionary – 64 Bytes
• Entry array - 8 bytes
• Entry – 24 bytes
• Data x2 – 16 bytes
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Datatype conversions
• hash-max-ziplist-entries (Default 512)
• hash-max-ziplist-value (Default 64)
• set-max-intset-entries (Default 512)
• zset-max-ziplist-entries (Default 128)
• zset-max-ziplist-value (Default 64)
• List compression
• list-compress-depth (Default 0)
• list-max-ziplist-size (Default -2)
Redis data structure configs
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Store blobs of data as strings when possible
• HyperLogLog (just a string) for object counting
• Use Bitmaps instead of individual keys
• Integers and intsets are compact
Better utilize data structures
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• JSON -> MsgPack
• Supported in LUA already
• {"compact":true,"schema":0}
• 82 a7 63 6f 6d 70 61 63 74 c3 a6 73 63 68 65 6d 61 00
• Fixed structure -> protobuf
Use a better serializer for your data
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Trade off client side performance for server side memory
reduction
• LZO, Google Snappy – Fast compression, low ratio
• bzip2, Brotli – Slow compression, high ratio
• https://quixdb.github.io/squash-benchmark/
• Some Clients have built in support
• https://github.com/lettuce-io/lettuce-core
Compression
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• https://rdbtools.com/
• Runs on a running cluster or
snapshot
• Profiles the amount of memory by
keys and patterns
• Shows which data structures are using
the most memory
Use RDBTools to analyze data
Image from https://rdbtools.com/
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Client commands are buffered internally
• Redis reads from socket incrementally
• Large commands are aggregated until the end-of-command
• Limits default to 1GB: client-query-buffer-limit
Item #2: Input & Output buffers
HSET user:john favorite_food
John input buffer
John
kale smoothies
Execute!
client_biggest_input_buf:0
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Each connected client has a 16KB output buffer
• Expands to a linked list for larger responses
• Output to commands are buffered to allow atomic processing
• Data is copied into per-client buffers (e.g. KEYS *)
• Redis writes to socket incrementally
• Limits are per client type: client-output-buffer-limit {normal, pubsub, replica}
Item #2: Input & Output buffers
HGETALL user:alice
Alice input buffer
Alice
Execute!
Alice output buffer
1) "favorite_food"
2) "lemonade"
3) "favorite_color"
4) "green"
client_longest_output_list:0
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Replication Output Buffers
• Used for replication to feed replicas with all incoming writes
• Accumulates quickly during high write throughput
• Grows without draining during replica bootstrap (snapshotting)
• If too large in steady-state, could point to other problems
Item #2: Input & Output buffers
Alice
Bob
Replica output buffer
INCR mycounter
INCR mycounter
Primary Replica
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Activerehashing
• Hash table expansion + rehashing
• Resizes the main dictionary when it reaches a specified load factor
• Provides better performance in hash lookups
• Two hash tables exist simultaneously
• TTL expiration
• Items are not guaranteed to reclaim memory when TTL fires
• Background job samples items with TTLs and deletes expired items
• Maintains carrying capacity of 25% expired items
• Can use SCAN to force expiration
Item #3: Cron jobs & background threads
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Script cache
• Parameterize input arguments instead of loading multiple scripts
• Modules
• Replication backlog buffer
• Fixed circular buffer to allow PSYNC (default 1MB)
• AOF rewrite buffer
• Expanding in-memory buffer for writes to flush to disk
Item #4: Additional Redis metadata
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• fork() OS call is used to provide copy-on-write behavior
• Parent keeps processing requests, child iterates over existing keyspace
• Every time a page of RAM is written to by parent, it is copied
Item #5: Snapshotting (BGSAVE)
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Item #5: Snapshotting (BGSAVE)
DEL session:cindy
Cindy
Replica output buffer
A
B
C
D
A’
DEL session:cindy
Primary Replica
BGSAVE
Process
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Reserve more memory (use lower maxmemory)
• 50% recommended
Item #5: Snapshotting (BGSAVE)
RDB: 100 MB of memory used by copy-on-write
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Buffer cache memory may go up while snapshotting / AOF
• This memory can be reclaimed by OS when needed
Item #5: Snapshotting (BGSAVE)
$ free -m
total used free shared buffers cached
Mem: 2007 1834 172 0 67 914
-/+ buffers/cache: 853 1153
Swap: 2007 0 2007
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Fragmentation occurs when there are unused holes in memory
• This memory is “wasted” and not available to application
Item #6: Fragmentation
mem_fragmentation_ratio:1.03
mem_fragmentation_bytes:10773560
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Use jemalloc
• Jemalloc minimizes fragmentation
• Splits up pages into size classes, limiting internal fragmentation
• Activedefrag
• Moves memory around to reduce fragmentation
• MEMORY PURGE
• Restart the process
• Reloads data from RDB/AOF
Item #6: Fragmentation
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Key takeaways
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Set maxmemory and eviction policy
• Swap adds protection against crashes
• Data structures vary based on size, and can be tuned for usage
• Consider serialization and compression to reduce dataset size
Best Practices
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Replication and snapshotting require more memory, especially
with lots of writes
• Buffering can be a large source of memory usage, especially with
many clients
• Account for overhead in sizing your database
Best Practices
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• REDIS INFO MEMORY
• Hopefully you can parse the output better!
• MEMORY USAGE <key> [SAMPLES <count>]
• Estimate the size of a {key, value} item + metadata in bytes
• MEMORY DOCTOR
• Analyze memory stats for possible problems + suggests fixes
Tools
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Fully-managed
Extreme performance
In-memory data store and cache for
sub-millisecond response times
Platform tuning and optimization (e.g.
R5/M5)
Fully managed
AWS manages all hardware and software
setup, configuration, monitoring
Easily scalable
Read scaling with replicas
Write and memory scaling with sharding
(up to 250 nodes / 170TB of data)
Redis compatible
Redis 5 Support
Redis client compatible
Reliable
Multi-AZ
Deep monitoring
Automatic failover
Secure and compliant
Amazon VPC
HIPAA, PCI, FedRAMP
Encryption at-rest and in-transit
Authentication
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Redis page
aws.amazon.com/redis
ElastiCache for Redis page
aws.amazon.com/elasticache/redis
Contact us
aws.amazon.com/contact-us/
Get started
Thank you!
Kevin McGehee | mcgehee@amazon.com
Madelyn Olson | matolson@amazon.com

More Related Content

What's hot

Integrating Hadoop Into the Enterprise – Hadoop Summit 2012
Integrating Hadoop Into the Enterprise – Hadoop Summit 2012Integrating Hadoop Into the Enterprise – Hadoop Summit 2012
Integrating Hadoop Into the Enterprise – Hadoop Summit 2012
Jonathan Seidman
 
Jan 2013 HUG: Cloud-Friendly Hadoop and Hive
Jan 2013 HUG: Cloud-Friendly Hadoop and HiveJan 2013 HUG: Cloud-Friendly Hadoop and Hive
Jan 2013 HUG: Cloud-Friendly Hadoop and Hive
Yahoo Developer Network
 
Tcloud Computing Hadoop Family and Ecosystem Service 2013.Q3
Tcloud Computing Hadoop Family and Ecosystem Service 2013.Q3Tcloud Computing Hadoop Family and Ecosystem Service 2013.Q3
Tcloud Computing Hadoop Family and Ecosystem Service 2013.Q3
tcloudcomputing-tw
 
Integration of HIve and HBase
Integration of HIve and HBaseIntegration of HIve and HBase
Integration of HIve and HBaseHortonworks
 
HDFS
HDFSHDFS
Hadoop Training | Hadoop Training For Beginners | Hadoop Architecture | Hadoo...
Hadoop Training | Hadoop Training For Beginners | Hadoop Architecture | Hadoo...Hadoop Training | Hadoop Training For Beginners | Hadoop Architecture | Hadoo...
Hadoop Training | Hadoop Training For Beginners | Hadoop Architecture | Hadoo...
Simplilearn
 
2013 feb 20_thug_h_catalog
2013 feb 20_thug_h_catalog2013 feb 20_thug_h_catalog
2013 feb 20_thug_h_catalog
Adam Muise
 
Cloudera Hadoop Administrator Content - ReadyNerd
Cloudera Hadoop Administrator Content - ReadyNerdCloudera Hadoop Administrator Content - ReadyNerd
Cloudera Hadoop Administrator Content - ReadyNerdReadyNerd Computer Academy
 
Postgres.foreign.data.wrappers.2015
Postgres.foreign.data.wrappers.2015Postgres.foreign.data.wrappers.2015
Postgres.foreign.data.wrappers.2015
EDB
 
Hadoop Tutorial
Hadoop TutorialHadoop Tutorial
Hadoop Tutorial
awesomesos
 
Hadoop - Overview
Hadoop - OverviewHadoop - Overview
Hadoop - Overview
Jay
 
Data Analysis with Hadoop and Hive, ChicagoDB 2/21/2011
Data Analysis with Hadoop and Hive, ChicagoDB 2/21/2011Data Analysis with Hadoop and Hive, ChicagoDB 2/21/2011
Data Analysis with Hadoop and Hive, ChicagoDB 2/21/2011
Jonathan Seidman
 
מיכאל
מיכאלמיכאל
מיכאל
sqlserver.co.il
 
Introduction to Hadoop
Introduction to HadoopIntroduction to Hadoop
Introduction to Hadoop
joelcrabb
 
Tcloud Computing Hadoop Family and Ecosystem Service 2013.Q2
Tcloud Computing Hadoop Family and Ecosystem Service 2013.Q2Tcloud Computing Hadoop Family and Ecosystem Service 2013.Q2
Tcloud Computing Hadoop Family and Ecosystem Service 2013.Q2
tcloudcomputing-tw
 
Hadoop Summit 2012 | HBase Consistency and Performance Improvements
Hadoop Summit 2012 | HBase Consistency and Performance ImprovementsHadoop Summit 2012 | HBase Consistency and Performance Improvements
Hadoop Summit 2012 | HBase Consistency and Performance Improvements
Cloudera, Inc.
 
Hadoop Successes and Failures to Drive Deployment Evolution
Hadoop Successes and Failures to Drive Deployment EvolutionHadoop Successes and Failures to Drive Deployment Evolution
Hadoop Successes and Failures to Drive Deployment Evolution
Benoit Perroud
 
Apache Hadoop Tutorial | Hadoop Tutorial For Beginners | Big Data Hadoop | Ha...
Apache Hadoop Tutorial | Hadoop Tutorial For Beginners | Big Data Hadoop | Ha...Apache Hadoop Tutorial | Hadoop Tutorial For Beginners | Big Data Hadoop | Ha...
Apache Hadoop Tutorial | Hadoop Tutorial For Beginners | Big Data Hadoop | Ha...
Edureka!
 
Intro To Hadoop
Intro To HadoopIntro To Hadoop
Intro To Hadoop
Bill Graham
 

What's hot (20)

Integrating Hadoop Into the Enterprise – Hadoop Summit 2012
Integrating Hadoop Into the Enterprise – Hadoop Summit 2012Integrating Hadoop Into the Enterprise – Hadoop Summit 2012
Integrating Hadoop Into the Enterprise – Hadoop Summit 2012
 
Jan 2013 HUG: Cloud-Friendly Hadoop and Hive
Jan 2013 HUG: Cloud-Friendly Hadoop and HiveJan 2013 HUG: Cloud-Friendly Hadoop and Hive
Jan 2013 HUG: Cloud-Friendly Hadoop and Hive
 
Tcloud Computing Hadoop Family and Ecosystem Service 2013.Q3
Tcloud Computing Hadoop Family and Ecosystem Service 2013.Q3Tcloud Computing Hadoop Family and Ecosystem Service 2013.Q3
Tcloud Computing Hadoop Family and Ecosystem Service 2013.Q3
 
Integration of HIve and HBase
Integration of HIve and HBaseIntegration of HIve and HBase
Integration of HIve and HBase
 
HDFS
HDFSHDFS
HDFS
 
Hadoop Training | Hadoop Training For Beginners | Hadoop Architecture | Hadoo...
Hadoop Training | Hadoop Training For Beginners | Hadoop Architecture | Hadoo...Hadoop Training | Hadoop Training For Beginners | Hadoop Architecture | Hadoo...
Hadoop Training | Hadoop Training For Beginners | Hadoop Architecture | Hadoo...
 
2013 feb 20_thug_h_catalog
2013 feb 20_thug_h_catalog2013 feb 20_thug_h_catalog
2013 feb 20_thug_h_catalog
 
Cloudera Hadoop Administrator Content - ReadyNerd
Cloudera Hadoop Administrator Content - ReadyNerdCloudera Hadoop Administrator Content - ReadyNerd
Cloudera Hadoop Administrator Content - ReadyNerd
 
Postgres.foreign.data.wrappers.2015
Postgres.foreign.data.wrappers.2015Postgres.foreign.data.wrappers.2015
Postgres.foreign.data.wrappers.2015
 
Hadoop Tutorial
Hadoop TutorialHadoop Tutorial
Hadoop Tutorial
 
Hadoop - Overview
Hadoop - OverviewHadoop - Overview
Hadoop - Overview
 
Data Analysis with Hadoop and Hive, ChicagoDB 2/21/2011
Data Analysis with Hadoop and Hive, ChicagoDB 2/21/2011Data Analysis with Hadoop and Hive, ChicagoDB 2/21/2011
Data Analysis with Hadoop and Hive, ChicagoDB 2/21/2011
 
מיכאל
מיכאלמיכאל
מיכאל
 
Introduction to Hadoop
Introduction to HadoopIntroduction to Hadoop
Introduction to Hadoop
 
Tcloud Computing Hadoop Family and Ecosystem Service 2013.Q2
Tcloud Computing Hadoop Family and Ecosystem Service 2013.Q2Tcloud Computing Hadoop Family and Ecosystem Service 2013.Q2
Tcloud Computing Hadoop Family and Ecosystem Service 2013.Q2
 
Hadoop Summit 2012 | HBase Consistency and Performance Improvements
Hadoop Summit 2012 | HBase Consistency and Performance ImprovementsHadoop Summit 2012 | HBase Consistency and Performance Improvements
Hadoop Summit 2012 | HBase Consistency and Performance Improvements
 
Zh tw cloud computing era
Zh tw cloud computing eraZh tw cloud computing era
Zh tw cloud computing era
 
Hadoop Successes and Failures to Drive Deployment Evolution
Hadoop Successes and Failures to Drive Deployment EvolutionHadoop Successes and Failures to Drive Deployment Evolution
Hadoop Successes and Failures to Drive Deployment Evolution
 
Apache Hadoop Tutorial | Hadoop Tutorial For Beginners | Big Data Hadoop | Ha...
Apache Hadoop Tutorial | Hadoop Tutorial For Beginners | Big Data Hadoop | Ha...Apache Hadoop Tutorial | Hadoop Tutorial For Beginners | Big Data Hadoop | Ha...
Apache Hadoop Tutorial | Hadoop Tutorial For Beginners | Big Data Hadoop | Ha...
 
Intro To Hadoop
Intro To HadoopIntro To Hadoop
Intro To Hadoop
 

Similar to Memory Management Made Simple: Kevin Mcghee, Madelyn Olson

ElastiCache & Redis
ElastiCache & RedisElastiCache & Redis
ElastiCache & Redis
Amazon Web Services
 
ElastiCache & Redis: Database Week San Francisco
ElastiCache & Redis: Database Week San FranciscoElastiCache & Redis: Database Week San Francisco
ElastiCache & Redis: Database Week San Francisco
Amazon Web Services
 
ElastiCache and Redis - Samir Karande
ElastiCache and Redis - Samir KarandeElastiCache and Redis - Samir Karande
ElastiCache and Redis - Samir Karande
Amazon Web Services
 
ElastiCache & Redis: Database Week SF
ElastiCache & Redis: Database Week SFElastiCache & Redis: Database Week SF
ElastiCache & Redis: Database Week SF
Amazon Web Services
 
How Element 84 Raises the Bar on Streaming Satellite Data
How Element 84 Raises the Bar on Streaming Satellite DataHow Element 84 Raises the Bar on Streaming Satellite Data
How Element 84 Raises the Bar on Streaming Satellite Data
Amazon Web Services
 
ElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech Talks
ElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech TalksElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech Talks
ElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech Talks
Amazon Web Services
 
Open Source Managed Databases: Database Week SF
Open Source Managed Databases: Database Week SFOpen Source Managed Databases: Database Week SF
Open Source Managed Databases: Database Week SF
Amazon Web Services
 
10 Hacks for Optimizing MySQL in the Cloud - AWS Online Tech Talks
10 Hacks for Optimizing MySQL in the Cloud - AWS Online Tech Talks10 Hacks for Optimizing MySQL in the Cloud - AWS Online Tech Talks
10 Hacks for Optimizing MySQL in the Cloud - AWS Online Tech Talks
Amazon Web Services
 
利用Fargate無伺服器的容器環境建置高可用的系統
利用Fargate無伺服器的容器環境建置高可用的系統利用Fargate無伺服器的容器環境建置高可用的系統
利用Fargate無伺服器的容器環境建置高可用的系統Amazon Web Services
 
Come scalare da zero ai tuoi primi 10 milioni di utenti.pdf
Come scalare da zero ai tuoi primi 10 milioni di utenti.pdfCome scalare da zero ai tuoi primi 10 milioni di utenti.pdf
Come scalare da zero ai tuoi primi 10 milioni di utenti.pdf
Amazon Web Services
 
Loading Data into Redshift with Lab
Loading Data into Redshift with LabLoading Data into Redshift with Lab
Loading Data into Redshift with Lab
Amazon Web Services
 
Open Source Databases on the Cloud
Open Source Databases on the CloudOpen Source Databases on the Cloud
Open Source Databases on the Cloud
Amazon Web Services
 
Building real-time applications with Amazon ElastiCache - ADB204 - Anaheim AW...
Building real-time applications with Amazon ElastiCache - ADB204 - Anaheim AW...Building real-time applications with Amazon ElastiCache - ADB204 - Anaheim AW...
Building real-time applications with Amazon ElastiCache - ADB204 - Anaheim AW...
Amazon Web Services
 
Loading Data into Amazon Redshift
Loading Data into Amazon RedshiftLoading Data into Amazon Redshift
Loading Data into Amazon Redshift
Amazon Web Services
 
Get the Most out of Your Amazon Elasticsearch Service Domain (ANT334-R1) - AW...
Get the Most out of Your Amazon Elasticsearch Service Domain (ANT334-R1) - AW...Get the Most out of Your Amazon Elasticsearch Service Domain (ANT334-R1) - AW...
Get the Most out of Your Amazon Elasticsearch Service Domain (ANT334-R1) - AW...
Amazon Web Services
 
Building-a-Modern-Data-Platform-in-the-Cloud.pdf
Building-a-Modern-Data-Platform-in-the-Cloud.pdfBuilding-a-Modern-Data-Platform-in-the-Cloud.pdf
Building-a-Modern-Data-Platform-in-the-Cloud.pdf
Amazon Web Services
 
Building High Performance Apps with In-memory Data
Building High Performance Apps with In-memory DataBuilding High Performance Apps with In-memory Data
Building High Performance Apps with In-memory Data
Amazon Web Services
 
ElastiCache Deep Dive: Design Patterns for In-Memory Data Stores (DAT302-R1) ...
ElastiCache Deep Dive: Design Patterns for In-Memory Data Stores (DAT302-R1) ...ElastiCache Deep Dive: Design Patterns for In-Memory Data Stores (DAT302-R1) ...
ElastiCache Deep Dive: Design Patterns for In-Memory Data Stores (DAT302-R1) ...
Amazon Web Services
 
Loading Data into Redshift
Loading Data into RedshiftLoading Data into Redshift
Loading Data into Redshift
Amazon Web Services
 
Immersion Day - Como gerenciar seu catálogo de dados e processo de transform...
Immersion Day -  Como gerenciar seu catálogo de dados e processo de transform...Immersion Day -  Como gerenciar seu catálogo de dados e processo de transform...
Immersion Day - Como gerenciar seu catálogo de dados e processo de transform...
Amazon Web Services LATAM
 

Similar to Memory Management Made Simple: Kevin Mcghee, Madelyn Olson (20)

ElastiCache & Redis
ElastiCache & RedisElastiCache & Redis
ElastiCache & Redis
 
ElastiCache & Redis: Database Week San Francisco
ElastiCache & Redis: Database Week San FranciscoElastiCache & Redis: Database Week San Francisco
ElastiCache & Redis: Database Week San Francisco
 
ElastiCache and Redis - Samir Karande
ElastiCache and Redis - Samir KarandeElastiCache and Redis - Samir Karande
ElastiCache and Redis - Samir Karande
 
ElastiCache & Redis: Database Week SF
ElastiCache & Redis: Database Week SFElastiCache & Redis: Database Week SF
ElastiCache & Redis: Database Week SF
 
How Element 84 Raises the Bar on Streaming Satellite Data
How Element 84 Raises the Bar on Streaming Satellite DataHow Element 84 Raises the Bar on Streaming Satellite Data
How Element 84 Raises the Bar on Streaming Satellite Data
 
ElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech Talks
ElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech TalksElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech Talks
ElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech Talks
 
Open Source Managed Databases: Database Week SF
Open Source Managed Databases: Database Week SFOpen Source Managed Databases: Database Week SF
Open Source Managed Databases: Database Week SF
 
10 Hacks for Optimizing MySQL in the Cloud - AWS Online Tech Talks
10 Hacks for Optimizing MySQL in the Cloud - AWS Online Tech Talks10 Hacks for Optimizing MySQL in the Cloud - AWS Online Tech Talks
10 Hacks for Optimizing MySQL in the Cloud - AWS Online Tech Talks
 
利用Fargate無伺服器的容器環境建置高可用的系統
利用Fargate無伺服器的容器環境建置高可用的系統利用Fargate無伺服器的容器環境建置高可用的系統
利用Fargate無伺服器的容器環境建置高可用的系統
 
Come scalare da zero ai tuoi primi 10 milioni di utenti.pdf
Come scalare da zero ai tuoi primi 10 milioni di utenti.pdfCome scalare da zero ai tuoi primi 10 milioni di utenti.pdf
Come scalare da zero ai tuoi primi 10 milioni di utenti.pdf
 
Loading Data into Redshift with Lab
Loading Data into Redshift with LabLoading Data into Redshift with Lab
Loading Data into Redshift with Lab
 
Open Source Databases on the Cloud
Open Source Databases on the CloudOpen Source Databases on the Cloud
Open Source Databases on the Cloud
 
Building real-time applications with Amazon ElastiCache - ADB204 - Anaheim AW...
Building real-time applications with Amazon ElastiCache - ADB204 - Anaheim AW...Building real-time applications with Amazon ElastiCache - ADB204 - Anaheim AW...
Building real-time applications with Amazon ElastiCache - ADB204 - Anaheim AW...
 
Loading Data into Amazon Redshift
Loading Data into Amazon RedshiftLoading Data into Amazon Redshift
Loading Data into Amazon Redshift
 
Get the Most out of Your Amazon Elasticsearch Service Domain (ANT334-R1) - AW...
Get the Most out of Your Amazon Elasticsearch Service Domain (ANT334-R1) - AW...Get the Most out of Your Amazon Elasticsearch Service Domain (ANT334-R1) - AW...
Get the Most out of Your Amazon Elasticsearch Service Domain (ANT334-R1) - AW...
 
Building-a-Modern-Data-Platform-in-the-Cloud.pdf
Building-a-Modern-Data-Platform-in-the-Cloud.pdfBuilding-a-Modern-Data-Platform-in-the-Cloud.pdf
Building-a-Modern-Data-Platform-in-the-Cloud.pdf
 
Building High Performance Apps with In-memory Data
Building High Performance Apps with In-memory DataBuilding High Performance Apps with In-memory Data
Building High Performance Apps with In-memory Data
 
ElastiCache Deep Dive: Design Patterns for In-Memory Data Stores (DAT302-R1) ...
ElastiCache Deep Dive: Design Patterns for In-Memory Data Stores (DAT302-R1) ...ElastiCache Deep Dive: Design Patterns for In-Memory Data Stores (DAT302-R1) ...
ElastiCache Deep Dive: Design Patterns for In-Memory Data Stores (DAT302-R1) ...
 
Loading Data into Redshift
Loading Data into RedshiftLoading Data into Redshift
Loading Data into Redshift
 
Immersion Day - Como gerenciar seu catálogo de dados e processo de transform...
Immersion Day -  Como gerenciar seu catálogo de dados e processo de transform...Immersion Day -  Como gerenciar seu catálogo de dados e processo de transform...
Immersion Day - Como gerenciar seu catálogo de dados e processo de transform...
 

More from Redis Labs

Redis Day Bangalore 2020 - Session state caching with redis
Redis Day Bangalore 2020 - Session state caching with redisRedis Day Bangalore 2020 - Session state caching with redis
Redis Day Bangalore 2020 - Session state caching with redis
Redis Labs
 
Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020
Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020
Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020
Redis Labs
 
The Happy Marriage of Redis and Protobuf by Scott Haines of Twilio - Redis Da...
The Happy Marriage of Redis and Protobuf by Scott Haines of Twilio - Redis Da...The Happy Marriage of Redis and Protobuf by Scott Haines of Twilio - Redis Da...
The Happy Marriage of Redis and Protobuf by Scott Haines of Twilio - Redis Da...
Redis Labs
 
SQL, Redis and Kubernetes by Paul Stanton of Windocks - Redis Day Seattle 2020
SQL, Redis and Kubernetes by Paul Stanton of Windocks - Redis Day Seattle 2020SQL, Redis and Kubernetes by Paul Stanton of Windocks - Redis Day Seattle 2020
SQL, Redis and Kubernetes by Paul Stanton of Windocks - Redis Day Seattle 2020
Redis Labs
 
Rust and Redis - Solving Problems for Kubernetes by Ravi Jagannathan of VMwar...
Rust and Redis - Solving Problems for Kubernetes by Ravi Jagannathan of VMwar...Rust and Redis - Solving Problems for Kubernetes by Ravi Jagannathan of VMwar...
Rust and Redis - Solving Problems for Kubernetes by Ravi Jagannathan of VMwar...
Redis Labs
 
Redis for Data Science and Engineering by Dmitry Polyakovsky of Oracle
Redis for Data Science and Engineering by Dmitry Polyakovsky of OracleRedis for Data Science and Engineering by Dmitry Polyakovsky of Oracle
Redis for Data Science and Engineering by Dmitry Polyakovsky of Oracle
Redis Labs
 
Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020
Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020
Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020
Redis Labs
 
Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020
Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020
Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020
Redis Labs
 
Leveraging Redis for System Monitoring by Adam McCormick of SBG - Redis Day S...
Leveraging Redis for System Monitoring by Adam McCormick of SBG - Redis Day S...Leveraging Redis for System Monitoring by Adam McCormick of SBG - Redis Day S...
Leveraging Redis for System Monitoring by Adam McCormick of SBG - Redis Day S...
Redis Labs
 
JSON in Redis - When to use RedisJSON by Jay Won of Coupang - Redis Day Seatt...
JSON in Redis - When to use RedisJSON by Jay Won of Coupang - Redis Day Seatt...JSON in Redis - When to use RedisJSON by Jay Won of Coupang - Redis Day Seatt...
JSON in Redis - When to use RedisJSON by Jay Won of Coupang - Redis Day Seatt...
Redis Labs
 
Highly Available Persistent Session Management Service by Mohamed Elmergawi o...
Highly Available Persistent Session Management Service by Mohamed Elmergawi o...Highly Available Persistent Session Management Service by Mohamed Elmergawi o...
Highly Available Persistent Session Management Service by Mohamed Elmergawi o...
Redis Labs
 
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...
Redis Labs
 
Building a Multi-dimensional Analytics Engine with RedisGraph by Matthew Goos...
Building a Multi-dimensional Analytics Engine with RedisGraph by Matthew Goos...Building a Multi-dimensional Analytics Engine with RedisGraph by Matthew Goos...
Building a Multi-dimensional Analytics Engine with RedisGraph by Matthew Goos...
Redis Labs
 
RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020
RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020
RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020
Redis Labs
 
RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020
RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020
RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020
Redis Labs
 
RedisTimeSeries 1.2 by Pieter Cailliau - Redis Day Bangalore 2020
RedisTimeSeries 1.2 by Pieter Cailliau - Redis Day Bangalore 2020RedisTimeSeries 1.2 by Pieter Cailliau - Redis Day Bangalore 2020
RedisTimeSeries 1.2 by Pieter Cailliau - Redis Day Bangalore 2020
Redis Labs
 
RedisAI 0.9 by Sherin Thomas of Tensorwerk - Redis Day Bangalore 2020
RedisAI 0.9 by Sherin Thomas of Tensorwerk - Redis Day Bangalore 2020RedisAI 0.9 by Sherin Thomas of Tensorwerk - Redis Day Bangalore 2020
RedisAI 0.9 by Sherin Thomas of Tensorwerk - Redis Day Bangalore 2020
Redis Labs
 
Rate-Limiting 30 Million requests by Vijay Lakshminarayanan and Girish Koundi...
Rate-Limiting 30 Million requests by Vijay Lakshminarayanan and Girish Koundi...Rate-Limiting 30 Million requests by Vijay Lakshminarayanan and Girish Koundi...
Rate-Limiting 30 Million requests by Vijay Lakshminarayanan and Girish Koundi...
Redis Labs
 
Three Pillars of Observability by Rajalakshmi Raji Srinivasan of Site24x7 Zoh...
Three Pillars of Observability by Rajalakshmi Raji Srinivasan of Site24x7 Zoh...Three Pillars of Observability by Rajalakshmi Raji Srinivasan of Site24x7 Zoh...
Three Pillars of Observability by Rajalakshmi Raji Srinivasan of Site24x7 Zoh...
Redis Labs
 
Solving Complex Scaling Problems by Prashant Kumar and Abhishek Jain of Myntr...
Solving Complex Scaling Problems by Prashant Kumar and Abhishek Jain of Myntr...Solving Complex Scaling Problems by Prashant Kumar and Abhishek Jain of Myntr...
Solving Complex Scaling Problems by Prashant Kumar and Abhishek Jain of Myntr...
Redis Labs
 

More from Redis Labs (20)

Redis Day Bangalore 2020 - Session state caching with redis
Redis Day Bangalore 2020 - Session state caching with redisRedis Day Bangalore 2020 - Session state caching with redis
Redis Day Bangalore 2020 - Session state caching with redis
 
Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020
Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020
Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020
 
The Happy Marriage of Redis and Protobuf by Scott Haines of Twilio - Redis Da...
The Happy Marriage of Redis and Protobuf by Scott Haines of Twilio - Redis Da...The Happy Marriage of Redis and Protobuf by Scott Haines of Twilio - Redis Da...
The Happy Marriage of Redis and Protobuf by Scott Haines of Twilio - Redis Da...
 
SQL, Redis and Kubernetes by Paul Stanton of Windocks - Redis Day Seattle 2020
SQL, Redis and Kubernetes by Paul Stanton of Windocks - Redis Day Seattle 2020SQL, Redis and Kubernetes by Paul Stanton of Windocks - Redis Day Seattle 2020
SQL, Redis and Kubernetes by Paul Stanton of Windocks - Redis Day Seattle 2020
 
Rust and Redis - Solving Problems for Kubernetes by Ravi Jagannathan of VMwar...
Rust and Redis - Solving Problems for Kubernetes by Ravi Jagannathan of VMwar...Rust and Redis - Solving Problems for Kubernetes by Ravi Jagannathan of VMwar...
Rust and Redis - Solving Problems for Kubernetes by Ravi Jagannathan of VMwar...
 
Redis for Data Science and Engineering by Dmitry Polyakovsky of Oracle
Redis for Data Science and Engineering by Dmitry Polyakovsky of OracleRedis for Data Science and Engineering by Dmitry Polyakovsky of Oracle
Redis for Data Science and Engineering by Dmitry Polyakovsky of Oracle
 
Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020
Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020
Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020
 
Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020
Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020
Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020
 
Leveraging Redis for System Monitoring by Adam McCormick of SBG - Redis Day S...
Leveraging Redis for System Monitoring by Adam McCormick of SBG - Redis Day S...Leveraging Redis for System Monitoring by Adam McCormick of SBG - Redis Day S...
Leveraging Redis for System Monitoring by Adam McCormick of SBG - Redis Day S...
 
JSON in Redis - When to use RedisJSON by Jay Won of Coupang - Redis Day Seatt...
JSON in Redis - When to use RedisJSON by Jay Won of Coupang - Redis Day Seatt...JSON in Redis - When to use RedisJSON by Jay Won of Coupang - Redis Day Seatt...
JSON in Redis - When to use RedisJSON by Jay Won of Coupang - Redis Day Seatt...
 
Highly Available Persistent Session Management Service by Mohamed Elmergawi o...
Highly Available Persistent Session Management Service by Mohamed Elmergawi o...Highly Available Persistent Session Management Service by Mohamed Elmergawi o...
Highly Available Persistent Session Management Service by Mohamed Elmergawi o...
 
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...
 
Building a Multi-dimensional Analytics Engine with RedisGraph by Matthew Goos...
Building a Multi-dimensional Analytics Engine with RedisGraph by Matthew Goos...Building a Multi-dimensional Analytics Engine with RedisGraph by Matthew Goos...
Building a Multi-dimensional Analytics Engine with RedisGraph by Matthew Goos...
 
RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020
RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020
RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020
 
RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020
RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020
RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020
 
RedisTimeSeries 1.2 by Pieter Cailliau - Redis Day Bangalore 2020
RedisTimeSeries 1.2 by Pieter Cailliau - Redis Day Bangalore 2020RedisTimeSeries 1.2 by Pieter Cailliau - Redis Day Bangalore 2020
RedisTimeSeries 1.2 by Pieter Cailliau - Redis Day Bangalore 2020
 
RedisAI 0.9 by Sherin Thomas of Tensorwerk - Redis Day Bangalore 2020
RedisAI 0.9 by Sherin Thomas of Tensorwerk - Redis Day Bangalore 2020RedisAI 0.9 by Sherin Thomas of Tensorwerk - Redis Day Bangalore 2020
RedisAI 0.9 by Sherin Thomas of Tensorwerk - Redis Day Bangalore 2020
 
Rate-Limiting 30 Million requests by Vijay Lakshminarayanan and Girish Koundi...
Rate-Limiting 30 Million requests by Vijay Lakshminarayanan and Girish Koundi...Rate-Limiting 30 Million requests by Vijay Lakshminarayanan and Girish Koundi...
Rate-Limiting 30 Million requests by Vijay Lakshminarayanan and Girish Koundi...
 
Three Pillars of Observability by Rajalakshmi Raji Srinivasan of Site24x7 Zoh...
Three Pillars of Observability by Rajalakshmi Raji Srinivasan of Site24x7 Zoh...Three Pillars of Observability by Rajalakshmi Raji Srinivasan of Site24x7 Zoh...
Three Pillars of Observability by Rajalakshmi Raji Srinivasan of Site24x7 Zoh...
 
Solving Complex Scaling Problems by Prashant Kumar and Abhishek Jain of Myntr...
Solving Complex Scaling Problems by Prashant Kumar and Abhishek Jain of Myntr...Solving Complex Scaling Problems by Prashant Kumar and Abhishek Jain of Myntr...
Solving Complex Scaling Problems by Prashant Kumar and Abhishek Jain of Myntr...
 

Recently uploaded

Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 

Recently uploaded (20)

Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 

Memory Management Made Simple: Kevin Mcghee, Madelyn Olson

  • 1. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Memory Management Made Simple Kevin McGehee (Software Development Engineer) Madelyn Olson (Software Development Engineer) Amazon ElastiCache
  • 2. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Introduction to memory • How Redis uses memory & how to tune it 1. Dataset 2. Input & output buffers 3. Cron jobs + background threads 4. Additional Redis metadata 5. Snapshotting 6. Allocator fragmentation + metadata • Summary of best practices Outline
  • 3. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Fast <1ms latency for most commands Open source Simple Highly available Replication Atomic operations Supports transactions In-memory key-value store Powerful ~200 commands, Lua scripting, Pub/Sub Various data structures Strings, lists, hashes, sets, sorted sets, streams, geospatial, bitmaps, streams and HyperLogLogs Backup/Restore Enables snapshotting
  • 4. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Introduction to memory
  • 5. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Random Access Memory (RAM) • Byte-addressable device that allows consistent, low-latency access to data • Traditionally volatile • Data is lost without power • RAM is a finite resource • Lacks the same scalability properties of disks Memory: how computers remember
  • 6. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Swap pretends to give you more RAM • But it’s cheating Memory: how computers remember B C D F Swap In A E Swap Out
  • 7. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • All Redis data is in RAM all the time • Important to understand how Redis uses memory & how to tune • No hard limit on process memory usage • When out of memory (OOM), exits • Swap can prevent crashes but degrades performance Redis & memory static void zmalloc_default_oom(size_t size) { fprintf(stderr, "zmalloc: Out of memory trying to allocate %zu bytesn", size); fflush(stderr); abort(); }
  • 8. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. How Redis uses memory
  • 9. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Redis memory info # Memory used_memory:327700504 used_memory_human:312.52M used_memory_rss:338391040 used_memory_rss_human:322.71M used_memory_peak:327778768 used_memory_peak_human:312.59M used_memory_peak_perc:99.98% used_memory_overhead:93743400 used_memory_startup:509680 used_memory_dataset:233957104 used_memory_dataset_perc:71.50% allocator_allocated:327700616 allocator_active:328024064 allocator_resident:337584128 total_system_memory:1044770816 total_system_memory_human:996.37M used_memory_lua:37888 used_memory_lua_human:37.00K maxmemory:0 maxmemory_human:0B maxmemory_policy:noeviction allocator_frag_ratio:1.00 allocator_frag_bytes:323448 allocator_rss_ratio:1.03 allocator_rss_bytes:9560064 rss_overhead_ratio:1.00 rss_overhead_bytes:806912 mem_fragmentation_ratio:1.03 mem_fragmentation_bytes:10773560 mem_allocator:jemalloc-4.0.3 active_defrag_running:0 lazyfree_pending_objects:0
  • 10. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Keys and values • Value size depends on data type used • Values may require different amounts of memory on primary and replica Item #1: Redis dataset used_memory_dataset:233957104 used_memory_dataset_perc:71.50%
  • 11. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • used_memory value • All the memory Redis has allocated within the process (not just dataset) • maxmemory parameter • Goal for maximum memory consumption • When reached, will trigger eviction and possibly reject further writes Redis dataset control
  • 12. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • maxmemory-policy parameter • What to do when used_memory >= maxmemory • Eviction policy: how Redis selects which items to remove when maxmemory is reached • volatile-{lru,lfu,random,ttl} – volatile == TTL is set • allkeys-{lru,lfu,random} • noeviction • Best effort check before commands are executed Redis dataset control
  • 13. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Redis per item overhead Bytes 1-2 (assuming 0.5-1.0 load factor) pointers in the hash table 8-16 dictEntry Structure: 3 Pointers 24 Key Sds structure: Header size 3 byte assuming key size > 32 bytes, 1 byte for null terminator 4 Value Redis Object Structure 16 If expiry is set 32-40 Total 60, 100 (if expiry set)
  • 14. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Different data structures have different tradeoffs • Sds (Strings) • Embedded string (Strings) • Integer (Strings) • HashMap (Main DB, Hash, Sorted Set, Set) • Intset (Set) • ZipList (Hash, Sorted Set) • Skiplist (Sorted Set) • QuickList (List) • And more (Radix, zipmap, linked list) Redis data structures are represented differently
  • 15. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Some data structures scale better • Memory locality • Some data-structures have one way conversions • Intset -> HashMap • Embedded String -> String • Integer -> String • ZipList -> HashMap • ZipList <-> Skiplist • Reload the data to reset data structure One way conversions can increase memory
  • 16. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Simple Dynamic String • Can scale dynamically • Low overhead for string, used throughout Redis • Different encodings have different overhead • Embedded String • Removes pointer to value, better memory utilization • String is up to 44 bytes, total 64 bytes with redis-object • Integer Encoded • Converts a string to an integer if possible Example – Strings
  • 17. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Example – Strings “123456789” – 29 bytes <8 bytes of overhead> <8 bytes for pointer> <3 bytes of header> <10 bytes for string> “123456789” - 21 bytes <8 bytes of overhead> <3 bytes of header> <10 bytes for string> “123456789” – 16 bytes <8 bytes of overhead> <8 bytes for string>
  • 18. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Ziplist is a packed binary encoding of the data in the list • 1-9 bytes per entry of overhead, 11 bytes for datastructure structure overhead • Fast when data structure is small from memory locality • Generic Solution for key/value store • 24 Bytes per entry + (8-16) pointer from main table • 64 Bytes of overhead • Scales well • Supports dynamic resizing Example – Hashes (Ziplist or HashMap)
  • 19. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • ”Hello”: “World” – 25 Bytes • [0f 00 00 00] [0c 00 00 00] [02 00] - Overhead • [00] [05] [48 65 6c 6c 6f] - ”Hello” • [07] [06] [57 6f 72 6c 64] [ff] – “World” + end marker Ziplist - example
  • 20. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. HashMap - Example • Total Size: 112 Bytes • Dictionary – 64 Bytes • Entry array - 8 bytes • Entry – 24 bytes • Data x2 – 16 bytes
  • 21. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Datatype conversions • hash-max-ziplist-entries (Default 512) • hash-max-ziplist-value (Default 64) • set-max-intset-entries (Default 512) • zset-max-ziplist-entries (Default 128) • zset-max-ziplist-value (Default 64) • List compression • list-compress-depth (Default 0) • list-max-ziplist-size (Default -2) Redis data structure configs
  • 22. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Store blobs of data as strings when possible • HyperLogLog (just a string) for object counting • Use Bitmaps instead of individual keys • Integers and intsets are compact Better utilize data structures
  • 23. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • JSON -> MsgPack • Supported in LUA already • {"compact":true,"schema":0} • 82 a7 63 6f 6d 70 61 63 74 c3 a6 73 63 68 65 6d 61 00 • Fixed structure -> protobuf Use a better serializer for your data
  • 24. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Trade off client side performance for server side memory reduction • LZO, Google Snappy – Fast compression, low ratio • bzip2, Brotli – Slow compression, high ratio • https://quixdb.github.io/squash-benchmark/ • Some Clients have built in support • https://github.com/lettuce-io/lettuce-core Compression
  • 25. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • https://rdbtools.com/ • Runs on a running cluster or snapshot • Profiles the amount of memory by keys and patterns • Shows which data structures are using the most memory Use RDBTools to analyze data Image from https://rdbtools.com/
  • 26. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Client commands are buffered internally • Redis reads from socket incrementally • Large commands are aggregated until the end-of-command • Limits default to 1GB: client-query-buffer-limit Item #2: Input & Output buffers HSET user:john favorite_food John input buffer John kale smoothies Execute! client_biggest_input_buf:0
  • 27. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Each connected client has a 16KB output buffer • Expands to a linked list for larger responses • Output to commands are buffered to allow atomic processing • Data is copied into per-client buffers (e.g. KEYS *) • Redis writes to socket incrementally • Limits are per client type: client-output-buffer-limit {normal, pubsub, replica} Item #2: Input & Output buffers HGETALL user:alice Alice input buffer Alice Execute! Alice output buffer 1) "favorite_food" 2) "lemonade" 3) "favorite_color" 4) "green" client_longest_output_list:0
  • 28. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Replication Output Buffers • Used for replication to feed replicas with all incoming writes • Accumulates quickly during high write throughput • Grows without draining during replica bootstrap (snapshotting) • If too large in steady-state, could point to other problems Item #2: Input & Output buffers Alice Bob Replica output buffer INCR mycounter INCR mycounter Primary Replica
  • 29. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Activerehashing • Hash table expansion + rehashing • Resizes the main dictionary when it reaches a specified load factor • Provides better performance in hash lookups • Two hash tables exist simultaneously • TTL expiration • Items are not guaranteed to reclaim memory when TTL fires • Background job samples items with TTLs and deletes expired items • Maintains carrying capacity of 25% expired items • Can use SCAN to force expiration Item #3: Cron jobs & background threads
  • 30. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Script cache • Parameterize input arguments instead of loading multiple scripts • Modules • Replication backlog buffer • Fixed circular buffer to allow PSYNC (default 1MB) • AOF rewrite buffer • Expanding in-memory buffer for writes to flush to disk Item #4: Additional Redis metadata
  • 31. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • fork() OS call is used to provide copy-on-write behavior • Parent keeps processing requests, child iterates over existing keyspace • Every time a page of RAM is written to by parent, it is copied Item #5: Snapshotting (BGSAVE)
  • 32. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Item #5: Snapshotting (BGSAVE) DEL session:cindy Cindy Replica output buffer A B C D A’ DEL session:cindy Primary Replica BGSAVE Process
  • 33. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Reserve more memory (use lower maxmemory) • 50% recommended Item #5: Snapshotting (BGSAVE) RDB: 100 MB of memory used by copy-on-write
  • 34. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Buffer cache memory may go up while snapshotting / AOF • This memory can be reclaimed by OS when needed Item #5: Snapshotting (BGSAVE) $ free -m total used free shared buffers cached Mem: 2007 1834 172 0 67 914 -/+ buffers/cache: 853 1153 Swap: 2007 0 2007
  • 35. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Fragmentation occurs when there are unused holes in memory • This memory is “wasted” and not available to application Item #6: Fragmentation mem_fragmentation_ratio:1.03 mem_fragmentation_bytes:10773560
  • 36. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Use jemalloc • Jemalloc minimizes fragmentation • Splits up pages into size classes, limiting internal fragmentation • Activedefrag • Moves memory around to reduce fragmentation • MEMORY PURGE • Restart the process • Reloads data from RDB/AOF Item #6: Fragmentation
  • 37. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Key takeaways
  • 38. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Set maxmemory and eviction policy • Swap adds protection against crashes • Data structures vary based on size, and can be tuned for usage • Consider serialization and compression to reduce dataset size Best Practices
  • 39. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Replication and snapshotting require more memory, especially with lots of writes • Buffering can be a large source of memory usage, especially with many clients • Account for overhead in sizing your database Best Practices
  • 40. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • REDIS INFO MEMORY • Hopefully you can parse the output better! • MEMORY USAGE <key> [SAMPLES <count>] • Estimate the size of a {key, value} item + metadata in bytes • MEMORY DOCTOR • Analyze memory stats for possible problems + suggests fixes Tools
  • 41. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Fully-managed Extreme performance In-memory data store and cache for sub-millisecond response times Platform tuning and optimization (e.g. R5/M5) Fully managed AWS manages all hardware and software setup, configuration, monitoring Easily scalable Read scaling with replicas Write and memory scaling with sharding (up to 250 nodes / 170TB of data) Redis compatible Redis 5 Support Redis client compatible Reliable Multi-AZ Deep monitoring Automatic failover Secure and compliant Amazon VPC HIPAA, PCI, FedRAMP Encryption at-rest and in-transit Authentication
  • 42. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Redis page aws.amazon.com/redis ElastiCache for Redis page aws.amazon.com/elasticache/redis Contact us aws.amazon.com/contact-us/ Get started
  • 43. Thank you! Kevin McGehee | mcgehee@amazon.com Madelyn Olson | matolson@amazon.com