Redis Replaced: Why Companies Turn to

Denis Magda Apache Ignite PMC Chair GridGain Product Management

© 2018 GridGain Systems, Inc. GridGain Company Confidential Agenda

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

© 2018 GridGain Systems, Inc. GridGain Company Confidential Caching Evolution

© 2018 GridGain Systems, Inc. GridGain Company Confidential is a hardware or software component that stores data so future requests for that data can be served faster

© 2018 GridGain Systems, Inc. GridGain Company Confidential Caching Evolution

© 2018 GridGain Systems, Inc. GridGain Company Confidential Hardware Caches

• CPU L1, L2, L3 Caches • GPU Caches

• Benefits – Speed up Hardware – RAM is slow!

© 2018 GridGain Systems, Inc. GridGain Company Confidential Caching

• Virtual Memory • Cache and Buffer Cache • Memory Mapped Files

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

© 2018 GridGain Systems, Inc. GridGain Company Confidential In-App Caching

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

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

© 2018 GridGain Systems, Inc. GridGain Company Confidential Distributed Caches

• Single , Redis

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

© 2018 GridGain Systems, Inc. GridGain Company Confidential Where Distributed Caches Fail?

© 2018 GridGain Systems, Inc. GridGain Company Confidential Data Grids

• Distributed Cache with Brains • Primary in-RAM Storage • , GigaSpaces, Ignite

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

© 2018 GridGain Systems, Inc. GridGain Company Confidential Data Grids

• Distributed Cache with Brains • Primary in-RAM Storage • Hazelcast, GigaSpaces, Ignite

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

© 2018 GridGain Systems, Inc. GridGain Company Confidential Where Data Grids Fail?

• Lack of SQL • Lack of ACID Transactions • Database is a bottleneck – + single point of failure • RAM warm-up on restart

© 2018 GridGain Systems, Inc. GridGain Company Confidential Apache Ignite as In-Memory

Financial Telco Travel & E-Commerce Pharma & IoT Services Logistics Healthcare

SQL Key/Value Transactions Compute Services Streaming ML

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

Ignite Native Persistence Third-Party Persistence (Flash, SSD, Intel 3D XPoint) Keep Your Own DB (RDBMS, HDFS, NoSQL)

© 2018 GridGain Systems, Inc. GridGain Company Confidential GridGain In-Memory Computing Platform

Financial Telco Travel & E-Commerce Pharma & IoT Services Logistics Healthcare

SQL Key/Value Transactions Compute Services Streaming ML

Memory-Centric Storage Scale to 1000s of Nodes & Store TBs of Data Security & Auditing Data Center Replication Monitoring & Management Data & RecoverySnapshots Ignite Native Persistence Third-Party Persistence (Flash, SSD, Intel 3D XPoint) Keep Your Own DB (RDBMS, HDFS, NoSQL)

© 2018 GridGain Systems, Inc. GridGain Company Confidential Apache Ignite Way of Caching

© 2018 GridGain Systems, Inc. GridGain Company Confidential 3rd Party

• No rip-and-replace – Keep your Database • Automatic Read/Write-Through – Key-Value Only • Distributed SQL – Over Ignite Data • ACID Transactions

© 2018 GridGain Systems, Inc. GridGain Company Confidential Distributed SQL

Cross-platform Compatibility .NET C++ PHP REST

SELECT, UPDATE, DDL & DML JDBC ODBC SQL INSERT, MERGE, Support CREATE, DELETE & ALTER

Memory-Centric Storage

DURABLE MEMORY DURABLE MEMORY DURABLE MEMORY

Indexes on Dynamic RAM or Disk Scaling

Server Node Server Node Server Node

© 2018 GridGain Systems, Inc. GridGain Company Confidential Client-Server Processing Co-located Processing

Data Node Data Node

Data 1 1 Processing Node 1 Client Node 2 2

Data Node Data Node Data 2

3 3

1. Initial Request 1. Initial request 2. Fetch data from remote nodes 2. Co-locate processing with data 3. Process the entire data-set 3. Reduce multiple results into one

© 2018 GridGain Systems, Inc. GridGain Company Confidential Collocated Joins

Ignite Node

Toronto Montreal 2 Canada Ottawa Calgary 1

Ignite Node 3 2

Mumbai India New Delhi 1. Initial Query 2. Query execution over local data 3. Reduce multiple results in one

© 2018 GridGain Systems, Inc. GridGain Company Confidential Non-Collocated Joins

Ignite Node

Toronto Mumbai 2 Canada Calgary 1

Montreal 3 Mumbai Ottawa

4 2 Ignite Node

Montreal India Ottawa 1. Initial Query 2. Query execution (local + remote data) New Delhi 3. Potential data movement 4. Reduce multiple results in one

© 2018 GridGain Systems, Inc. GridGain Company Confidential ACID Transactions

• Distributed ACID Transactions – Pessimistic/Optimistic • 2 Phase Commit – From RAM to disk • Deadlock-free Transactions

© 2018 GridGain Systems, Inc. GridGain Company Confidential Durable Memory and Persistence

Automatic Defragmentation Ignite Cluster

Predictable memory Off-heap Removes DURABLE MEMORY DURABLE MEMORY DURABLE MEMORY consumption noticeable GC pauses

Fully Transactional Stores Superset (Write-Ahead Log) of Data

Instantaneous Server Node Server Node Server Node Restarts

© 2018 GridGain Systems, Inc. GridGain Company Confidential Demo

© 2018 GridGain Systems, Inc. GridGain Company Confidential 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

© 2018 GridGain Systems, Inc. GridGain Company Confidential Any Questions?

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

https://www.gridgain.com

#apacheignite #gridgain #dmagda

© 2018 GridGain Systems, Inc. GridGain Company Confidential