Datenspeicher
Datentabellen
Eine Datentabelle ähnelt einer standardmäßigen relationalen Datenbanktabelle, aber unterscheidet sich deutlich im Hinblick auf die Leistung. Im Allgemeinen sollten Datentabellen verwendet werden, wenn Sie weniger als 100.000 Datenzeilen haben. Für größere Datensätze sollte eine relationale Datenbank verwendet und über eine Datenbank-Dingvorlage verbunden werden. Ein Data Shape definiert die Spalten oder Felder der Datentabelle.
* 
Zusätzliche Informationen zu Datentabellen finden Sie im englischen Dokument Model and Data Best Practices (Optimale Vorgehensweisen für Modelle und Daten).
Mögliche Anwendungsfälle für Datentabellen sind Wartungsarbeitsaufträge für einen Standort oder ein Team oder Produktionsaufträge für eine Fertigungslinie. Das Speichern dieser Daten in Datentabellen macht es einfach, ein benutzerdefiniertes Mashup für die Benutzer der Daten zu erstellen.
Eine Datentabelle hat die folgenden vordefinierten Felder:
Zeitstempel: Zeitpunkt, zu dem der Eintrag erstellt wurde. Es ist auch möglich, einen Zeitstempel bereitzustellen, wenn Sie einen Datentabelleneintrag hinzufügen.
* 
Jeder Datentabellen-Dingdienst verfügt über eine vordefinierte gemeinsame Eigenschaft vom Typ DATETIME für den Zeitstempel. Wenn eine Datentabelle einen benutzerdefinierten Data Shape verwendet, der das Zeitstempelfeld mit einem anderen Datentyp definiert, tritt beim Ausführen eines Abfragediensts ein Fehler auf.
Tag: Jeder Datentabelleneintrag kann mit einem Tag versehen werden. Daten-Tags unterstützen bei der Suche und Verwendung bestimmter Laufzeitdaten.
Quelle: Quelle des Datentabelleneintrags. Dies ist gewöhnlich der Name des Dings, das in die Datentabelle schreibt, oder eine ID eines externen Systems.
Quelltyp: Entitätstyp der Quelle (wie Ding oder Benutzer).
Speicherort: Speicherort der Quelle des Datentabelleneintrags.
Datentabellenvorlagen
Name
Beschreibung
ContentCrawler
Content Crawler-Dinge werden verwendet, um für eine andere Entität einen Dienst aufzurufen, der eine Infotable mit Daten zurückgibt. Diese wird dann in der Datentabelle des Content Crawler-Dings gespeichert. Weitere Informationen finden Sie unter Content Crawler.
DataTable
Speichert Daten, die keine Zeitreihendaten sind. Weitere Informationen finden Sie hier:
RemoteDataTable
Erstellt ein lokales Proxy-Objekt für ein Datentabellen-Ding, das Daten auf einem anderen ThingWorx Server ausführt und persistent macht. Weitere Informationen finden Sie unter Remote-Dinge.
Konfiguration von Indexeinstellungen
Die Konfiguration für eine Datentabelle ermöglicht es Ihnen, zusätzliche Tabellenindizes zu definieren. Dies ist mit einer Tabelle der relationalen Datenbank vergleichbar, für die Sie neben dem primären Schlüssel (wird im Data Shape definiert) die Tabelle anhand anderer Felder abfragen müssen. Sie sollten einen Index für jeden Satz häufig verwendeter Filterkriterien erstellen. Dies hat große Auswirkungen auf die Abfrageleistung.
* 
Wenn Sie neue Indizes hinzufügen, müssen Sie den Dienst Reindex in der Datentabelle ausführen, um die Daten entsprechend Ihren neuen Definitionen zu indexieren. Verifizieren Sie, ob alle benutzerdefinierten Indexfelder Werte enthalten. Der Dienst schlägt fehl, wenn ein benutzerdefiniertes Indexfeld keine Werte aufweist. Dies kann für eine große Datentabelle mehrere Minuten dauern.
Nehmen wir das Beispiel eines Auftrags. Eine Auftragsdatentabelle könnte wie folgt aussehen: SalesOrderID (primary key) CustomerName CustomerRegion OrderAmount SalesRep DueDate
Wenn Sie den Data Shape erstellen und den primären Schlüssel definieren, erstellt das System automatisch einen Tabellenindex für SalesOrderID. Tatsächlich fragen Sie die Tabelle jedoch wahrscheinlich mit anderen Spalten als dem primären Schlüssel ab.
* 
Der Verbundindex hat zwei Feldnamen, die durch ein Semikolon getrennt sind. Dieses Format muss verwendet werden und sollte keine Leerzeichen enthalten.
Beispiel
Beispielsweise können zwei allgemeine Abfragen folgende sein:
1. Tabellendaten abrufen: CustomerName = 'Some Customer Name'
2. Tabellendaten abrufen: SalesRep = 'rep name' AND CustomerRegion = 'Northeast Region'
Für dieses Beispiel würden Sie zwei Indizes erstellen, einen für jede allgemeine Abfrage. Den Indexnamen können Sie bestimmen: Es handelt sich um einen semantischen Namen, der nicht in der Abfrageausführung verwendet wird. Daher können die Indizes wie folgt aussehen: Index Name Index Field Names Customer CustomerName RepRegion SalesRep;CustomerRegion
Verwandte Links
War dies hilfreich?