Hinzufügen von Daten zu einem Aurora-DB-Cluster einer und deren Abfrage - Amazon Aurora

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.

Hinzufügen von Daten zu einem Aurora-DB-Cluster einer und deren Abfrage

Um die Erstellung einer Zero-ETL-Integration abzuschließen, die Daten von Aurora in Amazon Redshift repliziert, müssen Sie eine Datenbank im Zielziel erstellen.

Stellen Sie für Verbindungen mit Amazon Redshift eine Verbindung zu Ihrem Amazon Redshift Redshift-Cluster oder Ihrer Arbeitsgruppe her und erstellen Sie eine Datenbank mit einem Verweis auf Ihre Integrations-ID. Anschließend können Sie Daten zu Ihrem Aurora-DB-Cluster für die hinzufügen und sehen, wie sie in Amazon Redshift oder repliziert werden. Amazon SageMaker

Eine Zieldatenbank erstellen

Bevor Sie mit der Replikation von Daten in Amazon Redshift beginnen können, müssen Sie nach dem Erstellen einer Integration eine Datenbank in Ihrem Ziel-Data Warehouse erstellen. Diese Datenbank muss einen Verweis auf die Integrations-ID enthalten. Sie können die Amazon-Redshift-Konsole oder Query Editor v2 verwenden, um die Datenbank zu erstellen.

Anweisungen zum Erstellen einer Zieldatenbank finden Sie unter Erstellen einer Zieldatenbank in Amazon Redshift.

Daten zum DB-Cluster der hinzufügen

Nachdem Sie Ihre Integration konfiguriert haben, können Sie dem Aurora DB-Cluster der einige Daten hinzufügen, die Sie in Ihr Data Warehouse replizieren möchten.

Anmerkung

Es gibt Unterschiede zwischen den Datentypen in , Amazon Aurora und dem Target Analytics Warehouse. Eine Tabelle mit Datentypzuordnungen finden Sie unter Datentypunterschiede zwischen Aurora und Amazon Redshift-Datenbanken.

Stellen Sie zunächst mit dem MySQL - oder PostgreSQL-Client Ihrer Wahl eine Verbindung zum her. Detaillierte Anweisungen finden Sie unter Herstellen einer Verbindung mit einem Amazon Aurora-DB-Cluster.

Erstellen Sie dann eine Tabelle und fügen Sie eine Zeile mit Beispieldaten ein.

Wichtig

Stellen Sie sicher, dass die Tabelle über einen Primärschlüssel verfügt. Andernfalls kann sie nicht in das Ziel-Data-Warehouse repliziert werden.

Die PostgreSQL-Dienstprogramme pg_dump und pg_restore erstellen zunächst Tabellen ohne Primärschlüssel und fügen ihn anschließend hinzu. Wenn Sie eines dieser Dienstprogramme verwenden, empfehlen wir, zuerst ein Schema zu erstellen und dann Daten in einem separaten Befehl zu laden.

MySQL

Im folgenden Beispiel wird das MySQL Workbench-Hilfsprogramm verwendet.

CREATE DATABASE my_db; USE my_db; CREATE TABLE books_table (ID int NOT NULL, Title VARCHAR(50) NOT NULL, Author VARCHAR(50) NOT NULL, Copyright INT NOT NULL, Genre VARCHAR(50) NOT NULL, PRIMARY KEY (ID)); INSERT INTO books_table VALUES (1, 'The Shining', 'Stephen King', 1977, 'Supernatural fiction');

PostgreSQL

Das folgende Beispiel verwendet das interaktive psql PostgreSQL-Terminal. Wenn Sie eine Verbindung zum Cluster herstellen, schließen Sie die benannte Datenbank ein, die Sie bei der Erstellung der Integration angegeben haben.

