

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menghubungkan ke gudang data Snowflake dengan AWS Schema Conversion Tool
<a name="CHAP_Source.Snowflake"></a>

Anda dapat menggunakan AWS SCT untuk mengonversi skema, objek kode, dan kode aplikasi dari Snowflake ke Amazon Redshift.

## Hak istimewa untuk Snowflake sebagai database sumber
<a name="CHAP_Source.Snowflake.Permissions"></a>

Anda dapat membuat peran dengan hak istimewa dan memberikan peran ini nama pengguna dengan menggunakan `SECURITYADMIN` peran dan konteks `SECURITYADMIN` sesi.

Contoh berikut menciptakan hak istimewa minimal dan memberikannya kepada pengguna. `min_privs` 

```
create role role_name;
grant role role_name to role sysadmin;
grant usage on database db_name to role role_name;
grant usage on schema db_name.schema_name to role role_name;             
grant usage on warehouse datawarehouse_name to role role_name;
grant monitor on database db_name to role role_name;
grant monitor on warehouse datawarehouse_name to role role_name;
grant select on all tables in schema db_name.schema_name to role role_name;
grant select on future tables in schema db_name.schema_name to role role_name;
grant select on all views in schema db_name.schema_name to role role_name;
grant select on future views in schema db_name.schema_name to role role_name;
grant select on all external tables in schema db_name.schema_name to role role_name;
grant select on future external tables in schema db_name.schema_name to role role_name;
grant usage on all sequences in schema db_name.schema_name to role role_name;
grant usage on future sequences in schema db_name.schema_name to role role_name;
grant usage on all functions in schema db_name.schema_name to role role_name;
grant usage on future functions in schema db_name.schema_name to role role_name;
grant usage on all procedures in schema db_name.schema_name to role role_name;
grant usage on future procedures in schema db_name.schema_name to role role_name;
create user min_privs password='real_user_password'  
DEFAULT_ROLE = role_name DEFAULT_WAREHOUSE = 'datawarehouse_name';
grant role role_name to user min_privs;
```

Pada contoh sebelumnya, ganti placeholder sebagai berikut:
+ Ganti *`role_name`* dengan nama peran dengan hak istimewa hanya-baca.
+ Ganti `db_name` dengan nama database sumber.
+ Ganti `schema_name` dengan nama skema sumber.
+ Ganti *`datawarehousename`* dengan nama gudang data yang diperlukan.
+ Ganti `min_privs` dengan nama pengguna yang memiliki hak istimewa minimal.

`DEFAULT_WAREHOUSE`Parameter `DEFAULT_ROLE` dan sensitif terhadap kunci.

## Mengkonfigurasi akses aman ke Amazon S3
<a name="CHAP_Source.Snowflake.IAM"></a>

Kebijakan keamanan dan manajemen akses untuk bucket Amazon S3 memungkinkan Snowflake mengakses, membaca data, dan menulis data ke bucket S3. Anda dapat mengonfigurasi akses aman ke bucket Amazon S3 pribadi menggunakan jenis objek Snowflake`STORAGE INTEGRATION`. Objek integrasi penyimpanan Snowflake mendelegasikan tanggung jawab otentikasi ke identitas Snowflake dan entitas manajemen akses.

Untuk informasi selengkapnya, lihat [Mengonfigurasi Integrasi Penyimpanan Snowflake untuk Mengakses Amazon S3 dalam dokumentasi Snowflake](https://docs.snowflake.com/en/user-guide/data-load-s3-config-storage-integration.html).

## Menghubungkan ke Snowflake sebagai sumber
<a name="CHAP_Source.Snowflake.Connecting"></a>

Gunakan prosedur berikut untuk terhubung ke database sumber Anda dengan file AWS Schema Conversion Tool. 

**Untuk terhubung ke database sumber Snowflake**

1. Di dalam AWS Schema Conversion Tool, pilih **Tambahkan sumber**. 

1. **Pilih **Snowflake**, lalu pilih Berikutnya.** 

   Kotak dialog **Tambah sumber** muncul.

1. Untuk **nama Koneksi**, masukkan nama untuk database Anda. AWS SCT menampilkan nama ini di pohon di panel kiri. 

1. Gunakan kredensi database dari AWS Secrets Manager atau masukkan secara manual:
   + Untuk menggunakan kredensi database dari Secrets Manager, gunakan petunjuk berikut:

     1. Untuk **AWS Rahasia**, pilih nama rahasianya.

     1. **Pilih Isi untuk secara otomatis mengisi semua nilai di kotak dialog koneksi database dari Secrets Manager.**

     Untuk informasi tentang menggunakan kredensil database dari Secrets Manager, lihat. [Mengkonfigurasi AWS Secrets Manager di AWS Schema Conversion Tool](CHAP_UserInterface.SecretsManager.md)
   + Untuk memasukkan informasi koneksi gudang data sumber Snowflake secara manual, gunakan instruksi berikut:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/SchemaConversionTool/latest/userguide/CHAP_Source.Snowflake.html)

