top 7 apache ignite faqs from around the world! · • brief architecture overview of apache ignite...

24
© 2015 The Apache Software Foundation. Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are trademarks of The Apache Software Foundation. Top 7 Apache Ignite FAQs From Around the World! Christos Erotocritou Managing Solutions Architect - EMEA Rachel Pedreschi Managing Solutions Architect - Americas

Upload: others

Post on 10-Aug-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

© 2015 The Apache Software Foundation. Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are trademarks of The Apache Software Foundation.

Top 7 Apache Ignite FAQs From Around the World!

Christos ErotocritouManaging Solutions Architect - EMEA

Rachel PedreschiManaging Solutions Architect - Americas

Page 2: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

Agenda• Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation using the compute grid? • How can my transactions be ACID compliant and also highly available?

• How many servers / nodes are needed for my use case? • Which persistent data stores work with Ignite?

• What are the architectural best practices for both large and small deployments?

• What is the best choice for my deployment: Apache Ignite, GridGain Professional or GridGain Enterprise Edition?

• Q & A

Page 3: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

© 2016 GridGain Systems, Inc.

Page 4: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

© 2016 GridGain Systems, Inc.

Which APIs can I use with Apache Ignite?

Page 5: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

© 2016 GridGain Systems, Inc.

Page 6: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

© 2016 GridGain Systems, Inc.

How can I get faster data manipulation using the compute

grid?

Page 7: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

© 2016 GridGain Systems, Inc.

Client / Server Pattern

• Moving data around is costly • High network utilisation • Higher latency • More error prone Data

Node 2

Processing Node 1

1

3

4

Data Node 1

Data 1

Data 2

2

2

1. Initial Request 2. Fetch data from remote nodes 3. Process entire data-set 4. Return to client

Page 8: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

© 2016 GridGain Systems, Inc.

Map/Reduce & Affinity Runs

• Sending the processing to the data is faster and more efficient: • Entry processors • Compute tasks • Map / Reduce • Affinity Runs 1. Initial Request

2. Co-locating processing with data 3. Return partial result 4. Reduce & return to client

12

4

3 Data 1

Job 1

2

3Data 2

Job 2

Processing Node 1

Processing Node 2

Client Node

Page 9: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

© 2016 GridGain Systems, Inc.

Client-Server vs. Map/Reduce

12

4

3 Data 1

Job 1

2

3Data 2

Job 2

Processing Node 1

Processing Node 2

Client Node

Data Node 2

Processing Node 1

1

3

4

Data Node 1

Data 1

Data 2

2

2

1. Initial Request 2. Fetch data from remote nodes 3. Process entire data-set 4. Return to client

1. Initial Request 2. Co-locating processing with data 3. Return partial result 4. Reduce & return to client

Page 10: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

© 2016 GridGain Systems, Inc.

How can my transactions be ACID compliant and also highly

available?

Page 11: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

© 2016 GridGain Systems, Inc.

2 Phase Commit

Page 12: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

© 2016 GridGain Systems, Inc.

How many servers / nodes are needed for my use case?

Page 13: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

© 2016 GridGain Systems, Inc.

• Calculate primary data size: multiply the size of one entry in bytes by the total number of entries

• If you have backups, multiply by their number

• Indexes also require memory. Basic use cases will add a 30% increase

• Add around 20MB per cache • Add around 200-300MB per node for

internal memory and reasonable amount of memory for JVM and GC to operate efficiently

Memory Capacity Planning

Page 14: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

© 2016 GridGain Systems, Inc.

• I have 300GB of data in DB will this be the same in Ignite? No, data size on disk is not a direct 1-to-1 mapping in memory. As a very rough estimate it can be about 2.5/3 times size on disk excluding indexes and any other overhead. To get a more accurate estimation you need to figure out the average object size by importing a record into Ignite and multiplying by the number of objects expected.

Memory Capacity Planning

Page 15: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

© 2016 GridGain Systems, Inc.

• Understand the cost of a given operation that your application will be performing and multiply this by the number of operations expected at various times

• A good starting point for this would be the Ignite benchmarks which detail the results of standard operations and give a rough estimate of the capacity required to deliver such performance

Processing Capacity Planning

More results here

With 32 cores over 4 large AWS instances the following benchmarks were recorded:

Page 16: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

© 2016 GridGain Systems, Inc.

Which persistent data stores work with Ignite?

Page 17: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

© 2016 GridGain Systems, Inc.

Page 18: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

© 2016 GridGain Systems, Inc.

What are architectural best practices for both large and small

deployments?

Page 19: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

© 2016 GridGain Systems, Inc.

• Resilience - Build an in-memory resilient service layer between your client application and the grid

• Only expose application APIs and not direct grid APIs

• Service Chaining - Call services internally via compute tasks to create service chains

In-Memory Service Grid

Page 20: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

© 2016 GridGain Systems, Inc.

• Singletons on the Cluster

– Cluster Singleton

– Node Singleton

– Key Singleton

• Guaranteed Availability

– Auto Redeployment in Case of Failures

In-Memory Service Grid

Page 21: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

© 2016 GridGain Systems, Inc.

Logical Cluster Groups

Processing Node 2

Processing Node 1

Processing Node 3

Processing Node 4

Data Node 2

Data Node 1

Data Node 4

Data Node 3

Service Node 4

Service Node 1

Service Node 3

Service Node 2

Compute Task

Compute Task (Affinity Run)

SQL Query

K/V Remote Call

K/V Local Call

Ignite Cluster

Services Cluster Group

Data Cluster Group Processing Cluster Group

Page 22: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

© 2016 GridGain Systems, Inc.

What is the best choice for my deployment: Apache Ignite,

GridGain Professional or GridGain Enterprise Edition?

Page 23: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

© 2016 GridGain Systems, Inc.

Data Grid Compute Grid

StreamingServices

and Messaging

GaaSOLAP Caching

OLTPCaching

Security Monitoring and ManagementHigh Availability

Apache Ignite / GridGain Professional

GridGain Enterprise

Page 24: Top 7 Apache Ignite FAQs From Around the World! · • Brief architecture overview of Apache Ignite • Which APIs can I use with Apache Ignite? • How can I get faster data manipulation

© 2016 GridGain Systems, Inc.

Thank You!

www.gridgain.com

@gridgain

#gridgain

Thank you for joining us. Follow the conversation.

Authors: Christos Erotocritou and Rachel Pedreschi