psql -h mycluster.cluster-123456789012.us-east-2.rds.amazonaws.com -p 5432 -U username -d named_db; named_db=> CREATE TABLE books_table (ID int NOT NULL, Title VARCHAR(50) NOT NULL, Author VARCHAR(50) NOT NULL, Copyright INT NOT NULL, Genre VARCHAR(50) NOT NULL, PRIMARY KEY (ID)); named_db=> INSERT INTO books_table VALUES (1, 'The Shining', 'Stephen King', 1977, 'Supernatural fiction');

Abfragen Ihrer Aurora-Daten in Amazon Redshift

Nachdem Sie dem Aurora-DB-Cluster der Daten hinzugefügt haben, werden sie in die Zieldatenbank repliziert und können abgefragt werden.

So fragen Sie die replizierten Daten ab
  1. Navigieren Sie zur Amazon Redshift-Konsole und wählen Sie im linken Navigationsbereich die Option Query Editor v2 aus.

  2. Stellen Sie eine Verbindung mit Ihrem Cluster oder Ihrer Arbeitsgruppe her und wählen Sie Ihre aus der Integration erstellte Datenbank im Drop-down-Menü aus (destination_database in diesem Beispiel). Anweisungen zum Erstellen einer Zieldatenbank finden Sie unter Erstellen einer Zieldatenbank in Amazon Redshift.

  3. Verwenden Sie eine SELECT-Anweisung, um Ihre Daten abzufragen. In diesem Beispiel können Sie den folgenden Befehl ausführen, um alle Daten aus der Tabelle auszuwählen, die Sie im Aurora DB-Cluster der erstellt haben:

    SELECT * from my_db."books_table";
    Führen Sie eine SELECT-Anweisung im Abfrage-Editor aus. Das Ergebnis ist eine einzelne Zeile mit Beispieldaten, die der Amazon RDS-Datenbank hinzugefügt wurde.
    • my_db ist der Name des Aurora-Datenbankschemas. Diese Option wird nur für MySQL-Datenbanken benötigt.

    • books_table ist der Name der Aurora-Tabelle.

Sie können die Daten auch mit einem Befehlszeilenclient abfragen. Zum Beispiel:

destination_database=# select * from my_db."books_table"; ID | Title | Author | Copyright | Genre | txn_seq | txn_id ----+–------------+---------------+-------------+------------------------+----------+--------+ 1 | The Shining | Stephen King | 1977 | Supernatural fiction | 2 | 12192
Anmerkung

Um zwischen Groß- und Kleinschreibung zu unterscheiden, verwenden Sie doppelte Anführungszeichen (" ") für Schema-, Tabellen- und Spaltennamen. Weitere Informationen finden Sie unter enable_case_sensitive_identifier.

Datentypunterschiede zwischen Aurora und Amazon Redshift-Datenbanken

Die folgende . Tabellen zeigen die Zuordnungen eines Aurora MySQL- oder Aurora PostgreSQL-Datentyps zu einem entsprechenden Zieldatentyp. Amazon Aurora unterstützt derzeit nur diese Datentypen für Zero-ETL-Integrationen.

Wenn eine Tabelle in Ihrem einen nicht unterstützten Datentyp enthält, ist die Tabelle nicht mehr synchron und kann vom Zielziel nicht mehr verwendet werden. Das Streaming von der Quelle zum Ziel wird fortgesetzt, aber die Tabelle mit dem nicht unterstützten Datentyp ist nicht verfügbar. Um die Tabelle zu reparieren und sie im Zielziel verfügbar zu machen, müssen Sie die grundlegende Änderung manuell rückgängig machen und dann die Integration aktualisieren, indem Sie Folgendes ausführen. ALTER DATABASE...INTEGRATION REFRESH

Anmerkung

Sie können Zero-ETL-Integrationen nicht mit einem Lakehouse aktualisieren. Amazon SageMaker Löschen Sie stattdessen die Integration und versuchen Sie erneut, sie zu erstellen.

Aurora MySQL

