Skip to end of metadata
Go to start of metadata

For details and process behind this, see

Legend

  • H = high probability for successful scaling
  • M = Medium probability for successful scaling
  • L = Low probability for successful scaling
  complex data [KM:large data] high reads high writes [KM:compute-process]
[KM:infrastructure] L
scale complex data in the database layer
Graph databases, search indexes
H
scale large data in the infrastructure layer

Scenario: fat servers

  • Reliable, expensive, high-end servers
  • => assume reliability => low fault tolerance
  • Local disks, no RAID
  • Partitioned by domain name part of URL
  • Hierarchical network (to compensate for lack of switch bandwidth)
  • Consequences: failures are more expensive
L
scale high read in the integration layer
M
scale high write in the infrastructure layer
H
scale high processing or high computational in the infrastructure layer
[KM:os-cloud] L
scale complex data in the os & cloud layer
L
scale large data in the os & cloud layer
L
scale high read in the os & cloud layer
L
scale high write in the os & cloud layer
L
scale high processing or high computational in the os & cloud layer
[KM:database] H
scale complex data in the database layer
Graph databases, search indexes
H
scale large data in the database layer
M
scale high read in the database layer
H
scale high write in the database layer
L
scale high processing or high computational in database
The page scale high processing or high computational in database does not exist.
middleware L
scale complex data in the middleware layer
L
scale large data in the middleware layer
H
High reads in the middleware
Put your reverse proxy with cache as the gate to your middleware. Behind this we can hide the load balancer to take care of cache misses.
M
scale high write in the middleware layer
H
Scaling high computation load wrt. the middleware
  • Map-Reduce/offline/batch for latency insensitive cases
  • Shared caches for low-latency computations + naturally partitionable data
  • Tuplespaces/Grid movable code (at least for JavaSpaces or LISP-based solutions), customizable logic etc.
  • Traditional messaging systems for ordering-sensitive data, coordination
  • Start hacking your own (Cassandra?), custom aggregation trees
[KM:server code] H
scale complex data in the server code layer
H
scale large data in the server code layer
L
scale high read in the server code layer
H
scale high write in the server code layer
H
scale high processing or high computational in the server code layer
client L
scale complex data in the client
L
scale large data in the client
H
scale high read in the client

Example: Map client, spotify, iTunes.
We create one user system with a 1.tier client.
Caching on client and/or server.
p2p if server wire is bottleneck.
Movable code to fetch data async.
Streaming from server.

M
scale high write in the client
H
scale high processing or high computational in the client
Compute: Add computational execution to the clients running in the background. Process: Add P2P aggregation/concentration into the client "mesh"
Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
Page: client Page: complex data Page: high reads Page: High reads in the middleware Page: high writes Page: middleware Page: scale complex data in the client Page: scale complex data in the database layer Page: scale complex data in the infrastructure layer Page: scale complex data in the middleware layer Page: scale complex data in the os & cloud layer Page: scale complex data in the server code layer Page: scale high processing or high computational in database layer Page: scale high processing or high computational in the client Page: scale high processing or high computational in the infrastructure layer Page: scale high processing or high computational in the os & cloud layer Page: scale high processing or high computational in the server code layer Page: scale high read in the client Page: scale high read in the database layer Page: scale high read in the integration layer Page: scale high read in the os & cloud layer Page: scale high read in the server code layer Page: scale high write in the client Page: scale high write in the database layer Page: scale high write in the infrastructure layer Page: scale high write in the middleware layer Page: scale high write in the os & cloud layer Page: scale high write in the server code layer Page: scale large data in the client Page: scale large data in the database layer Page: scale large data in the infrastructure layer Page: scale large data in the middleware layer Page: scale large data in the os & cloud layer Page: scale large data in the server code layer Page: Scaling high computation load wrt. the middleware