+ All Categories
Home > Technology > RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Date post: 21-Jan-2018
Category:
Upload: redis-labs
View: 643 times
Download: 4 times
Share this document with a friend
29
Building Large, High Performance Databases with Redis Enterprise using Flash Memory Cihan Biyikoglu VP Product Management - Redis Labs [email protected] Frank Ober Solution Architect - Intel [email protected]
Transcript
Page 1: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Building Large, High Performance Databases with Redis Enterprise using Flash

Memory

Cihan BiyikogluVP Product Management - Redis Labs

[email protected]

Frank OberSolution Architect - Intel

[email protected]

Page 2: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Agenda

1. Introduction to Redis Labs

2. Building Large Databases with Redis• Redise and Redise Flash Architecture

3. Redise Flash Performance with Intel Optane• Emerging HW from Intel and Redise Flash Benchmark

Page 3: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Introduction To Redis Labs

Page 4: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Redis Labs – Home of Redis

• Founded in 2011• HQ in Mountain View CA, R&D center in Tel-Aviv IL

The commercial company behind Open Source Redis

Provider of the Redis Enterprise (Redise) technology, platform and products

Page 5: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Redise Cloud Private

Redis Labs Products

Redise Cloud Redise Pack ManagedRedise Pack

SERVICES SOFTWARE

Fully managed Redise service in VPCs within AWS, MS Azure, GCP

& IBM Softlayer

Fully managed Redise service on hosted servers within AWS, MS

Azure, GCP, IBM Softlayer, Heroku, CF & OpenShift

Downloadable Redise software for any enterprise datacenter or

cloud environment

Fully managed Redise Pack in private data centers

&& &

Page 6: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Building Large Database With Redis

Page 7: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Scaling Data with In-Memory Databases

Redise In-Memory Database BenefitsFastest data access – faster than disk based databases!

Stable & consistent performance as you scale!

But RAM is Expensive!

>10-20xRAM vs Flash

$ Cost/GB

Page 8: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Price/Performance – Memory Technology

$9

>$2

$1.0$0.4

DRAM NV-DIMM/PM NVME SSD SATA SSD

$ p

er G

B o

f St

ora

ge

$ Cost of 1 GB

Page 9: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Why Redise Flash?Massive Datasets with Near-Ram Latency

at a Drastically Lower Cost

• Optimized Read/Writes with RAM-Extension approach• Gain speed with smart data placement between RAM & Flash• Built for Cloud – take full advantage of “Ephemeral Storage”• Future proof for upcoming persisted-memory technology

Page 10: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Why Redise Flash?

Lower cost for large data sets

1024 GB RAM >80%

Lower Cost with RAM + Flash

Compared to all-in-RAM

100 GB RAM

924 GB Flash

Page 11: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Why Redise Flash

Redis on RAM Redise Flash

Dataset size 10 TB 10 TB

Database size with replication 30 TB 20 TB*

AWS instance type x1.32xlarge** i3.16xlarge***

Actual instance size (RAM, and RAM+Flash) 1.46 TB 3.66 TB

# of instances needed 21 6+1

Persistent Storage (EBS) 154 TB 110 TB

1 year cost (reserved instances) $1,595,643 $298,896

Savings - 81.27%* Redis Enterprise only needs 1 copy of the data because quorum issues are solved at the node level** x1 EC2 instances on AWS are optimized for memory $s with the cheapest RAM/GB*** i3 instances on AWS are optimized for flash access with NVMe Storage

10TB with AWS-EC2

Page 12: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Redise Architecture

Page 13: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Redise Technology – Cluster Architecture

Redise

Cluster Architecture

• Shared nothing cluster architecture◦ Single node type for simple scalability

• Fully compatible with open source commands & data structures◦ Simply change your Redis application

connection endpoint to Redise

Page 14: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Redise Technology – Node Architecture

Redise

Node Architecture

Cluster ManagerGovern Cluster, Orchestrate Failure Detection, Failover, Stats Collection & more

Redise

ShardsBased on Open Source

Redis

Secure UI & REST APIAllow programmable and visual administration over HTTPS

ProxyScale Connections &

Improve Application Performance

Page 15: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Redise Architecture- Single Threaded, In-memory

Engine with Persistence

- “Lock Free” architecture for fast execution

Connection Handler

Command Parser

Expiry

Eviction

Modules Dispatcher

Process Space

Disk IO (AOF, Snapshots)

Command Dispatcher

Background Services

Replication

Listener

Redis Event Loop

Page 16: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Redise Architecture

- Single Threaded, In-memory Engine with Persistence

- “Lock Free” architecture for fast execution

- In-memory, optimized for high speed access