Aurora-MySQL-Datentyp Zieldatentyp Beschreibung Einschränkungen
INT INTEGER 4-Byte-Ganzzahl mit Vorzeichen Keine
SMALLINT SMALLINT 2-Byte-Ganzzahl mit Vorzeichen Keine
TINYINT SMALLINT 2-Byte-Ganzzahl mit Vorzeichen Keine
MEDIUMINT INTEGER 4-Byte-Ganzzahl mit Vorzeichen Keine
BIGINT BIGINT 8-Byte-Ganzzahl mit Vorzeichen Keine
INT UNSIGNED BIGINT 8-Byte-Ganzzahl mit Vorzeichen Keine
TINYINT UNSIGNED SMALLINT 2-Byte-Ganzzahl mit Vorzeichen Keine
MEDIUMINT UNSIGNED INTEGER 4-Byte-Ganzzahl mit Vorzeichen Keine
BIGINT UNSIGNED DECIMAL(20,0) Genauer Zahlenwert mit wählbarer Genauigkeit Keine
DEZIMAL (p, s) = NUMERISCH (p, s) DECIMAL (p,s) Genauer Zahlenwert mit wählbarer Genauigkeit

Eine Genauigkeit von mehr als 38 und eine Skalierung von mehr als 37 werden nicht unterstützt

DEZIMAL (p, s) OHNE VORZEICHEN = NUMERISCH (p, s) OHNE VORZEICHEN DECIMAL (p,s) Genauer Zahlenwert mit wählbarer Genauigkeit

Eine Genauigkeit von mehr als 38 und eine Skalierung von mehr als 37 werden nicht unterstützt

FLOAT4/REAL REAL Gleitkommazahl mit einfacher Genauigkeit Keine
FLOAT4/REAL UNSIGNIERT REAL Gleitkommazahl mit einfacher Genauigkeit Keine
DOUBLE/REAL/FLOAT8 DOUBLE PRECISION Double (Gleitkommazahl mit doppelter Genauigkeit) Keine
DOUBLE/REAL/FLOAT8 UNSIGNIERT DOUBLE PRECISION Double (Gleitkommazahl mit doppelter Genauigkeit) Keine
BIT (n) VARBYTE(8) Binärwert mit variabler Länge Keine
BINARY(n) VARBYTE (n) Binärwert mit variabler Länge Keine
VARBINARY (n) VARBYTE (n) Binärwert mit variabler Länge Keine
CHAR(n) VARCHAR (n) Zeichenkettenwert mit variabler Länge Keine
VARCHAR (n) VARCHAR (n) Zeichenkettenwert mit variabler Länge Keine
TEXT VARCHAR(65535) Zeichenkettenwert mit variabler Länge bis zu 65.535 Zeichen Keine
TINYTEXT VARCHAR(255) Zeichenkettenwert mit variabler Länge bis zu 255 Zeichen Keine
MEDIUMTEXT VARCHAR(65535) Zeichenkettenwert mit variabler Länge bis zu 65.535 Zeichen Keine
LONGTEXT VARCHAR(65535) Zeichenkettenwert mit variabler Länge bis zu 65.535 Zeichen Keine
ENUM VARCHAR(1020) Zeichenkettenwert mit variabler Länge bis zu 1.020 Zeichen Keine
SET VARCHAR(1020) Zeichenkettenwert mit variabler Länge bis zu 1.020 Zeichen Keine
DATUM DATUM Kalenderdatum (Jahr, Monat, Tag) Keine
DATETIME TIMESTAMP (ZEITSTEMPEL) Datum und Uhrzeit (ohne Zeitzone) Keine
TIMESTAMP(p) TIMESTAMP (ZEITSTEMPEL) Datum und Uhrzeit (ohne Zeitzone) Keine
TIME VARCHAR(18) Zeichenkettenwert mit variabler Länge bis zu 18 Zeichen Keine
JAHR VARCHAR(4) Zeichenkettenwert mit variabler Länge bis zu 4 Zeichen Keine
JSON SUPER Semistrukturierte Daten oder Dokumente als Werte Keine

