1

Ich schaue auf Graph Engine (nicht mit MSFT AD Graph verwechselt werden), aber ich habe Fragen über verteilt "fanout search".Wie funktioniert Graph Engine "Fan-out-Suche"?

Von dem, was ich sagen kann

  • Objekte werden in einer verteilten Weise über N-Servern gespeichert.
  • Diese Zuordnung von N-Server müssen nicht während der Laufzeit
  • Basierend auf einigen Konfigurationseinstellungen geändert werden, können sie als „read only“
  • Es gibt keine „Authentifizierung“ zwischen den Knoten, Befehle, genau das zu voll vertrauenswürdig sind gültig sein.

Ich bin verwirrt über

  • In welcher Weise sind die Daten sharded/über die Knoten aufgeteilt?
  • Wie invasiv ist das "Global Lock", das bei Schreibvorgängen einen Engpass darstellen könnte
  • Wie viele Knoten gleichzeitig werden abgefragt?

Idealerweise gibt es Visualisierungen wie diese:

enter image description here

Antwort

1
  1. Es via Global.CloudStorage.SetPartitionMethod konfigurierbar ist. Standardmäßig ist Share-Nothing und Shards mit dem 64-Bit-Schlüssel.
  2. Standardmäßig keine globale Sperre, wenn Sie also Transaktionen möchten, können Sie Ihr eigenes 2PC-Protokoll rollen.
  3. Das hängt davon ab, wie der Graph partitioniert ist. Wenn es zufällig partitioniert wird, werden wahrscheinlich alle Knoten berührt.