Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Schreibt
Sie können Zeitreihendaten von angeschlossenen Geräten, IT-Systemen und Industrieanlagen sammeln und sie in Timestream for Live Analytics schreiben. Timestream for Live Analytics ermöglicht es Ihnen, Datenpunkte aus einer einzelnen Zeitreihe und/oder Datenpunkte aus vielen Serien in einer einzigen Schreibanforderung zu schreiben, wenn die Zeitreihen zu derselben Tabelle gehören. Der Einfachheit halber bietet Ihnen Timestream for Live Analytics ein flexibles Schema, das die Spaltennamen und Datentypen für Ihre Timestream for Live Analytics-Tabellen auf der Grundlage der Dimensionsnamen und der Datentypen der Kennzahlwerte, die Sie beim Aufrufen von Schreibvorgängen in die Datenbank angeben, auto erkennt. Sie können auch Datenstapel in Timestream for Live Analytics schreiben.
Anmerkung
Timestream for Live Analytics unterstützt die Semantik für eventuelle Konsistenz bei Lesevorgängen. Wenn Sie also Daten unmittelbar nach dem Schreiben eines Datenstapels in Timestream for Live Analytics abfragen, spiegeln die Abfrageergebnisse möglicherweise nicht die Ergebnisse eines kürzlich abgeschlossenen Schreibvorgangs wider. Die Ergebnisse können auch einige veraltete Daten enthalten. In ähnlicher Weise kann eine Abfrage beim Schreiben von Zeitreihendaten mit einer oder mehreren neuen Dimensionen für einen kurzen Zeitraum eine Teilmenge von Spalten zurückgeben. Wenn Sie diese Abfrageanfragen nach kurzer Zeit wiederholen, sollten die Ergebnisse die neuesten Daten zurückgeben.
Sie können Daten mit AWS SDKs, AWS CLI, oder überAWS Lambda,, AWS IoT CoreAmazon Managed Service für Apache Flink, Amazon KinesisAmazon MSK, und schreibenOpen-Source-Telegraf.
Themen
Datentypen
Timestream for Live Analytics unterstützt die folgenden Datentypen für Schreibvorgänge.
Datentyp | Beschreibung |
---|---|
BIGINT |
Stellt eine 64-Bit-Ganzzahl mit Vorzeichen dar. |
BOOLEAN |
Stellt die beiden Wahrheitswerte der Logik dar, nämlich wahr und falsch. |
DOUBLE |
64-Bit-Version mit variabler Genauigkeit, die den IEEE Standard 754 für binäre Gleitkomma-Arithmetik implementiert. AnmerkungEs gibt Funktionen für |
VARCHAR |
Zeichendaten mit variabler Länge und optionaler Maximallänge. Die maximale Grenze liegt bei 2 KB. |
MULTI |
Datentyp für Datensätze mit mehreren Messwerten. Dieser Datentyp umfasst eine oder mehrere Kennzahlen des Typs |
TIMESTAMP |
Stellt eine Zeitinstanz mit einer Genauigkeit von Nanosekunden dar und verfolgt die Zeit seit der Unix-Zeit. UTC Dieser Datentyp wird derzeit nur für Datensätze mit mehreren Messwerten (d. h. innerhalb von Messwerten des Typs
Schreibt Unterstützungszeitstempel im Bereich bis |
Keine Schemadefinition im Voraus
Bevor Sie Daten an Amazon Timestream for Live Analytics senden, müssen Sie mithilfe der AWS Management Console Operationen Timestream for Live Analytics oder Timestream for Live Analytics SDKs eine Datenbank und eine Tabelle erstellen. API Weitere Informationen erhalten Sie unter Erstellen einer -Datenbank und Erstellen einer Tabelle. Beim Erstellen der Tabelle müssen Sie das Schema nicht im Voraus definieren. Amazon Timestream for Live Analytics erkennt das Schema automatisch anhand der Maße und Dimensionen der gesendeten Datenpunkte, sodass Sie Ihr Schema nicht mehr offline ändern müssen, um es an Ihre sich schnell ändernden Zeitreihendaten anzupassen.
Daten schreiben (Einfügungen und Upserts)
Der Schreibvorgang in Amazon Timestream for Live Analytics ermöglicht es Ihnen, Daten einzufügen und zu aktualisieren. Standardmäßig folgen Schreibvorgänge in Amazon Timestream for Live Analytics der Semantik „Der erste Writer gewinnt“. Dabei werden Daten nur als Anhängen gespeichert und doppelte Datensätze werden zurückgewiesen. Während die Semantik mit dem ersten Writer die Anforderungen vieler Zeitreihenanwendungen erfüllt, gibt es Szenarien, in denen Anwendungen bestehende Datensätze idempotent aktualisieren und/oder Daten mit der Semantik des letzten Schreibers schreiben müssen, wobei der Datensatz mit der höchsten Version im Service gespeichert wird. Um diesen Szenarien gerecht zu werden, bietet Amazon Timestream for Live Analytics die Möglichkeit, Daten zu ändern. Upsert ist eine Operation, die einen Datensatz in das System einfügt, wenn der Datensatz nicht existiert, oder den Datensatz aktualisiert, wenn einer existiert. Wenn der Datensatz aktualisiert wird, wird er idempotent aktualisiert.
Es gibt keinen Vorgang zum Löschen auf Datensatzebene. Tabellen und Datenbanken können jedoch gelöscht werden.
Daten in den Speicher und den Magnetspeicher schreiben
Amazon Timestream for Live Analytics bietet die Möglichkeit, Daten direkt in den Speicher und den Magnetspeicher zu schreiben. Der Speicherspeicher ist für Datenschreibvorgänge mit hohem Durchsatz optimiert, und der Magnetspeicher ist für Schreibvorgänge von spät eintreffenden Daten mit niedrigerem Durchsatz optimiert.
Zu spät eintreffende Daten sind Daten, deren Zeitstempel vor der aktuellen Uhrzeit liegt und sich außerhalb der Aufbewahrungsfrist des Speicherspeichers befindet. Sie müssen die Möglichkeit, spät eintreffende Daten in den Magnetspeicher zu schreiben, ausdrücklich aktivieren, indem Sie Magnetspeicher-Schreibvorgänge für die Tabelle aktivieren. MagneticStoreRejectedDataLocation
Wird auch definiert, wenn eine Tabelle erstellt wird. Um in den Magnetspeicher schreiben zu können, WriteRecords
müssen Aufrufer von über S3:PutObject
Berechtigungen für den S3-Bucket verfügen, der MagneticStoreRejectedDataLocation
bei der Tabellenerstellung angegeben wurde. Weitere Informationen finden Sie unter CreateTableWriteRecords, und PutObject.
Schreiben von Daten mit Einzelmesswerten und Datensätzen mit mehreren Messwerten
Amazon Timestream for Live Analytics bietet die Möglichkeit, Daten mithilfe von zwei Arten von Datensätzen zu schreiben, nämlich Einzelmessdatensätzen und Datensätzen mit mehreren Messwerten.
Datensätze mit einer einzigen Messung
Einzelmessdatensätze ermöglichen es Ihnen, eine einzelne Messgröße pro Datensatz zu senden. Wenn Daten mit diesem Format an Timestream for Live Analytics gesendet werden, erstellt Timestream for Live Analytics eine Tabellenzeile pro Datensatz. Das heißt, wenn ein Gerät 4 Messwerte ausgibt und jede Metrik als Einzelmessdatensatz gesendet wird, erstellt Timestream for Live Analytics 4 Zeilen in der Tabelle, um diese Daten zu speichern, und die Geräteattribute werden für jede Zeile wiederholt. Dieses Format wird in Fällen empfohlen, in denen Sie eine einzelne Metrik von einer Anwendung aus überwachen möchten oder wenn Ihre Anwendung nicht mehrere Metriken gleichzeitig ausgibt.
Datensätze mit mehreren Messwerten
Bei Datensätzen mit mehreren Kennzahlen können Sie mehrere Kennzahlen in einer einzigen Tabellenzeile speichern, anstatt eine Kennzahl pro Tabellenzeile zu speichern. Multi-Measure-Aufzeichnungen ermöglichen es Ihnen daher, Ihre vorhandenen Daten mit minimalen Änderungen aus relationalen Datenbanken zu Amazon Timestream for Live Analytics zu migrieren.
Sie können auch mehr Daten in einer einzigen Schreibanforderung stapeln als Einzeldatensätze. Dies erhöht den Durchsatz und die Leistung beim Schreiben von Daten und senkt auch die Kosten für Datenschreibvorgänge. Das liegt daran, dass Amazon Timestream for Live Analytics durch die Bündelung von mehr Daten in einer einzigen Schreibanforderung (falls zutreffend) mehr wiederholbare Daten identifizieren kann und für wiederholte Daten nur einmal Gebühren berechnet werden.
Themen
Datensätze mit mehreren Messwerten
Bei Datensätzen mit mehreren Messwerten können Sie Ihre Zeitreihendaten in einem kompakteren Format im Speicher und Magnetspeicher speichern, wodurch die Kosten für die Datenspeicherung gesenkt werden. Außerdem eignet sich der kompakte Datenspeicher für das Schreiben einfacherer Abfragen für den Datenabruf, verbessert die Abfrageleistung und senkt die Kosten von Abfragen.
Darüber hinaus unterstützen Datensätze mit mehreren Messwerten auch den TIMESTAMP Datentyp zum Speichern von mehr als einem Zeitstempel in einem Zeitreihendatensatz. TIMESTAMPAttribute in einem Datensatz mit mehreren Kennzahlen unterstützen Zeitstempel in der future oder Vergangenheit. Datensätze mit mehreren Kennzahlen tragen somit zur Verbesserung der Leistung, der Kosten und der Einfachheit von Abfragen bei und bieten mehr Flexibilität beim Speichern verschiedener Arten von korrelierten Kennzahlen.
Vorteile
Im Folgenden sind die Vorteile der Verwendung von Datensätzen mit mehreren Kennzahlen aufgeführt.
-
Leistung und Kosten — Mit Datensätzen mit mehreren Messwerten können Sie mehrere Zeitreihenwerte in einer einzigen Schreibanforderung schreiben. Dies erhöht den Schreibdurchsatz und reduziert auch die Schreibkosten. Mit Datensätzen mit mehreren Messwerten können Sie Daten kompakter speichern, wodurch die Kosten für die Datenspeicherung gesenkt werden. Die kompakte Datenspeicherung von Datensätzen mit mehreren Messwerten führt dazu, dass weniger Daten durch Abfragen verarbeitet werden. Dadurch soll die allgemeine Abfrageleistung verbessert und die Abfragekosten gesenkt werden.
-
Einfache Abfrage — Bei Datensätzen mit mehreren Kennzahlen müssen Sie keine komplexen allgemeinen Tabellenausdrücke (CTEs) in eine Abfrage schreiben, um mehrere Kennzahlen mit demselben Zeitstempel zu lesen. Das liegt daran, dass die Kennzahlen als Spalten in einer einzigen Tabellenzeile gespeichert werden. Datensätze mit mehreren Kennzahlen ermöglichen daher das Schreiben einfacherer Abfragen.
-
Flexibilität bei der Datenmodellierung — Sie können future Zeitstempel in Timestream for Live Analytics schreiben, indem Sie den TIMESTAMP Datentyp und Datensätze mit mehreren Messwerten verwenden. Ein Datensatz mit mehreren Kennzahlen kann zusätzlich zum Zeitfeld in einem Datensatz mehrere Attribute des TIMESTAMP Datentyps haben. TIMESTAMPAttribute können in einem Datensatz mit mehreren Kennzahlen Zeitstempel in der future oder der Vergangenheit haben und sich wie das Zeitfeld verhalten, außer dass Timestream for Live Analytics die Werte vom Typ TIMESTAMP in einem Datensatz mit mehreren Kennzahlen nicht indexiert.
Anwendungsfälle
Sie können Datensätze mit mehreren Messwerten für jede Zeitreihenanwendung verwenden, die zu einem bestimmten Zeitpunkt mehr als eine Messung mit demselben Gerät generiert. Im Folgenden finden Sie einige Beispielanwendungen.
-
Eine Video-Streaming-Plattform, die Hunderte von Metriken zu einem bestimmten Zeitpunkt generiert.
-
Medizinische Geräte, die Messungen wie Blutsauerstoffgehalt, Herzfrequenz und Puls generieren.
-
Industrieanlagen wie Ölplattformen, die Messwerte, Temperatur- und Wettersensoren erzeugen.
-
Andere Anwendungen, die auf einem oder mehreren Microservices basieren.
Beispiel: Überwachung der Leistung und des Zustands einer Video-Streaming-Anwendung
Stellen Sie sich eine Videostreaming-Anwendung vor, die auf 200 EC2 Instanzen ausgeführt wird. Sie möchten Amazon Timestream for Live Analytics verwenden, um die von der Anwendung ausgegebenen Metriken zu speichern und zu analysieren, damit Sie die Leistung und den Zustand Ihrer Anwendung verstehen, Anomalien schnell identifizieren, Probleme lösen und Optimierungsmöglichkeiten entdecken können.
Wir werden dieses Szenario mit Datensätzen mit Einzelkennzahlen und Datensätzen mit mehreren Messwerten modellieren und dann beide Ansätze vergleichen/gegenüberstellen. Für jeden Ansatz gehen wir von den folgenden Annahmen aus.
-
Jede EC2 Instanz gibt vier Messwerte (video_startup_time, rebuffering_ratio, video_playback_failures und average_frame_rate) und vier Dimensionen (device_id, device_type, os_version und region) pro Sekunde aus.
-
Sie möchten Daten für 6 Stunden im Speicher und 6 Monate für Daten im Magnetspeicher speichern.
-
Um Anomalien zu identifizieren, haben Sie 10 Abfragen eingerichtet, die jede Minute ausgeführt werden, um ungewöhnliche Aktivitäten der letzten Minuten zu identifizieren. Sie haben außerdem ein Dashboard mit acht Widgets erstellt, die die Daten der letzten 6 Stunden anzeigen, sodass Sie Ihre Anwendung effektiv überwachen können. Auf dieses Dashboard können fünf Benutzer gleichzeitig zugreifen und es wird jede Stunde automatisch aktualisiert.
Verwendung von Datensätzen für einzelne Messwerte
Datenmodellierung: Bei Einzelmessdatensätzen erstellen wir einen Datensatz für jede der vier Messungen (Videostartzeit, Pufferrate, Fehler bei der Videowiedergabe und durchschnittliche Bildrate). Jeder Datensatz wird die vier Dimensionen (device_id, device_type, os_version und region) und einen Zeitstempel haben.
Schreibvorgänge: Wenn Sie Daten in Amazon Timestream for Live Analytics schreiben, werden die Datensätze wie folgt aufgebaut.
public void writeRecords() { System.out.println("Writing records"); // Specify repeated values for all records List<Record> records = new ArrayList<>(); final long time = System.currentTimeMillis(); List<Dimension> dimensions = new ArrayList<>(); final Dimension device_id = new Dimension().withName("device_id").withValue("12345678"); final Dimension device_type = new Dimension().withName("device_type").withValue("iPhone 11"); final Dimension os_version = new Dimension().withName("os_version").withValue("14.8"); final Dimension region = new Dimension().withName("region").withValue("us-east-1"); dimensions.add(device_id); dimensions.add(device_type); dimensions.add(os_version); dimensions.add(region); Record videoStartupTime = new Record() .withDimensions(dimensions) .withMeasureName("video_startup_time") .withMeasureValue("200") .withMeasureValueType(MeasureValueType.BIGINT) .withTime(String.valueOf(time)); Record rebufferingRatio = new Record() .withDimensions(dimensions) .withMeasureName("rebuffering_ratio") .withMeasureValue("0.5") .withMeasureValueType(MeasureValueType.DOUBLE) .withTime(String.valueOf(time)); Record videoPlaybackFailures = new Record() .withDimensions(dimensions) .withMeasureName("video_playback_failures") .withMeasureValue("0") .withMeasureValueType(MeasureValueType.BIGINT) .withTime(String.valueOf(time)); Record averageFrameRate = new Record() .withDimensions(dimensions) .withMeasureName("average_frame_rate") .withMeasureValue("0.5") .withMeasureValueType(MeasureValueType.DOUBLE) .withTime(String.valueOf(time)); records.add(videoStartupTime); records.add(rebufferingRatio); records.add(videoPlaybackFailures); records.add(averageFrameRate); WriteRecordsRequest writeRecordsRequest = new WriteRecordsRequest() .withDatabaseName(DATABASE_NAME) .withTableName(TABLE_NAME) .withRecords(records); try { WriteRecordsResult writeRecordsResult = amazonTimestreamWrite.writeRecords(writeRecordsRequest); System.out.println("WriteRecords Status: " + writeRecordsResult.getSdkHttpMetadata().getHttpStatusCode()); } catch (RejectedRecordsException e) { System.out.println("RejectedRecords: " + e); for (RejectedRecord rejectedRecord : e.getRejectedRecords()) { System.out.println("Rejected Index " + rejectedRecord.getRecordIndex() + ": " + rejectedRecord.getReason()); } System.out.println("Other records were written successfully. "); } catch (Exception e) { System.out.println("Error: " + e); } }
Wenn Sie Einzelmessdatensätze speichern, werden die Daten logisch wie folgt dargestellt.
Zeit | Gerät_ID | Gerätetyp | os_version | Region | measure_name | Messwert::bigint | Messwert::doppelt |
---|---|---|---|---|---|---|---|
07.09.2021 21:48:44.000000000 |
12345678 |
iPhone 11 |
14,8 |
us-east-1 |
Startzeit des Videos |
200 |
|
07.09.2021 21:48:44,000000000 |
12345678 |
iPhone 11 |
14,8 |
us-east-1 |
Rebuffering_ratio |
0.5 |
|
07.09.2021 21:48:44,000000000 |
12345678 |
iPhone 11 |
14,8 |
us-east-1 |
Fehler bei der Videowiedergabe |
0 |
|
07.09.2021 21:48:44,000000000 |
12345678 |
iPhone 11 |
14,8 |
us-east-1 |
durchschnittliche Bildrate |
0,85 |
|
07.09.2021 21:53:44,000000000 |
12345678 |
iPhone 11 |
14,8 |
us-east-1 |
Startzeit des Videos |
500 |
|
07.09.2021 21:53:44,000000000 |
12345678 |
iPhone 11 |
14,8 |
us-east-1 |
Rebuffering_ratio |
1.5 |
|
07.09.2021 21:53:44,000000000 |
12345678 |
iPhone 11 |
14,8 |
us-east-1 |
Fehler bei der Videowiedergabe |
10 |
|
07.09.2021 21:53:44,000000000 |
12345678 |
iPhone 11 |
14,8 |
us-east-1 |
durchschnittliche Bildrate |
0.2 |
Abfragen: Sie können wie folgt eine Abfrage schreiben, die alle Datenpunkte mit demselben Zeitstempel abruft, die in den letzten 15 Minuten empfangen wurden.
with cte_video_startup_time as ( SELECT time, device_id, device_type, os_version, region, measure_value::bigint as video_startup_time FROM table where time >= ago(15m) and measure_name=”video_startup_time”), cte_rebuffering_ratio as ( SELECT time, device_id, device_type, os_version, region, measure_value::double as rebuffering_ratio FROM table where time >= ago(15m) and measure_name=”rebuffering_ratio”), cte_video_playback_failures as ( SELECT time, device_id, device_type, os_version, region, measure_value::bigint as video_playback_failures FROM table where time >= ago(15m) and measure_name=”video_playback_failures”), cte_average_frame_rate as ( SELECT time, device_id, device_type, os_version, region, measure_value::double as average_frame_rate FROM table where time >= ago(15m) and measure_name=”average_frame_rate”) SELECT a.time, a.device_id, a.os_version, a.region, a.video_startup_time, b.rebuffering_ratio, c.video_playback_failures, d.average_frame_rate FROM cte_video_startup_time a, cte_buffering_ratio b, cte_video_playback_failures c, cte_average_frame_rate d WHERE a.time = b.time AND a.device_id = b.device_id AND a.os_version = b.os_version AND a.region=b.region AND a.time = c.time AND a.device_id = c.device_id AND a.os_version = c.os_version AND a.region=c.region AND a.time = d.time AND a.device_id = d.device_id AND a.os_version = d.os_version AND a.region=d.region
Workload-Kosten: Die Kosten für diesen Workload werden auf 373,23$ pro Monat bei Datensätzen mit nur einer Kennzahl geschätzt
Verwendung von Datensätzen mit mehreren Kennzahlen
Datenmodellierung: Bei Datensätzen mit mehreren Messwerten erstellen wir einen Datensatz, der alle vier Kennzahlen (Videostartzeit, Pufferrate, Fehler bei der Videowiedergabe und durchschnittliche Bildrate), alle vier Dimensionen (device_id, device_type, os_version und Region) und einen Zeitstempel enthält.
Schreibvorgänge: Wenn Sie Daten in Amazon Timestream for Live Analytics schreiben, werden die Datensätze wie folgt aufgebaut.
public void writeRecords() { System.out.println("Writing records"); // Specify repeated values for all records List<Record> records = new ArrayList<>(); final long time = System.currentTimeMillis(); List<Dimension> dimensions = new ArrayList<>(); final Dimension device_id = new Dimension().withName("device_id").withValue("12345678"); final Dimension device_type = new Dimension().withName("device_type").withValue("iPhone 11"); final Dimension os_version = new Dimension().withName("os_version").withValue("14.8"); final Dimension region = new Dimension().withName("region").withValue("us-east-1"); dimensions.add(device_id); dimensions.add(device_type); dimensions.add(os_version); dimensions.add(region); Record videoMetrics = new Record() .withDimensions(dimensions) .withMeasureName("video_metrics") .withTime(String.valueOf(time)); .withMeasureValueType(MeasureValueType.MULTI) .withMeasureValues( new MeasureValue() .withName("video_startup_time") .withValue("0") .withValueType(MeasureValueType.BIGINT), new MeasureValue() .withName("rebuffering_ratio") .withValue("0.5") .withType(MeasureValueType.DOUBLE), new MeasureValue() .withName("video_playback_failures") .withValue("0") .withValueType(MeasureValueType.BIGINT), new MeasureValue() .withName("average_frame_rate") .withValue("0.5") .withValueType(MeasureValueType.DOUBLE)) records.add(videoMetrics); WriteRecordsRequest writeRecordsRequest = new WriteRecordsRequest() .withDatabaseName(DATABASE_NAME) .withTableName(TABLE_NAME) .withRecords(records); try { WriteRecordsResult writeRecordsResult = amazonTimestreamWrite.writeRecords(writeRecordsRequest); System.out.println("WriteRecords Status: " + writeRecordsResult.getSdkHttpMetadata().getHttpStatusCode()); } catch (RejectedRecordsException e) { System.out.println("RejectedRecords: " + e); for (RejectedRecord rejectedRecord : e.getRejectedRecords()) { System.out.println("Rejected Index " + rejectedRecord.getRecordIndex() + ": " + rejectedRecord.getReason()); } System.out.println("Other records were written successfully. "); } catch (Exception e) { System.out.println("Error: " + e); } }
Wenn Sie Datensätze mit mehreren Kennzahlen speichern, werden die Daten logisch wie folgt dargestellt.
Zeit | Gerät_ID | Gerätetyp | os_version | Region | measure_name | Startzeit des Videos | Rebuffering_ratio | Fehler bei der Videowiedergabe | durchschnittliche Bildrate |
---|---|---|---|---|---|---|---|---|---|
07.09.2021 21:48:44,000000000 |
12345678 |
iPhone 11 |
14,8 |
us-east-1 |
Video-Metriken |
200 |
0.5 |
0 |
0,85 |
07.09.2021 21:53:44,000000000 |
12345678 |
iPhone 11 |
14,8 |
us-east-1 |
Video-Metriken |
500 |
1.5 |
10 |
0.2 |
Abfragen: Sie können wie folgt eine Abfrage schreiben, die alle Datenpunkte mit demselben Zeitstempel abruft, die in den letzten 15 Minuten empfangen wurden.
SELECT time, device_id, device_type, os_version, region, video_startup_time, rebuffering_ratio, video_playback_failures, average_frame_rate FROM table where time >= ago(15m)
Workload-Kosten: Bei Datensätzen mit mehreren Kennzahlen werden die Workload-Kosten auf 127,43$ geschätzt.
Anmerkung
In diesem Fall werden durch die Verwendung von Datensätzen mit mehreren Kennzahlen die geschätzten monatlichen Gesamtausgaben um das 2,5-Fache reduziert, wobei die Kosten für das Schreiben von Daten um das 3,3-fache, die Speicherkosten um das 3,3-fache und die Abfragekosten um das 1,2-fache reduziert werden.
Daten mit einem Zeitstempel schreiben, der in der Vergangenheit oder in der future existiert
Timestream for Live Analytics bietet mithilfe verschiedener Mechanismen die Möglichkeit, Daten mit einem Zeitstempel zu schreiben, der außerhalb des Aufbewahrungszeitfensters für den Speicherspeicher liegt.
-
Schreibvorgänge im Magnetspeicher — Sie können Daten, die spät eintreffen, mithilfe von Magnetspeicher-Schreibvorgängen direkt in den Magnetspeicher schreiben. Um Magnetspeicher-Schreibvorgänge verwenden zu können, müssen Sie zunächst Magnetspeicher-Schreibvorgänge für eine Tabelle aktivieren. Anschließend können Sie Daten mit demselben Mechanismus in die Tabelle aufnehmen, der für das Schreiben von Daten in den Speicherspeicher verwendet wurde. Amazon Timestream for Live Analytics schreibt die Daten anhand ihres Zeitstempels automatisch in den Magnetspeicher.
Anmerkung
Die write-to-read Latenz für den Magnetspeicher kann bis zu 6 Stunden betragen, im Gegensatz zum Schreiben von Daten in den Speicherspeicher, wo die write-to-read Latenz im Bereich unter einer Sekunde liegt.
-
TIMESTAMPDatentyp für Kennzahlen — Sie können den TIMESTAMP Datentyp verwenden, um Daten aus der Vergangenheit, Gegenwart oder future zu speichern. Ein Datensatz mit mehreren Kennzahlen kann zusätzlich zum Zeitfeld in einem Datensatz mehrere Attribute des TIMESTAMP Datentyps haben. TIMESTAMPAttribute können in einem Datensatz mit mehreren Kennzahlen Zeitstempel in der future oder der Vergangenheit haben und sich wie das Zeitfeld verhalten, außer dass Timestream for Live Analytics die Werte vom Typ TIMESTAMP in einem Datensatz mit mehreren Kennzahlen nicht indexiert.
Anmerkung
Der TIMESTAMP Datentyp wird nur für Datensätze mit mehreren Kennzahlen unterstützt.
Eventuelle Konsistenz bei Lesevorgängen
Timestream for Live Analytics unterstützt die Semantik der eventuellen Konsistenz bei Lesevorgängen. Wenn Sie also Daten unmittelbar nach dem Schreiben eines Datenstapels in Timestream for Live Analytics abfragen, spiegeln die Abfrageergebnisse möglicherweise nicht die Ergebnisse eines kürzlich abgeschlossenen Schreibvorgangs wider. Wenn Sie diese Abfrageanfragen nach kurzer Zeit wiederholen, sollten die Ergebnisse die neuesten Daten zurückgeben.