Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

ソース Aurora DB クラスターへのデータの追加と、Amazon Redshift でのクエリ - Amazon Aurora

ソース Aurora DB クラスターへのデータの追加と、Amazon Redshift でのクエリ

Amazon Aurora から Amazon Redshift にデータをレプリケートするゼロ ETL 統合の作成を終了するには、Amazon Redshift に送信先データベースを作成する必要があります。

まず、Amazon Redshift クラスターまたはワークグループに接続し、統合識別子を参照してデータベースを作成します。これで、ソースの Aurora DB クラスターにデータを追加し、Amazon Redshift でクエリを実行できます。

Amazon Redshift での送信先データベースの作成

Amazon Redshift へのデータの複製を開始する前に、統合を作成後、送信先データベースをターゲットのデータウェアハウスに作成する必要があります。この送信先データベースには、統合識別子への参照が含まれている必要があります。Amazon Redshift コンソールまたはクエリエディタ v2 を使用して、データベースを作成することができます。

デスティネーションデータベースを作成する手順については、「Amazon Redshift にデスティネーションデータベースを作成する」を参照してください。

ソース DB クラスターへのデータの追加

統合を設定した後で、Amazon Redshift データウェアハウスにレプリケートするデータを Aurora DB クラスターに追加できます。

注記

Amazon Aurora と Amazon Redshift のデータ型には違いがあります。データ型マッピングの表については、「 データベースのデータタイプの違い」を参照してください。

まず、任意の MySQL または PostgreSQL クライアントを使用して、ソース DB クラスターに接続します。手順については、Amazon Aurora DB クラスターへの接続 を参照してください。

次に、テーブルを作成し、1 行のサンプルデータを挿入します。

重要

テーブルにプライマリキーがあることを確認してください。そうしないと、ターゲットのデータウェアハウスに複製できません。

pg_dump および pg_restore PostgreSQL ユーティリティは、最初にプライマリキーなしでテーブルを作成し、後で追加します。これらのユーティリティのいずれかを使用している場合は、まずスキーマを作成し、次に別のコマンドでデータをロードすることをお勧めします。

MySQL

次の例では、MySQL Workbench ユーティリティを使用しています。

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]

次の例では、psql PostgreSQL インタラクティブターミナルを使用しています。クラスターに接続するときは、統合の作成時に指定した名前付きデータベースを含めます。

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');

Amazon Redshift での Aurora データのクエリ

Aurora DB クラスターにデータを追加すると、Amazon Redshift にレプリケートされ、クエリを実行できるようになります。

複製されたデータをクエリするには
  1. Amazon Redshift コンソールに移動し、左側のナビゲーションペインから [クエリエディタ v2] を選択します。

  2. クラスターまたはワークグループに接続し、ドロップダウンメニュー (この例では destination_database) から送信先データベース (統合から作成したもの) を選択します。デスティネーションデータベースを作成する手順については、「Amazon Redshift にデスティネーションデータベースを作成する」を参照してください。

  3. SELECT ステートメントを使用してデータをクエリします。この例では、次のコマンドを実行して、ソースの Aurora DB クラスターで作成したテーブルからすべてのデータを選択します。

    SELECT * from my_db."books_table";
    Redshift クエリエディタ内で SELECT ステートメントを実行します。結果は、RDS データベースに追加されたサンプルデータの 1 行です。
    • my_db  は Aurora データベーススキーマ名です。このオプションは MySQL データベースにのみ必要です。

    • books_table  は Aurora テーブル名です。

コマンドラインクライアントを使用してデータをクエリすることもできます。以下に例を示します。

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
注記

大文字と小文字を区別するには、スキーマ、テーブル、および列の名前を二重引用符 (" ") で囲みます。詳細については、「enable_case_sensitive_identifier」を参照してください。

データベースのデータタイプの違い

次のAurora MySQL または Aurora PostgreSQL データタイプの対応する Amazon Redshift データタイプへのマッピングを示しています。Amazon Aurora は現在、ゼロ ETL 統合ではこれらのデータ型のみをサポートしています。

