Skip to content

Instantly share code, notes, and snippets.

@philipz
Last active December 15, 2019 13:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save philipz/20a83ae340fb49b3c0d5e57ba14bcc3a to your computer and use it in GitHub Desktop.
Save philipz/20a83ae340fb49b3c0d5e57ba14bcc3a to your computer and use it in GitHub Desktop.
Apache Ignite architecture model

Apache Ignite architecture model

Embedded with the application

ignite_arch1

Server in separate JVM (real cluster topology)

ignite_arch2

Client and Server in separate JVM on single host

ignite_arch3

Caching Topology

Partitioned caching topology

ignite_arch4

Replicated caching topology

ignite_arch5

Local mode

ignite_arch6

Caching strategy

Cache-aside

ignite_arch7

Read-through and Write-through

ignite_arch8

Write behind

ignite_arch9

Ignite position in CAP theorem

ignite_cap

Compute collocation with Data

ignite_compute_data

Geolocational data replication

ignite_DR

Amdhal's law

  • P is proportional speed up, and
  • S is speed up. Also, note that, for a web application the system should include browser render time and networklatency.

When you are using Cache, an application performance depends on a minimum of two of thefollowing factors:

  • how many times a cached piece of data is retrieved by the application;
  • and the proportion of the response time that is alleviated by caching.

Assume, we have a web application and uncached full page rendering time is 3 seconds. Now, let’scalculate the speed up from a database level cache. In our case:

  • Uncached page time : 3 seconds
  • Database time : 228 ms. (see figure 3.16)
  • Cache retrieval time : 6 ms (see figure 3.17)
  • Proportion : 228/3*1000 ∼ 7.6%

The expected system speedup should be:

1/((1-0.076) + 0.076/(228/6)) = 1/(0.924 + 0.002) ∼ 1.07 times overall system speed up.

Hot/Cold data

ignite_hotcold

Collocated distributed Joins

ignite_djoin

Non-collocated distributed joins

ignite_ndjoin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment