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.
Verwendung von Amazon Timestream als Ziel für AWS Database Migration Service
Sie können AWS Database Migration Service es verwenden, um Daten von Ihrer Quelldatenbank zu einem Amazon Timestream Timestream-Zielendpunkt zu migrieren, wobei Full Load- und CDC-Datenmigrationen unterstützt werden.
Amazon Timestream ist ein schneller, skalierbarer Serverless-Zeitreihendatenbank-Service, der für die Erfassung großer Datenmengen entwickelt wurde. Zeitreihendaten sind Folgen von Datenpunkten, die über ein Zeitintervall erfasst wurden. Sie werden zur Messung von Ereignissen verwendet, die sich im Laufe der Zeit ändern. Es wird verwendet, um Metriken aus IoT-Anwendungen, -Anwendungen und -Analyseanwendungen zu sammeln, zu speichern und zu analysieren. DevOps Sobald Sie Ihre Daten in Timestream haben, können Sie Trends und Muster in Ihren Daten nahezu in Echtzeit visualisieren und identifizieren. Informationen zu Amazon Timestream finden Sie unter Was ist Amazon Timestream? im Amazon-Timestream-Entwicklerhandbuch.
Themen
Voraussetzungen für die Verwendung von Amazon Timestream als Ziel für AWS Database Migration Service
Aufgabeneinstellungen für vollständige Multithread-Ladevorgänge
Endpunkteinstellungen bei Verwendung von Timestream als Ziel für AWS DMS
Verwenden der Objektzuweisung zum Migrieren von Daten zu einem Timestream-Thema
Einschränkungen bei der Verwendung von Amazon Timestream als Ziel für AWS Database Migration Service
Voraussetzungen für die Verwendung von Amazon Timestream als Ziel für AWS Database Migration Service
Bevor Sie Amazon Timestream als Ziel für einrichten, stellen Sie sicher AWS DMS, dass Sie eine IAM-Rolle erstellen. Diese Rolle muss AWS DMS den Zugriff auf die Daten ermöglichen, die zu Amazon Timestream migriert werden. Die Mindestanzahl an Zugriffsberechtigungen für die Rolle, die Sie für die Migration zu Timestream verwenden, ist in der folgenden IAM-Richtlinie aufgeführt.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowDescribeEndpoints", "Effect": "Allow", "Action": [ "timestream:DescribeEndpoints" ], "Resource": "*" }, { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "timestream:ListTables", "timestream:DescribeDatabase" ], "Resource": "arn:aws:timestream:
region
:account_id
:database/DATABASE_NAME
" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "timestream:DeleteTable", "timestream:WriteRecords", "timestream:UpdateTable", "timestream:CreateTable" ], "Resource": "arn:aws:timestream:region
:account_id
:database/DATABASE_NAME/table/TABLE_NAME
" } ] }
Wenn Sie beabsichtigen, alle Tabellen zu migrieren, verwenden Sie *
for TABLE_NAME
im obigen Beispiel.
Beachten Sie Folgendes zur Verwendung von Timestream als Ziel:
-
Wenn Sie historische Daten mit Zeitstempeln aufnehmen möchten, die älter als ein Jahr sind, empfehlen wir, die Daten mit AWS DMS im .csv-Format in Amazon S3 zu schreiben. Verwenden Sie dann den Stapelladevorgang von Timestream, um die Daten in Timestream aufzunehmen. Weitere Informationen dazu finden Sie unter Verwenden des Stapelladens in Timestream im Amazon-Timestream-Entwicklerhandbuch.
Für Volllast-Datenmigrationen von Daten, die weniger als ein Jahr alt sind, empfehlen wir, die Aufbewahrungsdauer der Timestream-Tabelle für den Speicher größer oder gleich dem ältesten Zeitstempel festzulegen. Sobald die Migration abgeschlossen ist, bearbeiten Sie die Speicherdauer der Tabelle zum gewünschten Wert. Gehen Sie beispielsweise wie folgt vor, um Daten zu migrieren, bei denen der älteste Zeitstempel 2 Monate alt ist:
Legen Sie die Speicherdauer der Timestream-Zieltabelle auf 2 Monate fest.
Starten Sie die Datenmigration mit AWS DMS.
Sobald die Datenmigration abgeschlossen ist, ändern Sie den Aufbewahrungszeitraum der Timestream-Zieltabelle auf den gewünschten Wert.
Wir empfehlen, die Speicherkosten vor der Migration anhand der Informationen auf den folgenden Seiten abzuschätzen:
Für CDC-Datenmigrationen empfehlen wir, den Aufbewahrungszeitraum für den Speicher der Zieltabelle so festzulegen, dass die aufgenommenen Daten innerhalb der Aufbewahrungsgrenzen des Speichers liegen. Weitere Informationen dazu finden Sie unter Bewährte Verfahren für Schreibvorgänge im Amazon-Timestream-Entwicklerhandbuch.
Aufgabeneinstellungen für vollständige Multithread-Ladevorgänge
AWS DMS Unterstützt zur Erhöhung der Geschwindigkeit der Datenübertragung eine Multithread-Migrationsaufgabe mit Volllast zu einem Timestream-Zielendpunkt mit den folgenden Aufgabeneinstellungen:
-
MaxFullLoadSubTasks
– Geben Sie diese Option an, um die maximale Anzahl von Quelltabellen festzulegen, die parallel geladen werden sollen. DMS lädt jede Tabelle in die entsprechende Amazon-Timestream-Zieltabelle mithilfe einer dedizierten Unteraufgabe. Der Standardwert beträgt 8; der Maximalwert beträgt 49. -
ParallelLoadThreads
— Verwenden Sie diese Option, um die Anzahl der Threads anzugeben, die AWS DMS verwendet werden, um jede Tabelle in ihre Amazon Timestream Timestream-Zieltabelle zu laden. Der maximale Wert für ein Timestream-Ziel ist 32. Sie können eine Erhöhung dieses Höchstwerts anfordern. -
ParallelLoadBufferSize
– Verwenden Sie diese Option, um die maximale Anzahl der Datensätze anzugeben, die in dem Puffer gespeichert werden sollen, den die Parallellade-Threads zum Laden von Daten in das Amazon-Timestream-Ziel verwenden. Der Standardwert lautet 50. Die maximale Wert ist 1.000. Verwenden Sie diese Einstellung mitParallelLoadThreads
;ParallelLoadBufferSize
ist nur gültig, wenn es mehr als einen Thread gibt. -
ParallelLoadQueuesPerThread
– Verwenden Sie diese Option, um die Anzahl der Warteschlangen anzugeben, auf die jeder gleichzeitige Thread zugreift, um Datensätze aus Warteschlangen zu entfernen und eine Stapellast für das Ziel zu generieren. Der Standardwert ist 1. Für Amazon-Timestream-Ziele mit verschiedenen Nutzlastgrößen beträgt der gültige Bereich jedoch 5–512 Warteschlangen pro Thread.
Aufgabeneinstellungen für Multithreaded CDC-Ladevorgänge
AWS DMS Unterstützt die folgenden Aufgabeneinstellungen, um die CDC-Leistung zu fördern:
-
ParallelApplyThreads
— Gibt die Anzahl gleichzeitiger Threads an, die während eines CDC-Ladevorgangs AWS DMS verwendet werden, um Datensätze an einen Timestream-Zielendpunkt zu übertragen. Der Standardwert ist 0 und der maximale Wert ist 32. -
ParallelApplyBufferSize
– Gibt die maximale Anzahl von Datensätzen an, die in jeder Pufferwarteschlange für gleichzeitige Threads gespeichert werden sollen, um sie während eines CDC-Ladevorgangs an einen Timestream-Zielendpunkt zu übertragen. Der Standardwert ist 100 und der Höchstwert 1 000. Verwenden Sie diese Option, wennParallelApplyThreads
mehrere Threads angibt. -
ParallelApplyQueuesPerThread
– Gibt die Anzahl der Warteschlangen an, auf die jeder Thread zugreift, um Datensätze aus Warteschlangen zu entfernen und während des CDC eine Stapellast für einen Timestream-Endpunkt zu generieren. Der Standardwert ist 1 und der maximale Wert 512.
Endpunkteinstellungen bei Verwendung von Timestream als Ziel für AWS DMS
Sie können Endpunkteinstellungen zur Konfiguration Ihrer Timestream-Zieldatenbank verwenden, ähnlich wie Sie zusätzliche Verbindungsattribute verwenden. Sie geben die Einstellungen an, wenn Sie den Zielendpunkt mithilfe der AWS DMS Konsole oder mithilfe des create-endpoint
Befehls in AWS CLI, mit der --timestream-settings '{"
JSON-Syntax erstellen.EndpointSetting"
:
"value"
, ...
}'
Die folgende Tabelle zeigt die Endpunkteinstellungen, die Sie mit Timestream als Ziel verwenden können.
Name | Beschreibung |
---|---|
|
Legen Sie dieses Attribut so fest, dass die Aufbewahrungsfrist angegeben wird, mit der die migrierten Daten im Speicher von Timestream gespeichert werden sollen. Die Zeit wird in Stunden gemessen. Der Speicher von Timestream ist für einen hohen Aufnahmedurchsatz und schnellen Zugriff optimiert. Standardwert: 24 (Stunden) Gültige Werte: 1 bis 8.736 (1 Stunde bis 12 Monate, gemessen in Stunden) Beispiel: |
|
Legen Sie dieses Attribut fest, um den Namen der Timestream-Zieldatenbank anzugeben. Typ: Zeichenfolge Beispiel: |
|
Legen Sie dieses Attribut fest, um den Namen der Timestream-Zieltabelle anzugeben. Typ: Zeichenfolge Beispiel: |
|
Legen Sie dieses Attribut fest, um die magnetische Dauer, die auf die Timestream-Tabellen angewendet wird, in Tagen anzugeben. Dies ist die Aufbewahrungsgrenze für die erfassten Daten. Timestream löscht jeden Zeitstempel, der die Aufbewahrungsgrenze überschreitet. Weitere Informationen dazu finden Sie unter Speicher im Amazon-Timestream-Entwicklerhandbuch. Beispiel: |
|
Legen Sie dieses Attribut auf fest, Standardwert: Beispiel: |
|
Setzen Sie dieses Attribut auf Standardwert: Beispiel: |
Erstellen und Ändern eines Amazon-Timestream-Zielendpunkts
Nachdem Sie eine IAM-Rolle erstellt und die Mindestanzahl an Zugriffsberechtigungen festgelegt haben, können Sie einen Amazon Timestream Timestream-Zielendpunkt mithilfe der AWS DMS Konsole oder mithilfe des create-endpoint
Befehls in der mit der AWS CLI--timestream-settings '{"
JSON-Syntax erstellen.EndpointSetting"
:
"value"
, ...
}'
In den folgenden Beispielen wird erläutert, wie ein Timestream-Zielendpunkt mit der AWS CLI erstellt und geändert wird.
Befehl „Timestream-Zielendpunkt erstellen“
aws dms create-endpoint —endpoint-identifier timestream-target-demo --endpoint-type target —engine-name timestream --service-access-role-arn arn:aws:iam::123456789012:role/my-role --timestream-settings { "MemoryDuration": 20, "DatabaseName":"db_name", "MagneticDuration": 3, "CdcInsertsAndUpdates": true, "EnableMagneticStoreWrites": true, }
Befehl „Timestream-Zielendpunkt ändern“
aws dms modify-endpoint —endpoint-identifier timestream-target-demo --endpoint-type target —engine-name timestream --service-access-role-arn arn:aws:iam::123456789012:role/my-role --timestream-settings { "MemoryDuration": 20, "MagneticDuration": 3, }
Verwenden der Objektzuweisung zum Migrieren von Daten zu einem Timestream-Thema
AWS DMS verwendet Regeln für die Tabellenzuweisung, um Daten aus der Quelle dem Timestream-Zielthema zuzuordnen. Um Daten einem Zielthema zuzuweisen, verwenden Sie eine Art von Tabellenzuweisungsregel, die als Objektzuweisung bezeichnet wird. Mit der Objektzuweisung legen Sie fest, wie Datensätze in der Quelle den in einem Timestream-Thema veröffentlichten Datensätzen zugewiesen werden.
Timestream-Themen verfügen bis auf einen Partitionsschlüssel über keine voreingestellte Struktur.
Anmerkung
Sie müssen die Objektzuweisung nicht verwenden. Sie können die reguläre Tabellenzuweisung für verschiedene Transformationen verwenden. Der Partitionsschlüsseltyp folgt jedoch diesen Standardverhaltensweisen:
-
Der Primärschlüssel wird als Partitionsschlüssel für Volllast verwendet.
-
Wenn keine Aufgabeneinstellungen für die parallele Anwendung verwendet werden, wird
schema.table
als Partitionsschlüssel für CDC verwendet. -
Wenn Aufgabeneinstellungen für parallele Anwendung verwendet werden, wird der Primärschlüssel als Partitionsschlüssel für CDC verwendet.
Um eine Objektzuweisungsregel zu erstellen, legen Sie rule-type
als object-mapping
fest. Diese Regel gibt an, welchen Objektzuweisungstyp Sie verwenden möchten. Die Struktur für die Regel lautet wie folgt.
{ "rules": [ { "rule-type": "object-mapping", "rule-id": "
id
", "rule-name": "name
", "rule-action": "valid object-mapping rule action
", "object-locator": { "schema-name": "case-sensitive schema name
", "table-name": "" } } ] }
{ "rules": [ { "rule-type": "object-mapping", "rule-id": "1", "rule-name": "timestream-map", "rule-action": "map-record-to-record", "target-table-name": "tablename", "object-locator": { "schema-name": "", "table-name": "" }, "mapping-parameters": { "timestream-dimensions": [ "column_name1", "column_name2" ], "timestream-timestamp-name": "time_column_name", "timestream-multi-measure-name": "column_name1or2", "timestream-hash-measure-name": true or false, "timestream-memory-duration": x, "timestream-magnetic-duration": y } } ] }
AWS DMS unterstützt derzeit map-record-to-record
und map-record-to-document
als einzig gültige Werte für den Parameter. rule-action
Die map-record-to-document
Werte map-record-to-record
und geben an, was AWS DMS standardmäßig mit Datensätzen geschieht, die nicht in der exclude-columns
Attributliste ausgeschlossen sind. Diese Werte wirken sich in keiner Weise auf die Attributzuweisungen aus.
Verwenden Sie map-record-to-record
beim Migrieren aus einer relationalen Datenbank zu einem Timestream-Thema. Dieser Regeltyp verwendet den taskResourceId.schemaName.tableName
-Wert aus der relationalen Datenbank als Partitionsschlüssel in dem Timestream-Thema und erstellt ein Attribut für jede Spalte in der Quelldatenbank. Bei Verwendung wird für jede Spalte in der Quelltabellemap-record-to-record
, die nicht in der exclude-columns
Attributliste aufgeführt ist, ein entsprechendes Attribut im Zielthema AWS DMS erstellt. Dieses entsprechende Attribut wird unabhängig davon erstellt, ob diese Quellspalte in einer Attributzuweisung verwendet wird oder nicht.
Eine Möglichkeit, map-record-to-record
zu verstehen, besteht darin, sich die praktische Anwendung zu veranschaulichen. In diesem Beispiel wird davon ausgegangen, dass Sie mit einer Tabellenzeile einer relationalen Datenbank beginnen, die die folgende Struktur aufweist und die folgenden Daten enthält.
FirstName | LastName | StoreId | HomeAddress | HomePhone | WorkAddress | WorkPhone | DateofBirth |
---|---|---|---|---|---|---|---|
Randy |
Marsh | 5 |
221B Baker Street |
1234567890 |
31 Spooner Street, Quahog |
9876543210 |
02/29/1988 |
Um diese Informationen von einem Schema mit dem Namen Test
zu einem Timestream-Thema zu migrieren, erstellen Sie Regeln, um die Daten dem Zielthema zuzuweisen. Die folgende Regel veranschaulicht die Zuweisung.
{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "rule-action": "include", "object-locator": { "schema-name": "Test", "table-name": "%" } }, { "rule-type": "object-mapping", "rule-id": "2", "rule-name": "DefaultMapToTimestream", "rule-action": "map-record-to-record", "object-locator": { "schema-name": "Test", "table-name": "Customers" } } ] }
Nachfolgend wird das resultierende Datensatzformat bei Verwendung unserer Beispieldaten in dem Timestream-Zielthema für ein bestimmtes Timestream-Thema und einen bestimmten Partitionsschlüssel (in diesem Fall taskResourceId.schemaName.tableName
) illustriert.
{ "FirstName": "Randy", "LastName": "Marsh", "StoreId": "5", "HomeAddress": "221B Baker Street", "HomePhone": "1234567890", "WorkAddress": "31 Spooner Street, Quahog", "WorkPhone": "9876543210", "DateOfBirth": "02/29/1988" }
Einschränkungen bei der Verwendung von Amazon Timestream als Ziel für AWS Database Migration Service
Bei der Verwendung von Amazon Timestream als Ziel gelten die folgenden Einschränkungen:
Dimensionen und Zeitstempel: Timestream verwendet die Dimensionen und Zeitstempel in den Quelldaten wie einen zusammengesetzten Primärschlüssel und ermöglicht Ihnen auch nicht, diese Werte zu ändern. Dies bedeutet: Wenn Sie den Zeitstempel oder die Dimensionen für einen Datensatz in der Quelldatenbank ändern, versucht die Timestream-Datenbank, einen neuen Datensatz zu erstellen. Es ist also möglich, dass, wenn Sie die Dimension oder den Zeitstempel eines Datensatzes so ändern, dass sie denen eines anderen vorhandenen Datensatzes entsprechen, die Werte des anderen Datensatzes AWS DMS aktualisiert werden, anstatt einen neuen Datensatz zu erstellen oder den vorherigen entsprechenden Datensatz zu aktualisieren.
DDL-Befehle: Die aktuelle Version von unterstützt AWS DMS
CREATE TABLE
nurDROP TABLE
DDL-Befehle.Einschränkungen bei Datensätzen: Timestream hat Einschränkungen für Datensätze wie Datensatzgröße und Maßgröße. Weitere Informationen dazu finden Sie unter Kontingente im Amazon-Timestream-Entwicklerhandbuch.
Löschen von Datensätzen und Nullwerten: Timestream unterstützt das Löschen von Datensätzen nicht. AWS DMS Löscht die entsprechenden Felder in den Datensätzen in der Timestream-Zieldatenbank, um die Migration von Datensätzen zu unterstützen, die aus der Quelle gelöscht wurden. AWS DMS ändert die Werte in den Feldern des entsprechenden Zieldatensatzes mit 0 für numerische Felder, Null für Textfelder und falsch für boolesche Felder.
Timestream als Ziel unterstützt keine Quellen, die keine relationalen Datenbanken (RDBMS) sind.
AWS DMS unterstützt Timestream nur als Ziel in den folgenden Regionen:
USA Ost (Nord-Virginia)
USA Ost (Ohio)
USA West (Oregon)
Europa (Irland)
Europa (Frankfurt)
Asien-Pazifik (Sydney)
Asien-Pazifik (Tokio)
Timestream als Ziel unterstützt die Einstellung
TargetTablePrepMode
aufTRUNCATE_BEFORE_LOAD
nicht. Wir empfehlen,DROP_AND_CREATE
für diese Einstellung zu verwenden.