RedisConf17 - Building Large High Performance Redis Databases with Redis Enterprise

Post on 21-Jan-2018

644 views 4 download

transcript

Building Large, High Performance Databases with Redis Enterprise using Flash

Memory

Cihan BiyikogluVP Product Management - Redis Labs

cihan@redislabs.com

Frank OberSolution Architect - Intel

frank.ober@intel.com

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

Introduction To Redis Labs

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

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

&& &

Building Large Database With Redis

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

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

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

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

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

Redise Architecture

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

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

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

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

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

Reading And Writing Data

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

DEMO

Redise Flash Performance

21

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

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%

Intel Optane & 3DXpoint

Frank OberSolution Architect - Intel

CPUDELAY MORELESSCOST HIGHERLOWER

Intel® 3D NAND technology

lower cost & higher density

“Warm Data”

Higher Performance

“HOT DATA”

Intel® Optane™ technology

26

Intel® Optane™ SSD DC P4800X

Throughput (IOPS)

Quality of Service

Latency

Breakthrough Performance

Predictably Fast Service

Responsive Under Load

Endurance

UltraEndurance

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

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: pm.group@redislabs.com

• 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/

Thank You!

Cihan BiyikogluVP Product Management - Redis Labs

cihan@redislabs.com

Frank OberSolution Architect - Intel

frank.ober@intel.com