1. Pilih **Uji Koneksi** untuk memverifikasi bahwa AWS SCT dapat terhubung ke database sumber Anda. 

1. Pilih **Connect** untuk terhubung ke database sumber Anda.

## Keterbatasan untuk Snowflake sebagai sumber
<a name="CHAP_Source.Snowflake.Limitations"></a>

Berikut ini adalah batasan saat menggunakan Snowflake sebagai sumber untuk: AWS SCT
+ Pengidentifikasi objek harus unik dalam konteks jenis objek dan objek induk:  
**Basis Data**  
Pengidentifikasi skema harus unik dalam database.  
**Skema**  
Pengidentifikasi objek seperti untuk tabel dan tampilan harus unik dalam skema.  
**Tabel/Tampilan**  
Pengidentifikasi kolom harus unik di dalam tabel.
+ Jumlah maksimum tabel untuk tipe node cluster besar dan xlarge adalah 9.900. Untuk tipe node cluster 8xlarge, jumlah maksimum tabel adalah 100.000. Batas tersebut mencakup tabel sementara, baik yang ditentukan pengguna maupun yang dibuat oleh Amazon Redshift selama pemrosesan kueri atau pemeliharaan sistem. Untuk informasi selengkapnya, lihat [kuota Amazon Redshift di Panduan Manajemen](https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) Cluster *Amazon Redshift*.
+ Untuk prosedur tersimpan, jumlah maksimum argumen input dan output adalah 32.

## Tipe data sumber untuk Snowflake
<a name="CHAP_Source.Snowflake.DataTypes"></a>

Berikut ini, Anda dapat menemukan tipe data sumber Snowflake yang didukung saat menggunakan AWS SCT dan pemetaan default ke target Amazon Redshift.


| Tipe data kepingan salju | Tipe data Amazon Redshift | 
| --- | --- | 
|  ANGKA  |  NUMERIK (38)  | 
|  NOMOR (p)  |  Jika p adalah =< 4, maka SMALLINT Jika p adalah => 5 dan =< 9, maka INTEGER Jika p adalah => 10 dan =< 18, maka BIGINT Jika p adalah => 19 maka NUMERIK (p)   | 
|  NOMOR (p, 0)  |  Jika p adalah =< 4, maka SMALLINT Jika p adalah => 5 dan =< 9, maka INTEGER Jika p adalah => 10 dan =< 18, maka BIGINT Jika p adalah => 19 maka: NUMERIK (p, 0)  | 
|  NOMOR (p, s)  |  Jika p adalah => 1 dan =< 38, dan jika s adalah => 1 dan =< 37, maka NUMERIK (p, s)   | 
|  FLOAT  | FLOAT | 
|  TEXT Karakter unicode hingga 16.777.216 byte; hingga 4 byte per karakter.  |  VARCHAR (MAKS)  | 
|  TEKS (p) Karakter unicode hingga 65.535 byte; hingga 4 byte per karakter.  |  Jika p adalah =< 65.535 maka, VARCHAR (p)  | 
|  TEKS (p) Karakter unicode hingga 16.777.216 byte; hingga 4 byte per karakter.  |  Jika p adalah => 65.535 dan =< 16.777.216 maka, VARCHAR (MAX)  | 
|  BINARY Karakter single-byte hingga 8.388.608 byte; 1 byte per karakter.  | VARCHAR (MAKS) | 
|  BINER (p) Karakter single-byte hingga 65.535 byte; 1 byte per karakter.  | VARCHAR (p) | 
|  BINER (p) Karakter single-byte hingga 8.388.608 byte; 1 byte per karakter.  | VARCHAR (MAKS) | 
|  BOOLEAN  | BOOLEAN | 
|  DATE  | DATE | 
|  TIME Nilai waktu antara 00:00:00 dan 23:59:59.999 999999.  | VARCHAR(18) | 
|  WAKTU (f) Nilai waktu antara 00:00:00 dan 23:59:59.9 (f).   | VARCHAR (n) — 9\$1dt-attr-1 | 
|  TIMESTAMP\$1NTZ  | TIMESTAMP | 
|  STAMP\$1TZ  | TIMESTAMPTZ | 

