Benutzer:Flash1984/Spielwiese
Zur Navigation springen
Zur Suche springen
Beispiel zu Consistent Hashing (Amazon Dynamo)
[Bearbeiten | Quelltext bearbeiten]Beispiel:
In einem Ring mit dreifacher Replikation stehen folgende physikalische Knoten zur Verfügung:
- A mit 100 GB Speicherkapazität
- B und C mit je 200 GB Speicherkapazität
Fall 1: keine virtuellen Knoten
Bei hinreichend vielen Dateien sind in jedem Knoten irgendwann 100 GB gespeichert, Folge:
- In A kann nicht mehr direkt gespeichert werden
- In B und C kann wegen Replikation in A ebenfalls nicht mehr gespeichert werden
Im günstigsten Fall ergibt sich somit folgender Befüllungsgrad:
- Knoten A: 100 GB
- Knoten B: 100 GB
- Knoten C: 100 GB
gesamt: 300 GB
Fall 2: mit virtuellen Knoten
Es werden die virtuellen Knoten VK0 bis VK9 mit je 50 GB Kapazität erstellt (oder jede beliebige andere Größe < 100 GB). Die Allokation wäre beispielsweise wie folgt möglich:
- A mit VK0 und VK1
- B mit VK2 bis VK5
- C mit VK6 bis VK9
Hiermit wäre es möglich, bei hinreichend vielen Dateien jeden einzelnen virtuellen Knoten zu 100% auszulasten. Dadurch käme man zu folgender Speicherplatzverteilung:
- Knoten A: 100 GB (2 virtuelle Knoten)
- Knoten B: 200 GB (4 virtuelle Knoten)
- Knoten C: 200 GB (4 virtuelle Knoten)
gesamt: 500 GB
- Anmerkung: In einem realen Anwendungsfall würde man allerdings die virtuellen Knoten anders aufteilen, damit nicht wie hier in diesem Fall alle Kopien auf einem Rechner liegen, z.B. VK2, VK3 und VK4.