- Persistence with AOF or Snapshot disk durability

“Strings”

“Hash”

“List”

“Sorted Set”

“Sets”

“Module Types”

-

Key

Key

Key

Key

Key

Key

Key

Key

Key

DISK

Storage Space

Listener

Connection Handler

Command Parser

Expiry

Eviction

Modules Dispatcher

Process Space

Disk IO (AOF, Snapshots)

Command Dispatcher

Background Services

Replication

Redis Event Loop

Page 17: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Redise Architecture

– Redise Flash Shard: ◦ Ability to extend RAM to Flash for

cheaper storage of data (Redise Flash)

Redise Flash Shard

“Sting”

“Sorted Set”

“Set”

-

-

Key

Key

Key

Key

Key

Key

Key

Key

Key

“List”

“Module Types”

-

“Hash”

DISK

Storage Space

Process Space

Listener

Connection Handler

Command Parser

Expiry

Eviction

Modules DispatcherDisk IO (AOF, Snapshots)

Command Dispatcher

Background Services

Replication

Redis Event Loop

Page 18: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Reading And Writing Data

Page 19: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Read/Write Operation with Redise

Proxy

23

1

4

Redise

Redis AppsRedis Apps

MasterShards

SlaveShards

1. App submits the operation. One of the proxies in Redise Receive the Operation

- Single Key Ops (GET,STRLEN,HSTRLEN etc)- Multi Key Ops (MGET, BRPOP, EXISTS, TOUCH, etc)

2. Proxy distributes the operations to the corresponding shards in parallel

3. All shards involved in the execution return data to proxy- Fetch values from Flash if not already in RAM- Replication triggers writes to slave shards

4. Proxy assemble responses back to App

Page 20: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

DEMO

Page 21: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Redise Flash Performance

21

Page 22: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Redise Flash vs Disk Based Databases?Redise Flash Disk Based Databases

Hot Value HandlingNo IO Required

Keep hot values in RAMHeavy IO Required

Keeps writing to disk

Write PerformanceFaster Writes

Non-Durable Writes with RAM Extension approach*

Slower Writes Durable Writes (WAL, Redo logs etc)

Cloud Optimized

Fast Local Writes to Ephemeral Drive

Utilizes the Ephemeral Drive for fast local IO and Network IO for

durability

Slow Writes to Network AttachedStorage

CANNOT Utilizes the Ephemeral Drive for fast local IO

Future ProofReady for Persistent MemorySystems like Intel 3D-XPoint

Needs Re-Architecting

*Redis has durable writes configurable as part of the database configuration as well independent off of the RAM-Extended Flash writes

Page 23: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Redise Flash on Intel® Optane™ SSD vs P3700

2040

1380

590728

14264

0

500

1000

1500

2000

2500

95% 85% 50%

K O

ps/

sec

RAM Hit Ratio %

Optane

P3700

Up to

9x Higher Throughput

item size = 1000B; read/write = 50%/50%

Page 24: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Intel Optane & 3DXpoint

Frank OberSolution Architect - Intel

Page 25: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

CPUDELAY MORELESSCOST HIGHERLOWER

Intel® 3D NAND technology

lower cost & higher density

“Warm Data”

Higher Performance

“HOT DATA”

Intel® Optane™ technology

Page 26: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

26

Intel® Optane™ SSD DC P4800X

Throughput (IOPS)

Quality of Service

Latency

Breakthrough Performance

Predictably Fast Service

Responsive Under Load

Endurance

UltraEndurance

Page 27: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

27

Intel® Optane™ SSD Use Cases

DRAM

PCIe*

PCIe

Intel® 3D NAND SSDs

Intel®

Optane™

SSD

Fast Storage

Intel®

Xeon®

‘memory

pool’DRAM

PCIe

Intel® 3D NAND SSDs

Intel® Optane™

SSD

DDRDDR

PCIe

Extend Memory

Intel®

Xeon®

*Other names and brands names may be claimed as the property of others

Page 28: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Engage• Get Started with Redis Enterprise?

Signup for Redise Cloud: https://redislabs.com/products/redis-cloud/Download Redise Pack: https://redislabs.com/downloads

• Participate in Previews of Upcoming Technology?Email: [email protected]

• Questions on Redis or Redis Enterprise (Redise)?StackOverflow: Tag with “Redis”https://stackoverflow.com/questions/tagged/redis

• Find Local Redis MeetupsMeetup.com: https://www.meetup.com/San-Francisco-Redis-Meetup/

Page 29: RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Thank You!

Cihan BiyikogluVP Product Management - Redis Labs

[email protected]

Frank OberSolution Architect - Intel

[email protected]


Recommended