## Pengaturan konversi Snowflake ke Amazon Redshift
<a name="CHAP_Source.Snowflake.ConversionSettings"></a>

**Untuk mengedit setelan konversi Snowflake ke Amazon Redshift, **pilih** Pengaturan AWS SCT di, lalu pilih Pengaturan konversi.** Dari daftar atas, pilih **Snowflake**, lalu pilih **Snowflake — Amazon** Redshift. AWS SCT menampilkan semua pengaturan yang tersedia untuk konversi Snowflake ke Amazon Redshift.

Pengaturan konversi Snowflake ke Amazon Redshift AWS SCT di menyertakan opsi untuk hal berikut:
+ Untuk membatasi jumlah komentar dengan item tindakan dalam kode yang dikonversi.

  Untuk **Tambahkan komentar di kode yang dikonversi untuk item tindakan dengan tingkat keparahan yang dipilih dan lebih tinggi**, pilih tingkat keparahan item tindakan. AWS SCT menambahkan komentar dalam kode yang dikonversi untuk item tindakan dengan tingkat keparahan yang dipilih dan lebih tinggi.

  Misalnya, untuk meminimalkan jumlah komentar dalam kode yang dikonversi, pilih **Error only**. Untuk menyertakan komentar untuk semua item tindakan dalam kode yang dikonversi, pilih **Semua pesan**.
+ Untuk mengatur jumlah maksimum tabel yang AWS SCT dapat diterapkan ke cluster Amazon Redshift target Anda.

  Untuk **Jumlah maksimum tabel untuk klaster Amazon Redshift target, pilih jumlah tabel yang AWS SCT dapat diterapkan ke cluster** Amazon Redshift Anda.

  Amazon Redshift memiliki kuota yang membatasi tabel penggunaan untuk jenis node cluster yang berbeda. Jika Anda memilih **Otomatis**, AWS SCT tentukan jumlah tabel yang akan diterapkan ke klaster Amazon Redshift target Anda tergantung pada jenis node. Secara opsional, pilih nilai secara manual. Untuk informasi selengkapnya, lihat [Kuota dan batasan di Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) dalam *Panduan Manajemen Amazon Redshift*.

  AWS SCT mengonversi semua tabel sumber Anda, meskipun ini lebih dari yang dapat disimpan oleh cluster Amazon Redshift Anda. AWS SCT menyimpan kode yang dikonversi dalam proyek Anda dan tidak menerapkannya ke database target. Jika Anda mencapai kuota klaster Amazon Redshift untuk tabel saat menerapkan kode yang dikonversi, maka akan AWS SCT menampilkan pesan peringatan. Selain itu, AWS SCT terapkan tabel ke cluster Amazon Redshift target Anda hingga jumlah tabel mencapai batas.
