redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company...

26
© 2018 GridGain Systems, Inc. GridGain Company Confidential Redis Replaced: Why Companies Turn to Apache Ignite Denis Magda Apache Ignite PMC Chair GridGain Product Management

Transcript of redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company...

Page 1: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

Redis Replaced:Why Companies Turn to Apache Ignite

Denis MagdaApache Ignite PMC ChairGridGain Product Management

Page 2: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

Agenda

• Caching Evolution– Hardware and OS Caching– Application Caches– Distributed Caches– Data Grids– In-Memory Computing Platforms• Apache Ignite Way of Caching– Database Caching– Collocated Processing– SQL, ACID and Persistence• Q & A

Page 3: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

Caching Evolution

Page 4: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

Cache is a hardware or software component that stores data so future requestsfor that data can be served faster

Page 5: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

Caching Evolution

Page 6: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

Hardware Caches

• CPU L1, L2, L3 Caches• GPU Caches

• Benefits– Speed up Hardware– RAM is slow!

Page 7: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

Operating System Caching

• Virtual Memory• Page Cache and Buffer Cache

• Memory Mapped Files

• Benefits– Speed up I/O– Disk is slow!

Page 8: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

In-App Caching

• Application In-Processing Caching– Querying Results– Most Frequently Used Data

• Browser Caching

• Benefits– Speed up Applications!– Network is slow!

Page 9: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

Distributed Caches

• Single Distributed Cache

• Memcached, Redis

• Benefits– Shared Cache!– Beyond local RAM capacity– Ease of maintenance

Page 10: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

Where Distributed Caches Fail?

Page 11: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

Data Grids

• Distributed Cache with Brains• Primary in-RAM Storage

• Hazelcast, GigaSpaces, Ignite

• Benefits– Database Read/Write-Through– Collocated Processing– Better Scalability

Page 12: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

Data Grids

• Distributed Cache with Brains• Primary in-RAM Storage

• Hazelcast, GigaSpaces, Ignite

• Benefits– Database Read/Write-Through– Collocated Processing– Better Scalability

Page 13: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

Where Data Grids Fail?

• Lack of SQL• Lack of ACID Transactions• Database is a bottleneck– + single point of failure

• RAM warm-up on restart

Page 14: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

Apache Ignite as In-Memory Computing Platform

Memory-Centric StorageScale to 1000s of Nodes & Store TBs of Data

Ignite Native Persistence(Flash, SSD, Intel 3D XPoint)

Third-Party PersistenceKeep Your Own DB

(RDBMS, HDFS, NoSQL)

SQL Transactions Compute Services MLStreamingKey/Value

IoTFinancialServices

Pharma &Healthcare

E-CommerceTravel & LogisticsTelco

Page 15: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

GridGain In-Memory Computing Platform

Secu

rity &

Aud

iting

Mon

itorin

g &

Man

agem

ent

Data

Sna

psho

ts &

Rec

over

y

Memory-Centric StorageScale to 1000s of Nodes & Store TBs of Data

Ignite Native Persistence(Flash, SSD, Intel 3D XPoint)

Third-Party PersistenceKeep Your Own DB

(RDBMS, HDFS, NoSQL)

SQL Transactions Compute Services MLStreamingKey/Value

IoTFinancialServices

Pharma &Healthcare

E-CommerceTravel & LogisticsTelco

Data

Cen

ter R

eplic

ation

Page 16: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

Apache Ignite Way of Caching

Page 17: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

3rd Party Database Caching

• No rip-and-replace– Keep your Database

• Automatic Read/Write-Through– Key-Value Only

• Distributed SQL– Over Ignite Data

• ACID Transactions

Page 18: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

SQL

Java .NET C++ PHP REST

Memory-Centric Storage

Server Node Server NodeServer Node

DURABLE MEMORY DURABLE MEMORY DURABLE MEMORY

ODBCJDBC

Cross-platform Compatibility

Indexes on RAM or Disk

DDL & DML Support

SELECT, UPDATE, INSERT, MERGE, CREATE, DELETE & ALTER

Dynamic Scaling

Distributed SQL

Page 19: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

Data 1

Data Node

Data Node

Data 2

Processing Node Client Node

Data Node

Data Node

Client-Server Processing Co-located Processing

1. Initial Request2. Fetch data from remote nodes3. Process the entire data-set

1. Initial request2. Co-locate processing with data3. Reduce multiple results into one

1 1

2

33

2

Page 20: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

Collocated Joins

1. Initial Query2. Query execution over local data3. Reduce multiple results in one

Ignite Node

CanadaToronto

OttawaMontreal

Calgary

Ignite Node

IndiaMumbai

New Delhi

1

2

23

Page 21: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

Non-Collocated Joins

1. Initial Query2. Query execution (local + remote data)3. Potential data movement4. Reduce multiple results in one

1

2

24

3Montreal

Ottawa

Ignite Node

CanadaToronto

Calgary

Mumbai

Ignite Node

IndiaMontreal

OttawaNew Delhi

Mumbai

Page 22: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

ACID Transactions

• Distributed ACID Transactions– Pessimistic/Optimistic

• 2 Phase Commit– From RAM to disk

• Deadlock-free Transactions

Page 23: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

Off-heap Removes noticeable GC pauses

Automatic Defragmentation

Stores Superset of Data

Predictable memory consumption

Fully Transactional(Write-Ahead Log)

DURABLE MEMORY DURABLE MEMORY DURABLE MEMORY

Server Node Server Node Server Node

Ignite Cluster

Instantaneous Restarts

Durable Memory and Persistence

Page 24: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

Demo

Page 25: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

Resources

• Apache Ignite– https://apacheignite.readme.io/docs

• In-Memory Computing Essentials– https://www.gridgain.com/resources/webinars/in-memory-computing-

essentials-architects-and-developers-part-1– https://www.gridgain.com/resources/webinars/in-memory-computing-

essentials-architects-and-developers-part-2• Apache Ignite and Redis Comparison– https://www.gridgain.com/resources/product-comparisons/redis-comparison

Page 26: redis replaced caching evolution (Read-Only) · © 2018 GridGainSystems, Inc. GridGain Company Confidential Cache is a hardware or software component that stores data so future requests

©2018 GridGain Systems,Inc. GridGainCompanyConfidential

Thank you for joining us. Follow the conversation.https://ignite.apache.org

Any Questions?

#apacheignite#gridgain#dmagda

https://www.gridgain.com