/ / Effiziente Methode zum Modellieren des Azure-Tabellenspeichers für soziale Netzwerke - nosql, Azure-Table-Storage

Effiziente Methode zum Modellieren von Azure Table-Speicher für soziale Netzwerke - Nosql, Azure Table-Storage

Ich habe solche Tabellen in SQL Server

Benutzer

  • UserId (einzigartig)
  • Name
  • Alter

Freunde

  • Benutzeridentifikation
  • FriendId

Themen

  • Benutzeridentifikation
  • Gegenstand

Es kann mehrere tausend Benutzer geben. und es gibt mehrere andere Eigenschaften in der Tabelle.

Ich kann nachfragen, um folgende Antworten zu erhalten.

  1. Gib mir alle Freunde des Benutzers "Tom".
  2. Gib mir alle von "Tom" erstellten Themen.
  3. Gib mir alle Themen, die von Toms Freunden erstellt wurden und die "abc" im Thema enthalten.

Wie strukturiere ich meine Tabellen, wenn ich dies im Azure-Tabellenspeicher tun würde? Ich habe durchgemacht Dies und Dies Ich möchte, dass jemand, der mehr Erfahrung mit der Modellierung von Azure Table-Speicher hat, einige Einblicke gibt.

Antworten:

0 für die Antwort № 1

1 und 2 sind ziemlich einfach. Sie erstellen zwei Azure-Tabellen - Freunde und Themen, die nach Benutzer-ID indiziert sind (mit der Benutzer-ID im Schlüssel).

Die dritte ist bei Azure-Tabellen viel schwieriger, insbesondere "das enthält" abc "im Betreff".

Azure-Tabellen unterstützen keine Volltextsuche. Grundsätzlich ist es nur möglich, Werte (oder Wertebereiche) entweder mit exakten Schlüsseln oder mit dem Operator "Start mit" effizient abzurufen. Wie "Gib mir alle Datensätze, bei denen der Schlüssel gleich" Schlüsselwert "ist". Oder "Geben Sie mir alle Datensätze, bei denen der Schlüssel größer als" Schlüsseluntergrenze "und kleiner als" Schlüsselobergrenze "ist".

Es ist auch möglich, mit "Startswith" nach einem beliebigen Nicht-Schlüsselfeld eines Datensatzes zu filtern. Dies beinhaltet jedoch einen Tabellenscan und ist nicht effizient. Es ist nicht möglich, eine ähnliche Filterung mit "enthält" durchzuführen.

Ich denke, Sie brauchen hier etwas mit Unterstützung für die Volltextsuche.