Aurora PostgreSQL

Zero-ETL-Integrationen für Aurora PostgreSQL unterstützen keine benutzerdefinierten Datentypen oder Datentypen, die durch Erweiterungen erstellt wurden.

Aurora PostgreSQL-Datentyp Amazon-Redshift-Datentyp Beschreibung Einschränkungen
Array SUPER Semistrukturierte Daten oder Dokumente als Werte Keine
bigint BIGINT 8-Byte-Ganzzahl mit Vorzeichen Keine
große Seriennummer BIGINT 8-Byte-Ganzzahl mit Vorzeichen Keine
etwas variierend (n) VARBYTE (n) Binärwert mit variabler Länge bis zu 16.777.216 Byte Keine
Bit (n) VARBYTE (n) Binärwert mit variabler Länge bis zu 16.777.216 Byte Keine
Bit, Bit variierend VARBYTE (16777216) Binärwert mit variabler Länge bis zu 16.777.216 Byte Keine
boolesch BOOLEAN Logischer boolescher Wert (wahr/falsch) Keine
bytea VARBYTE (16777216) Binärwert mit variabler Länge bis zu 16.777.216 Byte Keine
char (n) CHAR(n) Zeichenkettenwert mit fester Länge bis zu 65.535 Byte Keine
Zeichen variierend (n) VARCHAR(65535) Zeichenkettenwert mit variabler Länge bis zu 65.535 Zeichen Keine
cid BIGINT

8-Byte-Ganzzahl mit Vorzeichen

Keine
Apfelwein

VARCHAR (19)

Zeichenkettenwert mit variabler Länge bis zu 19 Zeichen

Keine
date DATUM Kalenderdatum (Jahr, Monat, Tag)

Werte über 294.276 n. Chr. werden nicht unterstützt

double precision DOUBLE PRECISION Gleitkommazahlen mit doppelter Genauigkeit Subnormale Werte werden nicht vollständig unterstützt

gtsvector

VARCHAR(65535)

Zeichenkettenwert mit variabler Länge bis zu 65.535 Zeichen

Keine
inet

VARCHAR (19)

Zeichenkettenwert mit variabler Länge bis zu 19 Zeichen

Keine
Ganzzahl INTEGER 4-Byte-Ganzzahl mit Vorzeichen Keine

int2vector

SUPER Semistrukturierte Daten oder Dokumente als Werte. Keine
Intervall INTERVAL Dauer der Zeit Es werden nur INTERVAL-Typen unterstützt, die entweder ein Jahr pro Monat oder einen Tag bis Sekunde angeben.
json SUPER Semistrukturierte Daten oder Dokumente als Werte Keine
jsonb SUPER Semistrukturierte Daten oder Dokumente als Werte Keine
Json-Pfad VARCHAR(65535) Zeichenkettenwert mit variabler Länge bis zu 65.535 Zeichen Keine

macaddr

VARCHAR (17) Zeichenkettenwert mit variabler Länge bis zu 17 Zeichen Keine

macaddr8

VARCHAR (23) Zeichenkettenwert mit variabler Länge bis zu 23 Zeichen Keine
money DEZIMAL (20,3) Betrag in der Währung Keine
Name VARCHAR (64) Zeichenkettenwert mit variabler Länge bis zu 64 Zeichen Keine
numeric(p,s) DECIMAL (p,s) Benutzerdefinierter Wert mit fester Genauigkeit
  • NaNWerte werden nicht unterstützt

  • Genauigkeit und Maßstab müssen explizit definiert werden und dürfen nicht größer als 38 (Genauigkeit) und 37 (Skala) sein

  • Negative Skala wird nicht unterstützt

