Question | Answer |
Ziele von Replikation | - halten mehrerer Kopien - Prozess kann jede beliebige Kopie zugreifen - idealfall immer gleiches Ergebnis - Steigerung der Verlässlichkeit - Steigerung der Leistungefähigkeit |
Problem bei der Replikation? | - Replikas konsistent halten - umso größer, je mehr Replikate - bei guter Skalierbarkeit und besserer Leistung verschlechtern die Mechanismen die Performance |
Lösung des Problems der Replikation? | keine strikte Konsistenz |
Was ist ein Konsistenzmodell? | Vertrag zwischen Datenspeicher und zugreifenden Prozessen |
Welche Konsistenzmodelle gibt es? | - Datenzentriert (parallele Schreibzugriffe, Sicht des Tatenspeicher) - Client zentriert (keine gleichzeitigen updates) |
Was ist strikte Konsistenz? | Jedes Read liefert ls Ergebnis den Wert des letzten Writes |
Wieso ist strikte Konsistenz praktisch nicht möglich? | benötigt absolute globale Zeit |
Was ist sequentielle Konsistenz? | solange alle Prozesse die selbe write/read Folge sehen ist jede gültige Kombination aus R/W-Ops akzeptabel |
Was ist kausale Konsistenz? | Write-Ops müssen bei allen in kausalem Verhältnis stehendenProzessen in der selben Reihenfolge stehen. bei anderen ist Reihenfolge egal |
Was ist eventual Consistency? | Wenn lange keine Änderung, dann haben irgendwann alle Replika's die selben Werte |
Problem bei eventual Consistency? | wenn Client die Replika wechselt. |
Welche arten von Replikaten gibt es? | - Permanent - Server-initiiert - Client-initiiert |
Was sind permanente Replikate? | mindestmenge von Replikaten, die beim Design schon angelegt werden. - transparent (client merkt nix) Mirroring(client such replika aus) |
Was ist ein Server-initiiertes Replikat | - kurzfristig initiiert bei hohem Bedarf. - Zur entscheidung wann und wo Replikate erzeugen: Namen der Datei oder anzahl requestherkunft (Kann permanent ersetzen, wenn garantiert, das jedes Datum immer mindestens einmal da ist) |
Was sind Client-initiierte Replikate? | - Client-Cache - Management durch Client - Zweck: verbesserung Datenzugriffszeiten - Daten nur für begrenzte Zeit vorgehalten |
Wie werden Updates propagiert? | - Push-/Pull oder Leases - unicast oder Multicast |
Was wird bei einem Update propagiert? | - geupdateter Server sendet Nachricht über Update (wenig Bandbreite gut bei vielen schreib-, wenig lese-Ops - Änderungsoperation zu andern Servern auch transferieren (wenig Bandbreite, mehr rechenleistung) |
Was ist ein pushbasiertes-Update? | - Updates auf Initiatve des Servers verteilen - Server muss alle Clientcaches für jedes Datum kennen - Gut bei: viel Konsostenz erforderlich oder viele Lese vs. wenig Schreib-op's |
Was ist ein pullbasiertes-Update? | - Client basiert - Alle fragen nach updates - oft von CLient-Caches verwendet - gut bei wenig Lese- vs. viele Schreip-Op's |
Was ist ein leasebasiertes-Update? | - Hybrid aus Push und Pull - Wärend laufZeit Push durch Server - Dannach Pull durch Client - dyn. Umschalten von Push- nach Pull - Client kann neuen Lease beantragen |
Was sind die drei Kriterien für Lease-Laufzeit? | - Änderungshäufigkeit: Änderung selten-->langes Lease - Nachfragehäufigkeit: Client fragt oft-->langes Lease - Serverlast: Serverlast gering-->langes Lease |
Was bedeutet Unicast? | Sende eine Nachricht mit demselben Inhalt an jeden Replika-Server |
Was bedeutet Multicast? | sende nur eine Nachricht und überlasse dem Netz die Verteilung an alle(Push-Protokoll) |
Welche beiden Arten von Datenzentrierten Konsistenzprotokollen gibt es? | - Urbildbasierte Protokolle (Primary-based Protocols) - Protokolle für replizierte Schreibvorgänge (Replicated-Write Protocols) |
Beschreibe Urbildbasierte Konsistenzprotokolle | Werden alle Write-Op's immer an eine Kopie gehen, dann kann man unterscheiden ob die Hauptkopie: - Immer am selben Platz bleibt(RWP) - zum schreibenden Client verlagert wird (LWP) |
Was ist das Remote-Write Protocol? | Updates immer auf remote Urbild-Server. Lese-Op's lokaler Server. |
Zeichnen sie den Vorgang bei einem Remote-Write Protokoll Vorgang | |
Was ist das Problem des Remote-Write Protocol? | Performance. Abhilfe non-Blocking Update aber Problem mit Fehlertoleranz. BESTE UMSETZUNG FÜR SEQUENTIELLE KONSISTENZ |
Was ist das local-Write-Protocol? | Prozess der Update ausführen will lokalisiert Urbild und bewegt es an seinen eigenen Platz(Tauscht aus) |
Vorgang des Local-Write Protocols für Mobile Nutzer | - Hole Urbild - Breche Verbindugn ab - arbeite - baue Verbindung wieder auf --> Keine Änderung durch andere in der Zwischenzeit -->andere Prozesse können weiter lesen |
Zeichnen sie den Vorgang bei einem Local-Write Protokoll Vorgang | |
Was sind replizierte Schreibvorgänge? | Write_Op's auf beliebige Replikate ausführen. - Dann entscheiden welches das richtige Datum ist |
Wie heißen die beiden Ansätze für replizierte Schreibvorgänge? | - Aktive Replikation: Op's an alle Replikas weitergeben - Quorum-basiert. abstimmen, Mehrheit gewinnt |
Beschreibe Aktive Replikation | - Replika besitzt Prozess für Updates - Updates meist Operationen - Problem: alle Updates überall in glaicher Reihenfolge - skaliert schlecht |
Was ist die Alternative zur Aktiven Replikation? | zentraler Prozess, der Sequentialisierung übernimmt |
Wie funktionieren Quorum-basierte Protokolle grob? | CLients müssen vor R/W-Op's Erlaubnis mehrerer Server einholen |
Bedingung für keine Schreib/Schreib- oder schreib/lese-Konflikte bei Quorum basierten Protokollen | Nw > N/2 |
Was muss gegeben sein, dass das Quorum mindestens eine aktuellste Kopie vorhält? | Nw + Nr > N Schreib und Lese-Erlaubnisse mehr als Anzahl Replikate |
Want to create your own Flashcards for free with GoConqr? Learn more.