ソース DB クラスターのテーブルにサポートされていないデータ型が含まれている場合、そのテーブルは同期されず、Amazon Redshift ターゲットで使用できなくなります。ソースからターゲットへのストリーミングは継続されますが、サポートされていないデータ型のテーブルは使用できません。テーブルを修正して Amazon Redshift で使用できるようにするには、変更内容を手動で元に戻し、ALTER DATABASE...INTEGRATION REFRESH を実行して統合を更新する必要があります。

Aurora MySQL

Aurora MySQL データ型 Amazon Redshift のデータ型 説明 制限
INT INTEGER 符号付き 4 バイト整数 なし
SMALLINT SMALLINT 符号付き 2 バイト整数 なし
TINYINT SMALLINT 符号付き 2 バイト整数 なし
MEDIUMINT INTEGER 符号付き 4 バイト整数 なし
BIGINT BIGINT 符号付き 8 バイト整数 なし
INT UNSIGNED BIGINT 符号付き 8 バイト整数 なし
TINYINT UNSIGNED SMALLINT 符号付き 2 バイト整数 なし
MEDIUMINT UNSIGNED INTEGER 符号付き 4 バイト整数 なし
BIGINT UNSIGNED DECIMAL(20,0) 精度の選択が可能な真数 なし
DECIMAL(p,s) = NUMERIC(p,s) DECIMAL(p,s) 精度の選択が可能な真数

精度が 38 より大きく、スケールが 37 より大きい場合、サポートされない

DECIMAL(p,s) UNSIGNED = NUMERIC(p,s) UNSIGNED DECIMAL(p,s) 精度の選択が可能な真数

精度が 38 より大きく、スケールが 37 より大きい場合、サポートされない

FLOAT4/REAL REAL 単精度浮動小数点数 なし
FLOAT4/REAL UNSIGNED REAL 単精度浮動小数点数 なし
DOUBLE/REAL/FLOAT8 DOUBLE PRECISION 倍精度浮動小数点数 なし
DOUBLE/REAL/FLOAT8 UNSIGNED DOUBLE PRECISION 倍精度浮動小数点数 なし
BIT(n) VARBYTE(8) 可変長バイナリ値 なし
BINARY(n) VARBYTE(n) 可変長バイナリ値 なし
VARBINARY (n) VARBYTE(n) 可変長バイナリ値 なし
CHAR(n) VARCHAR(n) 可変長文字列値 なし
VARCHAR(n) VARCHAR(n) 可変長文字列値 なし
TEXT VARCHAR(65,535) 最大 65,535 文字の可変長文字列値 なし
TINYTEXT VARCHAR(255) 最大 255 文字の可変長文字列値 なし
MEDIUMTEXT VARCHAR(65,535) 最大 65,535 文字の可変長文字列値 なし
LONGTEXT VARCHAR(65,535) 最大 65,535 文字の可変長文字列値 なし
ENUM VARCHAR(1,020) 最大 1,020 文字の可変長文字列値 なし
SET VARCHAR(1,020) 最大 1,020 文字の可変長文字列値 なし
DATE DATE カレンダー日付 (年、月、日) なし
DATETIME TIMESTAMP 日付と時刻 (タイムゾーンなし) なし
TIMESTAMP(p) TIMESTAMP 日付と時刻 (タイムゾーンなし) なし
TIME VARCHAR(18) 最大 18 文字の可変長文字列値 なし
YEAR VARCHAR(4) 最大 4 文字の可変長文字列値 なし
JSON SUPER 値としての半構造化データまたは文書 なし

Aurora PostgreSQL

Aurora PostgreSQL のゼロ ETL 統合は、カスタムデータ型または 拡張機能によって作成されたデータ型をサポートしていません。

Aurora PostgreSQL データ型 Amazon Redshift のデータ型 説明 制限
array SUPER 値としての半構造化データまたは文書 なし
bigint BIGINT 符号付き 8 バイト整数 なし
bigserial BIGINT 符号付き 8 バイト整数 なし
bit varying(n) VARBYTE(n) 最大 16,777,216 バイトの可変長バイナリ値 なし
bit(n) VARBYTE(n) 最大 16,777,216 バイトの可変長バイナリ値 なし
bit、bit varying VARBYTE(16,777,216) 最大 16,777,216 バイトの可変長バイナリ値 なし
boolean BOOLEAN 論理ブール演算型 (true/false) なし
bytea VARBYTE(16,777,216) 最大 16,777,216 バイトの可変長バイナリ値 なし
char(n) CHAR(n) 最大 65,535 バイトの固定長文字列値 なし
char varying(n) VARCHAR(65,535) 最大 65,535 文字の可変長文字列値 なし
cid BIGINT