OID BIGINT 8-Byte-Ganzzahl mit Vorzeichen Keine
Oid-Vektor SUPER Semistrukturierte Daten oder Dokumente als Werte. Keine
pg_brin_bloom_summary VARCHAR(65535) Zeichenkettenwert mit variabler Länge bis zu 65.535 Zeichen Keine
pg_dependencies VARCHAR(65535) Zeichenkettenwert mit variabler Länge bis zu 65.535 Zeichen Keine
pg_lsn VARCHAR (17) Zeichenkettenwert mit variabler Länge bis zu 17 Zeichen Keine
pg_mcv_list VARCHAR(65535) Zeichenkettenwert mit variabler Länge bis zu 65.535 Zeichen Keine
pg_ndistinct VARCHAR(65535) Zeichenkettenwert mit variabler Länge bis zu 65.535 Zeichen Keine
pg_node_tree VARCHAR(65535) Zeichenkettenwert mit variabler Länge bis zu 65.535 Zeichen Keine
pg_snapshot VARCHAR(65535) Zeichenkettenwert mit variabler Länge bis zu 65.535 Zeichen Keine
real REAL Gleitkommazahl mit einfacher Genauigkeit Subnormale Werte werden nicht vollständig unterstützt
Vorläufer VARCHAR(65535) Zeichenkettenwert mit variabler Länge bis zu 65.535 Zeichen Keine
smallint SMALLINT 2-Byte-Ganzzahl mit Vorzeichen Keine
kleine Seriennummer SMALLINT 2-Byte-Ganzzahl mit Vorzeichen Keine
serial INTEGER 4-Byte-Ganzzahl mit Vorzeichen Keine
text VARCHAR(65535) Zeichenkettenwert mit variabler Länge bis zu 65.535 Zeichen Keine
tid VARCHAR (23) Zeichenkettenwert mit variabler Länge bis zu 23 Zeichen Keine
Zeit [(p)] ohne Zeitzone VARCHAR (19) Zeichenkettenwert mit variabler Länge bis zu 19 Zeichen Infinityund -Infinity Werte werden nicht unterstützt
Zeit [(p)] mit Zeitzone VARCHAR (22) Zeichenkettenwert mit variabler Länge bis zu 22 Zeichen Infinityund -Infinity Werte werden nicht unterstützt
Zeitstempel [(p)] ohne Zeitzone TIMESTAMP (ZEITSTEMPEL) Datum und Uhrzeit (ohne Zeitzone)
  • Infinityund -Infinity Werte werden nicht unterstützt

  • Werte, die größer als 9999-12-31 nicht unterstützt sind

  • B.C.-Werte werden nicht unterstützt

Zeitstempel [(p)] mit Zeitzone TIMESTAMPTZ Datum und Uhrzeit (mit Zeitzone)
  • Infinityund -Infinity Werte werden nicht unterstützt

  • Werte, die größer als 9999-12-31 nicht unterstützt sind

  • B.C.-Werte werden nicht unterstützt

tsquery VARCHAR(65535) Zeichenkettenwert mit variabler Länge bis zu 65.535 Zeichen Keine
tsvector VARCHAR(65535) Zeichenkettenwert mit variabler Länge bis zu 65.535 Zeichen Keine
txid_snapshot VARCHAR(65535) Zeichenkettenwert mit variabler Länge bis zu 65.535 Zeichen Keine
uuid VARCHAR (36) 36 Zeichen lange Zeichenfolge mit variabler Länge Keine
xid BIGINT 8-Byte-Ganzzahl mit Vorzeichen Keine
xid8 DEZIMAL (20, 0) Dezimalzahl mit fester Genauigkeit Keine
xml VARCHAR(65535) Zeichenkettenwert mit variabler Länge bis zu 65.535 Zeichen Keine

DDL-Operationen für Aurora PostgreSQL

Amazon Redshift ist von PostgreSQL abgeleitet und hat daher aufgrund der gemeinsamen PostgreSQL-Architektur mehrere Funktionen mit Aurora PostgreSQL gemeinsam. Zero-ETL-Integrationen nutzen diese Ähnlichkeiten, um die Datenreplikation von Aurora PostgreSQL nach Amazon Redshift zu optimieren, indem sie Datenbanken nach Namen zuordnen und die gemeinsame Datenbank, das Schema und die Tabellenstruktur nutzen.

