Caching Memcached vs. Redis

Size: px
Start display at page:

Download "Caching Memcached vs. Redis"

Transcription

1 Caching Memcached vs. Redis San Francisco MySQL Meetup Ryan Lowe Erin O Neill 1

2 Databases WE LOVE THEM... Except when we don t 2

3 When Databases Rule Many access patterns on the same set of data Transactions (both monetary and isolated units of work) Don t know what the end state access patterns will be Always :) 3

4 When Databases Suck Lots of concurrent users ORMs Big Data Sets Small Pockets of VERY hot data 4

5 How Caching Works External vs. built-in caching MySQL Query Cache InnoDB Buffer Pool Rails SOMETHING 5

6 Caching Architecture Becomes 6

7 Why Caching Works 7

8 8

9 9

10 There are only two hard problems in Computer Science: cache invalidation, naming things, and off-byone errors. -- Martin Fowler 10

11 Problems with Caching Cache Misses Thundering Herd Stale Data Warm-Up Times Overly-Aggressive Caching Poor Cache Design 11

12 Cache Misses Cache Hit: 1 Operation Cache Miss: 3 Operations 12

13 Thundering Herd Key TOP_10_VIDEOS 9:00 Generating the K/V takes three seconds Page gets 100 req/s = 100*3 = 300 threads! 13

14 Stale Data Must maintain consistency between the database and the cache from within the application Extremely difficult to validate correctness 14

15 Cache Warm-Up All attempts to read from the cache are CACHE MISSES, which require three operations. This can result in a significant degradation of response time. Usually accompanied by a Thundering Herd 15

16 Use Cases Sessions Popular Items Full Page Cache Profile Information User Preferences Tag Clouds Auto-suggest lists Relationships User Information Online Users Statistics 16

17 Memcached Memcached is an in-memory keyvalue store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering. 17

18 Redis Redis is an open source, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets. 18

19 In-Memory Means We re Bound By RAM 19

20 Consistent Hashing Each Key deterministically goes to a particular server. Think (KEY % SERVERS) 20

21 Memcached Dead Simple & Battle Tested Fast Non-Blocking get()/set() Multi-Threaded Consistent Hashing 21

22 Memcached Example employee_id = 1234 employee_json = { name => Ryan Lowe, title => Production Engineer } set(employee_id, employee_json) get(employee_id) [Returns employee_json] 22