符号付き 8 バイト整数

なし
cidr

VARCHAR(19)

最大 19 文字の可変長文字列値

date DATE カレンダー日付 (年、月、日)

294,276 A.D. より大きい値はサポートされません

double precision DOUBLE PRECISION 倍精度浮動小数点数 非正規値は完全にはサポートされません

gtsvector

VARCHAR(65,535)

最大 65,535 文字の可変長文字列値

なし
inet

VARCHAR(19)

最大 19 文字の可変長文字列値

なし
integer INTEGER 符号付き 4 バイト整数 なし

int2vector

SUPER 値としての半構造化データまたはドキュメント。 なし
interval INTERVAL 期間 year to month 修飾子または day to second 修飾子を指定する INTERVAL タイプのみがサポートされます。
json SUPER 値としての半構造化データまたは文書 なし
jsonb SUPER 値としての半構造化データまたは文書 なし
jsonpath VARCHAR(65,535) 最大 65,535 文字の可変長文字列値 なし

macaddr

VARCHAR(17) 最大 17 文字の可変長文字列値 なし

macaddr8

VARCHAR(23) 最大 23 文字の可変長文字列値 なし
money DECIMAL(20,3) 通貨額 なし
名前 VARCHAR(64) 最大 64 文字の可変長文字列値 なし
numeric(p,s) DECIMAL(p,s) ユーザー定義の固定精度値
  • NaN 値はサポートされていません

  • 精度が 38 より大きく、スケールが 37 より大きい場合、サポートされない

  • 負のスケールはサポートされていません

oid BIGINT 符号付き 8 バイト整数 なし
oidvector SUPER 値としての半構造化データまたはドキュメント。 なし
pg_brin_bloom_summary VARCHAR(65,535) 最大 65,535 文字の可変長文字列値 なし
pg_dependencies VARCHAR(65,535) 最大 65,535 文字の可変長文字列値 なし
pg_lsn VARCHAR(17) 最大 17 文字の可変長文字列値 なし
pg_mcv_list VARCHAR(65,535) 最大 65,535 文字の可変長文字列値 なし
pg_ndistinct VARCHAR(65,535) 最大 65,535 文字の可変長文字列値 なし
pg_node_tree VARCHAR(65,535) 最大 65,535 文字の可変長文字列値 なし
pg_snapshot VARCHAR(65,535) 最大 65,535 文字の可変長文字列値 なし
real REAL 単精度浮動小数点数 非正規値は完全にはサポートされません
refcursor VARCHAR(65,535) 最大 65,535 文字の可変長文字列値 なし
smallint SMALLINT 符号付き 2 バイト整数 なし
smallserial SMALLINT 符号付き 2 バイト整数 なし
シリアル INTEGER 符号付き 4 バイト整数 なし
text VARCHAR(65,535) 最大 65,535 文字の可変長文字列値 なし
tid VARCHAR(23) 最大 23 文字の可変長文字列値 なし
time [(p)] without time zone VARCHAR(19) 最大 19 文字の可変長文字列値 Infinity および -Infinity 値はサポートされていません
time [(p)] with time zone VARCHAR(22) 最大 22 文字の可変長文字列値 Infinity および -Infinity 値はサポートされていません
timestamp [(p)] without time zone TIMESTAMP 日付と時刻 (タイムゾーンなし)
  • Infinity および -Infinity 値はサポートされていません

  • サポートされていない 9999-12-31 より大きい値

  • B.C. 値はサポートされていません

timestamp [(p)] with time zone TIMESTAMPTZ 日付と時刻 (タイムゾーンあり)
  • Infinity および -Infinity 値はサポートされていません

  • サポートされていない 9999-12-31 より大きい値

  • B.C. 値はサポートされていません

