2017-02-20 5 views
0

verwenden Dokumente in Documentdb müssen eine eindeutige ID-Eigenschaft haben.Was soll ich die Id-Eigenschaft für

Jedes Dokument verfügt auch über eine Dokumentverknüpfung. Dieser Link scheint einen Großteil der Rolle zu erfüllen, die ein Primärschlüssel in einer relationalen Datenbanktabelle erfüllt, insbesondere in Bezug auf ein eindeutiges Dokument.

Was sollte ich die ID-Eigenschaft für vs die Dokumentverknüpfung verwenden? Wenn ich eine stabile ID in einem Dokument speichern möchte, gibt es Gründe, die ID und nicht die Dokumentverknüpfung zu speichern?

Antwort

0

Ich denke, Sie können entweder das Linkfeld verwenden oder das ID-Feld speichern und einen Link im Code erstellen. Es gibt nur geringe Kosten in der Latenz für Letzteres, also liegt es ganz bei Ihnen, was Sie als Fremdschlüssel speichern. Beachten Sie, dass es oft weniger Rundreisen sind, Links von nicht-ausländischen Schlüsselumständen zu erstellen.

Ein bisschen Hintergrund ... Die Link-Felder sind ein bisschen Vermächtnis, obwohl immer noch nützlich und wahrscheinlich nie weggehen. Als DocumentDB zum ersten Mal herauskam, konnten Sie keine eigenen Links erstellen. Sie haben das irgendwann Ende 2015 oder Anfang 2016 behoben, wenn das Gedächtnis dient. Ich vermute, wenn sie es noch einmal machen müssten, hätten sie alles mit handgebauten Links gemacht, die die ID benutzen.

1

Sowohl id (die einstellbar ist) als auch _rid (die von DocumentDB generiert wird) sind eindeutige Schlüssel für eine Auflistung, wenn sie mit dem konfigurierten Partitionsschlüsselwert kombiniert werden. Die meisten Anwendungen verwenden nur id. Der Hauptvorteil von id ist, dass es vom Benutzer generiert wird.

Es gibt einige Vorteile bei der Verwendung _rid jedoch:

  • Es global einzigartig ist, aber nicht so lange, wie ein Guid
  • Es ist hierarchisch aufgebaut, so dass Sie nicht brauchen, um Datenbank, Sammlung zu verfolgen, und Dokumenten-IDs - nur die _rid
  • Es ist ein monoton wachsender Wert, der eine nützliche Eigenschaft für einige Anwendungsfälle ist (Anmerkung: innerhalb einer Partition Schlüssel zu erhöhen, keine garantierte Bestellung über Partitionsschlüssel)
Verwandte Themen