+ Untuk menerapkan kompresi ke kolom tabel Amazon Redshift. Untuk melakukannya, pilih **Gunakan pengkodean kompresi**.

  AWS SCT menetapkan pengkodean kompresi ke kolom secara otomatis menggunakan algoritme Amazon Redshift default. Untuk informasi selengkapnya, lihat [Pengkodean kompresi di Panduan](https://docs.aws.amazon.com/redshift/latest/dg/c_Compression_encodings.html) Pengembang *Database Amazon Redshift*.

  Secara default, Amazon Redshift tidak menerapkan kompresi ke kolom yang didefinisikan sebagai kunci pengurutan dan distribusi. Anda dapat mengubah perilaku ini dan menerapkan kompresi ke kolom ini. Untuk melakukannya, pilih **Gunakan pengkodean kompresi untuk kolom KEY**. Anda dapat memilih opsi ini hanya ketika Anda memilih opsi **Gunakan pengkodean kompresi**.

## Pengaturan pengoptimalan konversi Snowflake ke Amazon Redshift
<a name="CHAP_Source.Snowflake.ConversionOptimizationSettings"></a>

**Untuk mengedit setelan pengoptimalan konversi Snowflake ke Amazon Redshift, **pilih** Pengaturan AWS SCT di, lalu pilih Pengaturan konversi.** Dari daftar atas, pilih **Snowflake**, lalu pilih **Snowflake — Amazon** Redshift. Di panel kiri, pilih **Strategi optimasi**. AWS SCT menampilkan pengaturan pengoptimalan konversi untuk konversi Snowflake ke Amazon Redshift.

Pengaturan pengoptimalan konversi Snowflake ke Amazon Redshift AWS SCT di menyertakan opsi untuk hal-hal berikut:
+ Untuk bekerja dengan optimasi tabel otomatis. Untuk melakukannya, pilih **Gunakan penyetelan tabel otomatis Amazon Redshift**.

  Optimalisasi tabel otomatis adalah proses self-tuning di Amazon Redshift yang secara otomatis mengoptimalkan desain tabel. Untuk informasi selengkapnya, lihat [Bekerja dengan pengoptimalan tabel otomatis](https://docs.aws.amazon.com/redshift/latest/dg/t_Creating_tables.html) di Panduan *Pengembang Database Amazon Redshift*.

  Untuk hanya mengandalkan optimasi tabel otomatis, pilih **None** for **Initial key selection strategy**.
+ Untuk memilih kunci sortir dan distribusi menggunakan strategi Anda.

  Anda dapat memilih kunci sortir dan distribusi menggunakan metadata Amazon Redshift, informasi statistik, atau kedua opsi ini. Untuk **strategi pemilihan kunci awal** pada tab **Strategi optimasi**, pilih salah satu opsi berikut:
  + Gunakan metadata, abaikan informasi statistik
  + Abaikan metadata, gunakan informasi statistik
  + Gunakan metadata dan informasi statistik

  Bergantung pada opsi yang Anda pilih, Anda dapat memilih strategi pengoptimalan. Kemudian, untuk setiap strategi, masukkan nilainya (0-100). Nilai-nilai ini menentukan bobot setiap strategi. Dengan menggunakan nilai bobot ini, AWS SCT mendefinisikan bagaimana setiap aturan mempengaruhi pilihan distribusi dan kunci pengurutan. Nilai default didasarkan pada praktik terbaik AWS migrasi.

  Anda dapat menentukan ukuran tabel kecil untuk strategi **Temukan tabel kecil**. Untuk **jumlah baris tabel Min** dan **jumlah baris tabel Maks**, masukkan jumlah baris minimum dan maksimum dalam tabel untuk mendefinisikannya sebagai tabel kecil. AWS SCT menerapkan gaya `ALL` distribusi ke tabel kecil. Dalam hal ini, salinan seluruh tabel didistribusikan ke setiap node.
+ Untuk mengkonfigurasi detail strategi.

  Selain menentukan bobot untuk setiap strategi pengoptimalan, Anda dapat mengonfigurasi pengaturan pengoptimalan. Untuk melakukannya, pilih **Optimasi konversi**. 
  + Untuk **Batas kolom kunci Urutkan**, masukkan jumlah kolom maksimum di tombol sortir.
  + Untuk **nilai ambang miring**, masukkan persentase (0-100) dari nilai miring untuk kolom. AWS SCT mengecualikan kolom dengan nilai miring lebih besar dari ambang batas dari daftar kandidat untuk kunci distribusi. AWS SCT mendefinisikan nilai miring untuk kolom sebagai rasio persentase dari jumlah kemunculan nilai yang paling umum dengan jumlah total catatan.
  + Untuk **kueri N Teratas dari tabel riwayat kueri**, masukkan nomor (1-100) kueri yang paling sering digunakan untuk dianalisis.
  + Untuk **Pilih pengguna statistik**, pilih pengguna database yang ingin Anda analisis statistik kueri.

  Juga, pada tab **Strategi optimasi**, Anda dapat menentukan ukuran tabel kecil untuk strategi **Temukan tabel kecil**. Untuk **jumlah baris tabel Min** dan **Jumlah baris tabel Maks**, masukkan jumlah baris minimum dan maksimum dalam tabel untuk menganggapnya sebagai tabel kecil. AWS SCT menerapkan gaya `ALL` distribusi ke tabel kecil. Dalam hal ini, salinan seluruh tabel didistribusikan ke setiap node.