tsquery VARCHAR(65,535) 最大 65,535 文字の可変長文字列値 なし
tsvector VARCHAR(65,535) 最大 65,535 文字の可変長文字列値 なし
txid_snapshot VARCHAR(65,535) 最大 65,535 文字の可変長文字列値 なし
uuid VARCHAR(36) 可変長 36 文字の文字列 なし
xid BIGINT 符号付き 8 バイト整数 なし
xid8 DECIMAL(20, 0) 固定精度 10 進数 なし
xml VARCHAR(65,535) 最大 65,535 文字の可変長文字列値 なし

Aurora PostgreSQL の DDL オペレーション

Amazon Redshift は PostgreSQL から派生しているため、共通の PostgreSQL アーキテクチャに基づくいくつかの機能を Aurora PostgreSQL と共有しています。ゼロ ETL 統合は、これらの類似点を活用して、Aurora PostgreSQL から Amazon Redshift へのデータレプリケーションを合理化し、データベースを名前でマッピングして、共有のデータベース、スキーマ、テーブル構造を活用します。

Aurora PostgreSQL ゼロ ETL 統合を管理するときは、以下の点を考慮してください。

  • 分離はデータベースレベルで管理されます。

  • レプリケーションはデータベースレベルで行われます。

  • Aurora PostgreSQL データベースは Amazon Redshift データベースに名前でマッピングされ、元の名前を変更すると、データは対応する、名前を変更した Redshift データベースに流れます。

Amazon Redshift と Aurora PostgreSQL は類似していますが、重要な違いがあります。以下のセクションでは、一般的な DDL オペレーションに対する Amazon Redshift のシステムレスポンスについて概説します。

データベースのオペレーション

次の表は、データベース DDL オペレーションのシステムレスポンスを示しています。

DDL オペレーション Redshift システムレスポンス
CREATE DATABASE オペレーションなし
DROP DATABASE Amazon Redshift は、ターゲット Redshift データベース内のすべてのデータを削除します。
RENAME DATABASE Amazon Redshift は、元のターゲットデータベース内のすべてのデータを削除し、新しいターゲットデータベース内のデータを再同期します。新しいデータベースが存在しない場合は、手動で作成する必要があります。手順については、「Amazon Redshift でのデスティネーションデータベースの作成」を参照してください。

スキーマオペレーション

次の表は、スキーマ DDL オペレーションのシステムレスポンスを示しています。

DDL オペレーション Redshift システムレスポンス
CREATE SCHEMA オペレーションなし
DROP SCHEMA Amazon Redshift は元のスキーマを削除します。
RENAME SCHEMA Amazon Redshift は元のスキーマを削除し、新しいスキーマ内のデータを再同期します。

Table operations

次の表は、テーブル DDL オペレーションのシステムレスポンスを示しています。

DDL オペレーション Redshift システムレスポンス
CREATE TABLE

Amazon Redshift はテーブルを作成します。

プライマリキーなしでテーブルを作成したり、宣言的パーティショニングを実行したりするなど、一部のオペレーションではテーブルの作成が失敗します。詳細については、Aurora PostgreSQL の制限およびAurora ゼロ ETL 統合のトラブルシューティングを参照してください。

DROP TABLE Amazon Redshift はテーブルを削除します。
TRUNCATE TABLE Amazon Redshift はテーブルを切り捨てます。
ALTER TABLE (RENAME...) Amazon Redshift はテーブルまたは列の名前を変更します。
ALTER TABLE (SET SCHEMA)

Amazon Redshift は元のスキーマのテーブルを削除し、新しいスキーマのテーブルを再同期します。

ALTER TABLE (ADD PRIMARY KEY) Amazon Redshift はプライマリキーを追加し、テーブルを再同期します。
ALTER TABLE (ADD COLUMN) Amazon Redshift はテーブルに列を追加します。
ALTER TABLE (DROP COLUMN)

Amazon Redshift は、プライマリキー列でない列を削除します。それ以外の場合は、テーブルを再同期します。

ALTER TABLE (SET LOGGED/UNLOGGED) テーブルをログ記録するように変更すると、Amazon Redshift はテーブルを再同期します。テーブルをログ記録しないように変更すると、Amazon Redshift はテーブルを削除します。
プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.