23 But I don t want all the data What if I just want the name? 64 Bytes for the object vs. 10 for just the name :-( 6x network traffic More work for the application Fatter applications 23

24 Redis Advanced Data Types Replication Persistence Usually Fast Very Cool Atomic Operations 24

25 Redis: The Bad Single-Threaded Limited client support for consistent hashing Significant overhead for persistence (do be discussed later) Not widely deployed (compared to Memcached) 25

26 Redis: Datatypes Strings (just like Memcached) Lists Sets Sorted Sets Hashes 26

27 Redis: Lists Stored in sorted order Can push/pop Fast head/tail access Index access (yay) 27

28 Redis: Lists r.lpush( employees, Ryan Lowe ) r.lpush( employees, Dave Apgar ) r.lrange( employees, 0, -1) ( Dave Apgar, Ryan Lowe ) r.rpush( employees, Evan Miller ) r.lrange( employees, 0, -1) ( Dave Apgar, Ryan Lowe, Evan Miller ) 28

29 Redis: Sets Un-ordered collections of strings Unique (no repeated members) diff, intersect, merge 29

30 Redis: Sets sadd( employees, Ryan Lowe ) sadd( former_employees, Bryan Lowe ) sdiff( former_employees, employees ) ( Ryan Lowe, Bryan Lowe ) 30

31 Redis: Sorted Sets Same as Sets but ordered by a score 31

32 Redis: Hashes r.hset( employees, count, 1234) r.hset( employees, females, 1000) r.hset( employees, males, 234) hget( employees, count ) 1234 hgetall( employees ) { count => 1234, females => 1000, males => 234 } 32

33 Memcached vs. Redis Memcached Redis (multi)get (multi)set incr/decr delete Expiration prepend/append Range Queries Data Types! Persistence (sorta) Multi-Threaded Replication (sorta) 33

34 Instrumentation Redis: info Memcached: stats Both give system information, connections, hits, misses, etc. Graphite most of the metrics!!! 34

35 Benchmarks 35

36 About the Benchmarks 1 Hour Redis 2.6 & Memcached ,000,000 Keys "KEY_#{i.to_s}" 51-Character Values (0...50).map{ ('a'..'z').to_a[rand(26)] }.join 36

37 Redis Benchmarks 37

38 Redis Set (1 Server) 1 Client 2 Clients 4 Clients 8 Clients 12 Clients 16 Clients 24 Clients 32 Clients

39 Redis Set (1 Server) 1 Client 2 Clients 4 Clients 8 Clients 12 Clients 16 Clients 24 Clients 32 Clients WTF?! 39

40 Redis Set (1 Server) 1 Client 2 Clients 4 Clients 8 Clients 12 Clients 16 Clients 24 Clients

41 Redis Set (2 Servers) 1 Client 2 Clients 4 Clients 8 Clients 12 Clients 16 Clients 24 Clients 32 Clients

42 Redis Set (2 Servers) 1 Client 2 Clients 4 Clients 8 Clients 12 Clients 16 Clients 24 Clients 32 Clients WTF?!

43 Redis Set (4 Servers) 1 Client 2 Clients 4 Clients 8 Clients 12 Clients 16 Clients 24 Clients 32 Clients

44 Redis Set (8 Servers) 1 Client 2 Clients 4 Clients 8 Clients 12 Clients 16 Clients 24 Clients 32 Clients

45 Hash Ring Balance (%) 100 Server 1 Server Redis Memcached 45

46 Hash Ring Balance (%) 50 Server 1 Server 2 Server 3 Server Redis Memcached 46

47 Hash Ring Balance (%) Server 1 Server 2 Server 3 Server 4 Server 5 Server 6 Server 7 Server Redis Memcached 47

48 Redis Get (1 Server) 1 Client 2 Clients 4 Clients 8 Clients 12 Clients 16 Clients 24 Clients 32 Clients

49 Redis Get (2 Servers) 1 Client 2 Clients 4 Clients 8 Clients 12 Clients 16 Clients 24 Clients 32 Clients

50 Redis Get (4 Servers) 1 Client 2 Clients 4 Clients 8 Clients 12 Clients 16 Clients 24 Clients 32 Clients

51 Redis Get (8 Servers) 1 Client 2 Clients 4 Clients 8 Clients 12 Clients 16 Clients 24 Clients 32 Clients

52 The Cost of Persistence Redis No Persistence Redis BGSAVE (FIO) Redis AOF

53 Redis & Memcached Benchmarks 53

54 Set Operations (1 Server, 24 Clients) Memcached Redis

55 Get Operations (1 Server, 24 Clients) Memcached Redis

56 Set Operations (2 Servers, 24 Clients) Memcached Redis

57 Get Operations (2 Servers, 24 Clients) Memcached Redis

58 Set Operations (4 Servers, 24 Clients) Memcached Redis

59 Get Operations (4 Servers, 24 Clients) Memcached Redis

60 Set Operations (8 Servers, 24 Clients) Memcached Redis

61 Get Operations (8 Servers, 24 Clients) Memcached Redis

62 Conclusions Redis inconsistent under heavy load We need more benchmarks! (Redis) Datatype-specific Big Memory (Redis) Big Keys 62

63 Questions? 63

Redis - a Flexible Key/Value Datastore An Introduction

Redis - a Flexible Key/Value Datastore An Introduction Redis - a Flexible Key/Value Datastore An Introduction Alexandre Dulaunoy AIMS 2011 MapReduce and Network Forensic MapReduce is an old concept in computer science The map stage to perform isolated computation

More information

Database Solution in Cloud Computing

Database Solution in Cloud Computing Database Solution in Cloud Computing CERC liji@cnic.cn Outline Cloud Computing Database Solution Our Experiences in Database Cloud Computing SaaS Software as a Service PaaS Platform as a Service IaaS Infrastructure

More information

MySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona

MySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona MySQL Performance Optimization and Troubleshooting with PMM Peter Zaitsev, CEO, Percona In the Presentation Practical approach to deal with some of the common MySQL Issues 2 Assumptions You re looking

More information

Redis as a Reliable Work Queue. Percona University

Redis as a Reliable Work Queue. Percona University Redis as a Reliable Work Queue Percona University 2015-02-12 Introduction Tom DeWire Principal Software Engineer Bronto Software Chris Thunes Senior Software Engineer Bronto Software Introduction Introduction

More information

Accelerate MySQL for Demanding OLAP and OLTP Use Cases with Apache Ignite. Peter Zaitsev, Denis Magda Santa Clara, California April 25th, 2017

Accelerate MySQL for Demanding OLAP and OLTP Use Cases with Apache Ignite. Peter Zaitsev, Denis Magda Santa Clara, California April 25th, 2017 Accelerate MySQL for Demanding OLAP and OLTP Use Cases with Apache Ignite Peter Zaitsev, Denis Magda Santa Clara, California April 25th, 2017 About the Presentation Problems Existing Solutions Denis Magda

More information

Deploying a Highly Available Distributed Caching Layer on Oracle Cloud Infrastructure using Memcached & Redis

Deploying a Highly Available Distributed Caching Layer on Oracle Cloud Infrastructure using Memcached & Redis Deploying a Highly Available Distributed Caching Layer on Oracle Cloud Infrastructure using Memcached & Redis ORACLE WHITEPAPER FEBRUARY 2018 VERSION 1.0 Table of Contents Purpose of this Whitepaper 1

More information

Scaling DreamFactory

Scaling DreamFactory Scaling DreamFactory This white paper is designed to provide information to enterprise customers about how to scale a DreamFactory Instance. The sections below talk about horizontal, vertical, and cloud

More information

Amazon ElastiCache 8/1/17. Why Amazon ElastiCache is important? Introduction:

Amazon ElastiCache 8/1/17. Why Amazon ElastiCache is important? Introduction: Amazon ElastiCache Introduction: How to improve application performance using caching. What are the ElastiCache engines, and the difference between them. How to scale your cluster vertically. How to scale

More information

Improvements in MySQL 5.5 and 5.6. Peter Zaitsev Percona Live NYC May 26,2011

Improvements in MySQL 5.5 and 5.6. Peter Zaitsev Percona Live NYC May 26,2011 Improvements in MySQL 5.5 and 5.6 Peter Zaitsev Percona Live NYC May 26,2011 State of MySQL 5.5 and 5.6 MySQL 5.5 Released as GA December 2011 Percona Server 5.5 released in April 2011 Proven to be rather

More information

Performance improvements in MySQL 5.5

Performance improvements in MySQL 5.5 Performance improvements in MySQL 5.5 Percona Live Feb 16, 2011 San Francisco, CA By Peter Zaitsev Percona Inc -2- Performance and Scalability Talk about Performance, Scalability, Diagnostics in MySQL

More information

4 Myths about in-memory databases busted

4 Myths about in-memory databases busted 4 Myths about in-memory databases busted Yiftach Shoolman Co-Founder & CTO @ Redis Labs @yiftachsh, @redislabsinc Background - Redis Created by Salvatore Sanfilippo (@antirez) OSS, in-memory NoSQL k/v

More information

CS5412 CLOUD COMPUTING: PRELIM EXAM Open book, open notes. 90 minutes plus 45 minutes grace period, hence 2h 15m maximum working time.

CS5412 CLOUD COMPUTING: PRELIM EXAM Open book, open notes. 90 minutes plus 45 minutes grace period, hence 2h 15m maximum working time. CS5412 CLOUD COMPUTING: PRELIM EXAM Open book, open notes. 90 minutes plus 45 minutes grace period, hence 2h 15m maximum working time. SOLUTION SET In class we often used smart highway (SH) systems as

More information

MySQL Performance Tuning

MySQL Performance Tuning MySQL Performance Tuning Student Guide D61820GC30 Edition 3.0 January 2017 D89524 Learn more from Oracle University at education.oracle.com Authors Mark Lewin Jeremy Smyth Technical Contributors and Reviewers

More information

Capacity Planning for Application Design

Capacity Planning for Application Design WHITE PAPER Capacity Planning for Application Design By Mifan Careem Director - Solutions Architecture, WSO2 1. Introduction The ability to determine or forecast the capacity of a system or set of components,

More information

CACHE ME IF YOU CAN! GETTING STARTED WITH AMAZON ELASTICACHE. AWS Charlotte Meetup / Charlotte Cloud Computing Meetup Bilal Soylu October 2013

CACHE ME IF YOU CAN! GETTING STARTED WITH AMAZON ELASTICACHE. AWS Charlotte Meetup / Charlotte Cloud Computing Meetup Bilal Soylu October 2013 1 CACHE ME IF YOU CAN! GETTING STARTED WITH AMAZON ELASTICACHE AWS Charlotte Meetup / Charlotte Cloud Computing Meetup Bilal Soylu October 2013 2 Agenda Hola! Housekeeping What is this use case What is

More information

Building High Performance Apps using NoSQL. Swami Sivasubramanian General Manager, AWS NoSQL

Building High Performance Apps using NoSQL. Swami Sivasubramanian General Manager, AWS NoSQL Building High Performance Apps using NoSQL Swami Sivasubramanian General Manager, AWS NoSQL Building high performance apps There is a lot to building high performance apps Scalability Performance at high

More information

Issues in the Development of Transactional Web Applications R. D. Johnson D. Reimer IBM Systems Journal Vol 43, No 2, 2004 Presenter: Barbara Ryder

Issues in the Development of Transactional Web Applications R. D. Johnson D. Reimer IBM Systems Journal Vol 43, No 2, 2004 Presenter: Barbara Ryder Issues in the Development of Transactional Web Applications R. D. Johnson D. Reimer IBM Systems Journal Vol 43, No 2, 2004 Presenter: Barbara Ryder 3/21/05 CS674 BGR 1 Web Applications Transactional processing

More information

Large-Scale Web Applications

Large-Scale Web Applications Large-Scale Web Applications Mendel Rosenblum Web Application Architecture Web Browser Web Server / Application server Storage System HTTP Internet CS142 Lecture Notes - Intro LAN 2 Large-Scale: Scale-Out

More information

PolarDB. Cloud Native Alibaba. Lixun Peng Inaam Rana Alibaba Cloud Team

PolarDB. Cloud Native Alibaba. Lixun Peng Inaam Rana Alibaba Cloud Team PolarDB Cloud Native DB @ Alibaba Lixun Peng Inaam Rana Alibaba Cloud Team Agenda Context Architecture Internals HA Context PolarDB is a cloud native DB offering Based on MySQL-5.6 Uses shared storage

More information

From the Outside Looking In: Probing Web APIs to Build Detailed Workload Profile

From the Outside Looking In: Probing Web APIs to Build Detailed Workload Profile From the Outside Looking In: Probing Web APIs to Build Detailed Workload Profile Nan Deng, Zichen Xu, Christopher Stewart and Xiaorui Wang The Ohio State University From the Outside Looking In Internet

More information

Buffering to Redis for Efficient Real-Time Processing. Percona Live, April 24, 2018

Buffering to Redis for Efficient Real-Time Processing. Percona Live, April 24, 2018 Buffering to Redis for Efficient Real-Time Processing Percona Live, April 24, 2018 Presenting Today Jon Hyman CTO & Co-Founder Braze (Formerly Appboy) @jon_hyman Mobile is at the vanguard of a new wave

More information

/ Cloud Computing. Recitation 6 October 2 nd, 2018

/ Cloud Computing. Recitation 6 October 2 nd, 2018 15-319 / 15-619 Cloud Computing Recitation 6 October 2 nd, 2018 1 Overview Announcements for administrative issues Last week s reflection OLI unit 3 module 7, 8 and 9 Quiz 4 Project 2.3 This week s schedule

More information

Redis Functions and Data Structures at Percona Live. Dave Nielsen, Developer Redis

Redis Functions and Data Structures at Percona Live. Dave Nielsen, Developer Redis Redis Functions and Data Structures at Percona Live Dave Nielsen, Developer Advocate dave@redislabs.com @davenielsen Redis Labs @redislabs Redis = A Unique Database Redis is an open source (BSD licensed),

More information

TrafficDB: HERE s High Performance Shared-Memory Data Store Ricardo Fernandes, Piotr Zaczkowski, Bernd Göttler, Conor Ettinoffe, and Anis Moussa

TrafficDB: HERE s High Performance Shared-Memory Data Store Ricardo Fernandes, Piotr Zaczkowski, Bernd Göttler, Conor Ettinoffe, and Anis Moussa TrafficDB: HERE s High Performance Shared-Memory Data Store Ricardo Fernandes, Piotr Zaczkowski, Bernd Göttler, Conor Ettinoffe, and Anis Moussa EPL646: Advanced Topics in Databases Christos Hadjistyllis

More information

MySQL Database Scalability

MySQL Database Scalability MySQL Database Scalability Nextcloud Conference 2016 TU Berlin Oli Sennhauser Senior MySQL Consultant at FromDual GmbH oli.sennhauser@fromdual.com 1 / 14 About FromDual GmbH Support Consulting remote-dba

More information

羅仲成 ROY LOU 17MEDIA 分散式緩存服務實踐 DISTRIBUTED CACHING SERVICE

羅仲成 ROY LOU 17MEDIA 分散式緩存服務實踐 DISTRIBUTED CACHING SERVICE 羅仲成 ROY LOU 17MEDIA 分散式緩存服務實踐 DISTRIBUTED CACHING SERVICE ABOUT ME 17media architect Past: HTC, Google, NVIDIA 2-year-old monster s dad Jogging, basketball, snowboarding There are only two hard things

More information

RocksDB Key-Value Store Optimized For Flash

RocksDB Key-Value Store Optimized For Flash RocksDB Key-Value Store Optimized For Flash Siying Dong Software Engineer, Database Engineering Team @ Facebook April 20, 2016 Agenda 1 What is RocksDB? 2 RocksDB Design 3 Other Features What is RocksDB?

More information

TokuDB vs RocksDB. What to choose between two write-optimized DB engines supported by Percona. George O. Lorch III Vlad Lesin

TokuDB vs RocksDB. What to choose between two write-optimized DB engines supported by Percona. George O. Lorch III Vlad Lesin TokuDB vs RocksDB What to choose between two write-optimized DB engines supported by Percona George O. Lorch III Vlad Lesin What to compare? Amplification Write amplification Read amplification Space amplification

More information

Overview Computer Networking Lecture 16: Delivering Content: Peer to Peer and CDNs Peter Steenkiste

Overview Computer Networking Lecture 16: Delivering Content: Peer to Peer and CDNs Peter Steenkiste Overview 5-44 5-44 Computer Networking 5-64 Lecture 6: Delivering Content: Peer to Peer and CDNs Peter Steenkiste Web Consistent hashing Peer-to-peer Motivation Architectures Discussion CDN Video Fall

More information

Delegates must have a working knowledge of MariaDB or MySQL Database Administration.

Delegates must have a working knowledge of MariaDB or MySQL Database Administration. MariaDB Performance & Tuning SA-MARDBAPT MariaDB Performance & Tuning Course Overview This MariaDB Performance & Tuning course is designed for Database Administrators who wish to monitor and tune the performance

More information

16 Sharing Main Memory Segmentation and Paging

16 Sharing Main Memory Segmentation and Paging Operating Systems 64 16 Sharing Main Memory Segmentation and Paging Readings for this topic: Anderson/Dahlin Chapter 8 9; Siberschatz/Galvin Chapter 8 9 Simple uniprogramming with a single segment per

More information

Managing IoT and Time Series Data with Amazon ElastiCache for Redis

Managing IoT and Time Series Data with Amazon ElastiCache for Redis Managing IoT and Time Series Data with ElastiCache for Redis Darin Briskman, ElastiCache Developer Outreach Michael Labib, Specialist Solutions Architect 2016, Web Services, Inc. or its Affiliates. All

More information

How you can benefit from using. javier

How you can benefit from using. javier How you can benefit from using I was Lois Lane redis has super powers myth: the bottleneck redis-benchmark -r 1000000 -n 2000000 -t get,set,lpush,lpop,mset -P 16 -q On my laptop: SET: 513610 requests

More information

Bigtable: A Distributed Storage System for Structured Data By Fay Chang, et al. OSDI Presented by Xiang Gao

Bigtable: A Distributed Storage System for Structured Data By Fay Chang, et al. OSDI Presented by Xiang Gao Bigtable: A Distributed Storage System for Structured Data By Fay Chang, et al. OSDI 2006 Presented by Xiang Gao 2014-11-05 Outline Motivation Data Model APIs Building Blocks Implementation Refinement

More information

O Reilly RailsConf,

O Reilly RailsConf, O Reilly RailsConf, 2011-05- 18 Who is that guy? Jesper Richter- Reichhelm / @jrirei Berlin, Germany Head of Engineering @ wooga Wooga does social games Wooga has dedicated game teams Cooming soon PHP

More information

The Care and Feeding of a MySQL Database for Linux Adminstrators. Dave Stokes MySQL Community Manager

The Care and Feeding of a MySQL Database for Linux Adminstrators. Dave Stokes MySQL Community Manager The Care and Feeding of a MySQL Database for Linux Adminstrators Dave Stokes MySQL Community Manager David.Stokes@Oracle.com Simple Introduction This is a general introduction to running a MySQL database

More information

Scaling for Humongous amounts of data with MongoDB

Scaling for Humongous amounts of data with MongoDB Scaling for Humongous amounts of data with MongoDB Alvin Richards Technical Director, EMEA alvin@10gen.com @jonnyeight alvinonmongodb.com From here... http://bit.ly/ot71m4 ...to here... http://bit.ly/oxcsis

More information

Scaling. Marty Weiner Grayskull, Eternia. Yashh Nelapati Gotham City

Scaling. Marty Weiner Grayskull, Eternia. Yashh Nelapati Gotham City Scaling Marty Weiner Grayskull, Eternia Yashh Nelapati Gotham City Pinterest is... An online pinboard to organize and share what inspires you. Relationships Marty Weiner Grayskull, Eternia Yashh Nelapati

More information

Give Your Site a Boost With memcached. Ben Ramsey

Give Your Site a Boost With memcached. Ben Ramsey Give Your Site a Boost With memcached Ben Ramsey About Me Proud father of 8-month-old Sean Organizer of Atlanta PHP user group Founder of PHP Groups Founding principal of PHP Security Consortium Original

More information

Inside the PostgreSQL Shared Buffer Cache

Inside the PostgreSQL Shared Buffer Cache Truviso 07/07/2008 About this presentation The master source for these slides is http://www.westnet.com/ gsmith/content/postgresql You can also find a machine-usable version of the source code to the later

More information

NoSQL Databases Analysis

NoSQL Databases Analysis NoSQL Databases Analysis Jeffrey Young Intro I chose to investigate Redis, MongoDB, and Neo4j. I chose Redis because I always read about Redis use and its extreme popularity yet I know little about it.

More information

<Insert Picture Here> MySQL Cluster What are we working on

<Insert Picture Here> MySQL Cluster What are we working on MySQL Cluster What are we working on Mario Beck Principal Consultant The following is intended to outline our general product direction. It is intended for information purposes only,

More information

MySQL Performance Tuning 101

MySQL Performance Tuning 101 MySQL Performance Tuning 101 Ligaya Turmelle MySQL Support Engineer ligaya@mysql.com 1 1 MySQL world's most popular open source database software a key part of LAMP (Linux, Apache, MySQL, PHP / Perl /

More information

Caching At Twitter and moving towards a persistent, in-memory key-value store

Caching At Twitter and moving towards a persistent, in-memory key-value store aching At Twitter and moving towards a persistent, in-memory key-value store Manju Rajashekhar @manju Outline aching System Architecture Twemcache Twemproxy Learnings in-memory persistent store ache In

More information

Conceptual Modeling on Tencent s Distributed Database Systems. Pan Anqun, Wang Xiaoyu, Li Haixiang Tencent Inc.

Conceptual Modeling on Tencent s Distributed Database Systems. Pan Anqun, Wang Xiaoyu, Li Haixiang Tencent Inc. Conceptual Modeling on Tencent s Distributed Database Systems Pan Anqun, Wang Xiaoyu, Li Haixiang Tencent Inc. Outline Introduction System overview of TDSQL Conceptual Modeling on TDSQL Applications Conclusion

More information

Home of Redis. April 24, 2017

Home of Redis. April 24, 2017 Home of Redis April 24, 2017 Introduction to Redis and Redis Labs Redis with MySQL Data Structures in Redis Benefits of Redis e 2 Redis and Redis Labs Open source. The leading in-memory database platform,

More information

How To Rock with MyRocks. Vadim Tkachenko CTO, Percona Webinar, Jan

How To Rock with MyRocks. Vadim Tkachenko CTO, Percona Webinar, Jan How To Rock with MyRocks Vadim Tkachenko CTO, Percona Webinar, Jan-16 2019 Agenda MyRocks intro and internals MyRocks limitations Benchmarks: When to choose MyRocks over InnoDB Tuning for the best results

More information

InnoDB: Status, Architecture, and Latest Enhancements

InnoDB: Status, Architecture, and Latest Enhancements InnoDB: Status, Architecture, and Latest Enhancements O'Reilly MySQL Conference, April 14, 2011 Inaam Rana, Oracle John Russell, Oracle Bios Inaam Rana (InnoDB / MySQL / Oracle) Crash recovery speedup

More information

Goals. Facebook s Scaling Problem. Scaling Strategy. Facebook Three Layer Architecture. Workload. Memcache as a Service.

Goals. Facebook s Scaling Problem. Scaling Strategy. Facebook Three Layer Architecture. Workload. Memcache as a Service. Goals Memcache as a Service Tom Anderson Rapid application development - Speed of adding new features is paramount Scale Billions of users Every user on FB all the time Performance Low latency for every

More information

Distributed Systems. 29. Distributed Caching Paul Krzyzanowski. Rutgers University. Fall 2014

Distributed Systems. 29. Distributed Caching Paul Krzyzanowski. Rutgers University. Fall 2014 Distributed Systems 29. Distributed Caching Paul Krzyzanowski Rutgers University Fall 2014 December 5, 2014 2013 Paul Krzyzanowski 1 Caching Purpose of a cache Temporary storage to increase data access

More information

Big Data Infrastructure CS 489/698 Big Data Infrastructure (Winter 2017)

Big Data Infrastructure CS 489/698 Big Data Infrastructure (Winter 2017) Big Data Infrastructure CS 489/698 Big Data Infrastructure (Winter 2017) Week 10: Mutable State (1/2) March 14, 2017 Jimmy Lin David R. Cheriton School of Computer Science University of Waterloo These

More information

Input and Output = Communication. What is computation? Hardware Thread (CPU core) Transforming state

Input and Output = Communication. What is computation? Hardware Thread (CPU core) Transforming state What is computation? Input and Output = Communication Input State Output i s F(s,i) (s,o) o s There are many different types of IO (Input/Output) What constitutes IO is context dependent Obvious forms

More information

MySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona Percona Technical Webinars 9 May 2018

MySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona Percona Technical Webinars 9 May 2018 MySQL Performance Optimization and Troubleshooting with PMM Peter Zaitsev, CEO, Percona Percona Technical Webinars 9 May 2018 Few words about Percona Monitoring and Management (PMM) 100% Free, Open Source

More information

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Winter 2015 Lecture 14 NoSQL

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Winter 2015 Lecture 14 NoSQL CSE 544 Principles of Database Management Systems Magdalena Balazinska Winter 2015 Lecture 14 NoSQL References Scalable SQL and NoSQL Data Stores, Rick Cattell, SIGMOD Record, December 2010 (Vol. 39, No.

More information

"Stupid Easy" Scaling Tweaks and Settings. AKA Scaling for the Lazy

Stupid Easy Scaling Tweaks and Settings. AKA Scaling for the Lazy "Stupid Easy" Scaling Tweaks and Settings AKA Scaling for the Lazy I'm Lazy (and proud of it) The Benefits of "Lazy" Efficiency is king Dislike repetition Avoid spending a lot of time on things A Lazy

More information

Give Your Site a Boost With memcached. Ben Ramsey

Give Your Site a Boost With memcached. Ben Ramsey Give Your Site a Boost With memcached Ben Ramsey About Me Proud father of 3-month-old Sean Organizer of Atlanta PHP user group Founder of PHP Groups Founding principal of PHP Security Consortium Original

More information

NoSQL: Redis and MongoDB A.A. 2016/17

NoSQL: Redis and MongoDB A.A. 2016/17 Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica NoSQL: Redis and MongoDB A.A. 2016/17 Matteo Nardelli Laurea Magistrale in Ingegneria Informatica -

More information

Scaling Without Sharding. Baron Schwartz Percona Inc Surge 2010

Scaling Without Sharding. Baron Schwartz Percona Inc Surge 2010 Scaling Without Sharding Baron Schwartz Percona Inc Surge 2010 Web Scale!!!! http://www.xtranormal.com/watch/6995033/ A Sharding Thought Experiment 64 shards per proxy [1] 1 TB of data storage per node

More information

Bullet Cache. Balancing speed and usability in a cache server. Ivan Voras

Bullet Cache. Balancing speed and usability in a cache server. Ivan Voras Bullet Cache Balancing speed and usability in a cache server Ivan Voras What is it? People know what memcached is... mostly Example use case: So you have a web page which is just dynamic

More information

CPU Architecture. HPCE / dt10 / 2013 / 10.1

CPU Architecture. HPCE / dt10 / 2013 / 10.1 Architecture HPCE / dt10 / 2013 / 10.1 What is computation? Input i o State s F(s,i) (s,o) s Output HPCE / dt10 / 2013 / 10.2 Input and Output = Communication There are many different types of IO (Input/Output)

More information

What s New in MySQL 5.7 Geir Høydalsvik, Sr. Director, MySQL Engineering. Copyright 2015, Oracle and/or its affiliates. All rights reserved.

What s New in MySQL 5.7 Geir Høydalsvik, Sr. Director, MySQL Engineering. Copyright 2015, Oracle and/or its affiliates. All rights reserved. What s New in MySQL 5.7 Geir Høydalsvik, Sr. Director, MySQL Engineering Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes

More information

Accelerating NoSQL. Running Voldemort on HailDB. Sunny Gleason March 11, 2011

Accelerating NoSQL. Running Voldemort on HailDB. Sunny Gleason March 11, 2011 Accelerating NoSQL Running Voldemort on HailDB Sunny Gleason March 11, 2011 whoami Sunny Gleason, human passion: distributed systems engineering previous... Ning : custom social networks Amazon.com : infra

More information

! Design constraints. " Component failures are the norm. " Files are huge by traditional standards. ! POSIX-like

! Design constraints.  Component failures are the norm.  Files are huge by traditional standards. ! POSIX-like Cloud background Google File System! Warehouse scale systems " 10K-100K nodes " 50MW (1 MW = 1,000 houses) " Power efficient! Located near cheap power! Passive cooling! Power Usage Effectiveness = Total

More information

Switching to Innodb from MyISAM. Matt Yonkovit Percona

Switching to Innodb from MyISAM. Matt Yonkovit Percona Switching to Innodb from MyISAM Matt Yonkovit Percona -2- DIAMOND SPONSORSHIPS THANK YOU TO OUR DIAMOND SPONSORS www.percona.com -3- Who We Are Who I am Matt Yonkovit Principal Architect Veteran of MySQL/SUN/Percona

More information

15 Sharing Main Memory Segmentation and Paging

15 Sharing Main Memory Segmentation and Paging Operating Systems 58 15 Sharing Main Memory Segmentation and Paging Readings for this topic: Anderson/Dahlin Chapter 8 9; Siberschatz/Galvin Chapter 8 9 Simple uniprogramming with a single segment per

More information

AN introduction to nosql databases

AN introduction to nosql databases AN introduction to nosql databases Terry McCann @SQLshark Purpose of this presentation? It is important for a data scientist / data engineer to have the right tool for the right job. We will look at an

More information

Extreme Computing. NoSQL.

Extreme Computing. NoSQL. Extreme Computing NoSQL PREVIOUSLY: BATCH Query most/all data Results Eventually NOW: ON DEMAND Single Data Points Latency Matters One problem, three ideas We want to keep track of mutable state in a scalable

More information

Scaling. Yashh Nelapati Gotham City. Marty Weiner Krypton. Friday, July 27, 12

Scaling. Yashh Nelapati Gotham City. Marty Weiner Krypton. Friday, July 27, 12 Scaling Marty Weiner Krypton Yashh Nelapati Gotham City Pinterest is... An online pinboard to organize and share what inspires you. Relationships Marty Weiner Grayskull, Eternia Relationships Marty

More information

MySQL Performance Improvements

MySQL Performance Improvements Taking Advantage of MySQL Performance Improvements Baron Schwartz, Percona Inc. Introduction About Me (Baron Schwartz) Author of High Performance MySQL 2 nd Edition Creator of Maatkit, innotop, and so

More information

Hive Metadata Caching Proposal

Hive Metadata Caching Proposal Hive Metadata Caching Proposal Why Metastore Cache During Hive 2 benchmark, we find Hive metastore operation take a lot of time and thus slow down Hive compilation. In some extreme case, it takes much

More information

More on Testing and Large Scale Web Apps

More on Testing and Large Scale Web Apps More on Testing and Large Scale Web Apps Testing Functionality Tests - Unit tests: E.g. Mocha - Integration tests - End-to-end - E.g. Selenium - HTML CSS validation - forms and form validation - cookies

More information

MongoDB 2.2 and Big Data

MongoDB 2.2 and Big Data MongoDB 2.2 and Big Data Christian Kvalheim Team Lead Engineering, EMEA christkv@10gen.com @christkv christiankvalheim.com From here... http://bit.ly/ot71m4 ...to here... http://bit.ly/oxcsis ...without

More information

LECTURE 27. Python and Redis

LECTURE 27. Python and Redis LECTURE 27 Python and Redis PYTHON AND REDIS Today, we ll be covering a useful but not entirely Python-centered topic: the inmemory datastore Redis. We ll start by introducing Redis itself and then discussing

More information

COSC Redis. Paul Moore, Stephen Smithbower, William Lee. March 11, 2013

COSC Redis. Paul Moore, Stephen Smithbower, William Lee. March 11, 2013 March 11, 2013 What is Redis? - Redis is an in-memory key-value data store. - Can be a middle-ware solution between your expensive persistent data-store (Oracle), and your application. - Provides PubSub,

More information

Real World Web Scalability. Ask Bjørn Hansen Develooper LLC

Real World Web Scalability. Ask Bjørn Hansen Develooper LLC Real World Web Scalability Ask Bjørn Hansen Develooper LLC Hello. 28 brilliant methods to make your website keep working past $goal requests/transactions/sales per second/hour/day Requiring minimal extra

More information

Fusion iomemory PCIe Solutions from SanDisk and Sqrll make Accumulo Hypersonic

Fusion iomemory PCIe Solutions from SanDisk and Sqrll make Accumulo Hypersonic WHITE PAPER Fusion iomemory PCIe Solutions from SanDisk and Sqrll make Accumulo Hypersonic Western Digital Technologies, Inc. 951 SanDisk Drive, Milpitas, CA 95035 www.sandisk.com Table of Contents Executive

More information

<Insert Picture Here> MySQL Web Reference Architectures Building Massively Scalable Web Infrastructure

<Insert Picture Here> MySQL Web Reference Architectures Building Massively Scalable Web Infrastructure MySQL Web Reference Architectures Building Massively Scalable Web Infrastructure Mario Beck (mario.beck@oracle.com) Principal Sales Consultant MySQL Session Agenda Requirements for

More information

Kubernetes 101: Pods, Nodes, Containers, andclusters

Kubernetes 101: Pods, Nodes, Containers, andclusters Kubernetes 101: Pods, Nodes, Containers, andclusters Kubernetes is quickly becoming the new standard for deploying and managing software in the cloud. With all the power Kubernetes provides, however, comes

More information

Effective Testing for Live Applications. March, 29, 2018 Sveta Smirnova

Effective Testing for Live Applications. March, 29, 2018 Sveta Smirnova Effective Testing for Live Applications March, 29, 2018 Sveta Smirnova Table of Contents Sometimes You Have to Test on Production Wrong Data SELECT Returns Nonsense Wrong Data in the Database Performance

More information

MySQL for Developers Ed 3

MySQL for Developers Ed 3 Oracle University Contact Us: 1.800.529.0165 MySQL for Developers Ed 3 Duration: 5 Days What you will learn This MySQL for Developers training teaches developers how to plan, design and implement applications

More information

Transactional Consistency and Automatic Management in an Application Data Cache Dan R. K. Ports MIT CSAIL

Transactional Consistency and Automatic Management in an Application Data Cache Dan R. K. Ports MIT CSAIL Transactional Consistency and Automatic Management in an Application Data Cache Dan R. K. Ports MIT CSAIL joint work with Austin Clements Irene Zhang Samuel Madden Barbara Liskov Applications are increasingly

More information

CHAPTER 1: A REFRESHER ON WEB BROWSERS 3

CHAPTER 1: A REFRESHER ON WEB BROWSERS 3 INTRODUCTION xxiii PART I: FRONT END CHAPTER 1: A REFRESHER ON WEB BROWSERS 3 A Brief History of Web Browsers 3 Netscape Loses Its Dominance 4 The Growth of Firefox 4 The Present 5 Inside HTTP 5 The HyperText

More information

Improve WordPress performance with caching and deferred execution of code. Danilo Ercoli Software Engineer

Improve WordPress performance with caching and deferred execution of code. Danilo Ercoli Software Engineer Improve WordPress performance with caching and deferred execution of code Danilo Ercoli Software Engineer http://daniloercoli.com Agenda PHP Caching WordPress Page Caching WordPress Object Caching Deferred

More information

Shopify s Architecture to Handle 80K RPS Celebrity Sales. Simon Production Engineering Lead, Shopify

Shopify s Architecture to Handle 80K RPS Celebrity Sales. Simon Production Engineering Lead, Shopify Shopify s Architecture to Handle 80K RPS Celebrity Sales Simon Eskildsen @Sirupsen Production Engineering Lead, Shopify Shopify is handling some of the largest sales in the world from Kylie Jenner, Kanye,

More information

Building a Scalable Architecture for Web Apps - Part I (Lessons Directi)

Building a Scalable Architecture for Web Apps - Part I (Lessons Directi) Intelligent People. Uncommon Ideas. Building a Scalable Architecture for Web Apps - Part I (Lessons Learned @ Directi) By Bhavin Turakhia CEO, Directi (http://www.directi.com http://wiki.directi.com http://careers.directi.com)

More information

Tuesday, June 22, JBoss Users & Developers Conference. Boston:2010

Tuesday, June 22, JBoss Users & Developers Conference. Boston:2010 JBoss Users & Developers Conference Boston:2010 Infinispan s Hot Rod Protocol Galder Zamarreño Senior Software Engineer, Red Hat 21st June 2010 Who is Galder? Core R&D engineer on Infinispan and JBoss

More information

Distributed Computation Models

Distributed Computation Models Distributed Computation Models SWE 622, Spring 2017 Distributed Software Engineering Some slides ack: Jeff Dean HW4 Recap https://b.socrative.com/ Class: SWE622 2 Review Replicating state machines Case

More information

1

1 1 2 3 6 7 8 9 10 Storage & IO Benchmarking Primer Running sysbench and preparing data Use the prepare option to generate the data. Experiments Run sysbench with different storage systems and instance

More information

Accelerate MySQL for Demanding OLAP and OLTP Use Case with Apache Ignite December 7, 2016

Accelerate MySQL for Demanding OLAP and OLTP Use Case with Apache Ignite December 7, 2016 Accelerate MySQL for Demanding OLAP and OLTP Use Case with Apache Ignite December 7, 2016 Nikita Ivanov CTO and Co-Founder GridGain Systems Peter Zaitsev CEO and Co-Founder Percona About the Presentation

More information

Cascade Mapping: Optimizing Memory Efficiency for Flash-based Key-value Caching

Cascade Mapping: Optimizing Memory Efficiency for Flash-based Key-value Caching Cascade Mapping: Optimizing Memory Efficiency for Flash-based Key-value Caching Kefei Wang and Feng Chen Louisiana State University SoCC '18 Carlsbad, CA Key-value Systems in Internet Services Key-value

More information

Part II: Data Center Software Architecture: Topic 2: Key-value Data Management Systems. SkimpyStash: Key Value Store on Flash-based Storage

Part II: Data Center Software Architecture: Topic 2: Key-value Data Management Systems. SkimpyStash: Key Value Store on Flash-based Storage ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective Part II: Data Center Software Architecture: Topic 2: Key-value Data Management Systems SkimpyStash: Key Value

More information

Seminar report Google App Engine Submitted in partial fulfillment of the requirement for the award of degree Of CSE

Seminar report Google App Engine Submitted in partial fulfillment of the requirement for the award of degree Of CSE A Seminar report On Google App Engine Submitted in partial fulfillment of the requirement for the award of degree Of CSE SUBMITTED TO: SUBMITTED BY: www.studymafia.org www.studymafia.org Acknowledgement

More information

Beating the Final Boss: Launch your game!

Beating the Final Boss: Launch your game! Beating the Final Boss: Launch your game! Ozkan Can Solutions Architect, AWS @_ozkancan ERROR The servers are busy at this time. Please try again later. (Error Code: 42 OOPS) Retry READY FOR LAUNCH?! WORST-CASE

More information

State of the Dolphin Developing new Apps in MySQL 8

State of the Dolphin Developing new Apps in MySQL 8 State of the Dolphin Developing new Apps in MySQL 8 Highlights of MySQL 8.0 technology updates Mark Swarbrick MySQL Principle Presales Consultant Jill Anolik MySQL Global Business Unit Israel Copyright

More information

Manual Mysql Query Cache Hit Rate 0

Manual Mysql Query Cache Hit Rate 0 Manual Mysql Query Cache Hit Rate 0 B) why the Table cache hit rate is only 56% How can i achieve better cache hit rate? (OK) Currently running supported MySQL version 5.5.43-0+deb7u1-log or complex to

More information

Be Fast, Cheap and in Control with SwitchKV Xiaozhou Li

Be Fast, Cheap and in Control with SwitchKV Xiaozhou Li Be Fast, Cheap and in Control with SwitchKV Xiaozhou Li Raghav Sethi Michael Kaminsky David G. Andersen Michael J. Freedman Goal: fast and cost-effective key-value store Target: cluster-level storage for

More information

There And Back Again

There And Back Again There And Back Again Databases At Uber Evan Klitzke October 4, 2016 Outline Background MySQL To Postgres Connection Scalability Write Amplification/Replication Miscellaneous Other Things Databases at Uber

More information

JAVASCRIPT CHARTING. Scaling for the Enterprise with Metric Insights Copyright Metric insights, Inc.

JAVASCRIPT CHARTING. Scaling for the Enterprise with Metric Insights Copyright Metric insights, Inc. JAVASCRIPT CHARTING Scaling for the Enterprise with Metric Insights 2013 Copyright Metric insights, Inc. A REVOLUTION IS HAPPENING... 3! Challenges... 3! Borrowing From The Enterprise BI Stack... 4! Visualization

More information

MillWheel:Fault Tolerant Stream Processing at Internet Scale. By FAN Junbo

MillWheel:Fault Tolerant Stream Processing at Internet Scale. By FAN Junbo MillWheel:Fault Tolerant Stream Processing at Internet Scale By FAN Junbo Introduction MillWheel is a low latency data processing framework designed by Google at Internet scale. Motived by Google Zeitgeist

More information

elasticsearch The Road to a Distributed, (Near) Real Time, Search Engine Shay Banon

elasticsearch The Road to a Distributed, (Near) Real Time, Search Engine Shay Banon elasticsearch The Road to a Distributed, (Near) Real Time, Search Engine Shay Banon - @kimchy Lucene Basics - Directory A File System Abstraction Mainly used to read and write files Used to read and write

More information