Beachten Sie bei der Verwaltung von Aurora PostgreSQL Zero-ETL-Integrationen die folgenden Punkte:

  • Die Isolierung wird auf Datenbankebene verwaltet.

  • Die Replikation erfolgt auf Datenbankebene.

  • Aurora PostgreSQL-Datenbanken werden Amazon Redshift Redshift-Datenbanken namentlich zugeordnet, wobei Daten in die entsprechende umbenannte Redshift-Datenbank fließen, wenn das Original umbenannt wird.

Trotz ihrer Ähnlichkeiten weisen Amazon Redshift und Aurora PostgreSQL wichtige Unterschiede auf. In den folgenden Abschnitten werden die Antworten des Amazon Redshift Redshift-Systems für gängige DDL-Operationen beschrieben.

Datenbankoperationen

Die folgende Tabelle zeigt die Systemantworten für Datenbank-DDL-Operationen.

DDL-Vorgang Reaktion des Redshift-Systems
CREATE DATABASE Keine Operation
DROP DATABASE Amazon Redshift löscht alle Daten in der Redshift-Zieldatenbank.
RENAME DATABASE Amazon Redshift löscht alle Daten in der ursprünglichen Zieldatenbank und synchronisiert die Daten in der neuen Zieldatenbank erneut. Wenn die neue Datenbank nicht existiert, müssen Sie sie manuell erstellen. Anweisungen finden Sie unter Erstellen einer Zieldatenbank in Amazon Redshift.

Schemaoperationen

Die folgende Tabelle zeigt die Systemantworten für Schema-DDL-Operationen.

DDL-Vorgang Reaktion des Redshift-Systems
CREATE SCHEMA Keine Operation
DROP SCHEMA Amazon Redshift löscht das ursprüngliche Schema.
RENAME SCHEMA Amazon Redshift löscht das ursprüngliche Schema und synchronisiert dann die Daten im neuen Schema erneut.

Tabellenoperationen

Die folgende Tabelle zeigt die Systemantworten für Tabellen-DDL-Operationen.

DDL-Vorgang Reaktion des Redshift-Systems
CREATE TABLE

Amazon Redshift erstellt die Tabelle.

Einige Operationen führen dazu, dass die Tabellenerstellung fehlschlägt, z. B. das Erstellen einer Tabelle ohne Primärschlüssel oder das Durchführen einer deklarativen Partitionierung. Weitere Informationen erhalten Sie unter Einschränkungen von Aurora PostgreSQL und Fehlerbehebung Aurora Zero-ETL-Integrationen.

DROP TABLE Amazon Redshift löscht die Tabelle.
TRUNCATE TABLE Amazon Redshift kürzt die Tabelle.
ALTER TABLE (RENAME...) Amazon Redshift benennt die Tabelle oder Spalte um.
ALTER TABLE (SET SCHEMA)

Amazon Redshift löscht die Tabelle im ursprünglichen Schema und synchronisiert die Tabelle im neuen Schema erneut.

ALTER TABLE (ADD PRIMARY KEY) Amazon Redshift fügt einen Primärschlüssel hinzu und synchronisiert die Tabelle erneut.
ALTER TABLE (ADD COLUMN) Amazon Redshift fügt der Tabelle eine Spalte hinzu.
ALTER TABLE (DROP COLUMN)

Amazon Redshift löscht die Spalte, wenn es sich nicht um eine Primärschlüsselspalte handelt. Andernfalls wird die Tabelle erneut synchronisiert.

ALTER TABLE (SET LOGGED/UNLOGGED) Wenn Sie die Tabelle auf protokolliert ändern, synchronisiert Amazon Redshift die Tabelle erneut. Wenn Sie die Tabelle auf unlogged ändern, löscht Amazon Redshift die Tabelle.