Memuat data dari DynamoDB ke Amazon Redshift - Amazon DynamoDB

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

Memuat data dari DynamoDB ke Amazon Redshift

Amazon Redshift melengkapi Amazon DynamoDB dengan kemampuan kecerdasan bisnis canggih dan antarmuka berbasis SQL yang kuat. Ketika Anda menyalin data dari tabel DynamoDB ke Amazon Redshift, Anda dapat melakukan kueri analisis data yang kompleks pada data tersebut, termasuk bergabung dengan tabel lain di kluster Amazon Redshift Anda.

Dalam hal throughput yang ditetapkan, salinan operasi dari tabel DynamoDB dihitung berdasarkan kapasitas baca tabel tersebut. Setelah data disalin, kueri SQL Anda di Amazon Redshift tidak memengaruhi DynamoDB dengan cara apa pun. Hal ini karena pertanyaan Anda bertindak berdasarkan salinan data dari DynamoDB, bukan pada DynamoDB itu sendiri.

Sebelum Anda dapat memuat data dari tabel DynamoDB, Anda harus terlebih dahulu membuat tabel Amazon Redshift untuk berfungsi sebagai tujuan untuk data. Perlu diingat bahwa Anda menyalin data dari lingkungan NoSQL ke lingkungan SQL, dan bahwa ada aturan tertentu dalam satu lingkungan yang tidak berlaku di lingkungan lain. Berikut beberapa perbedaan yang perlu dipertimbangkan:

  • Nama tabel DynamoDB dapat berisi hingga 255 karakter, termasuk karakter '.' (titik) dan '-' (tanda hubung), dan peka terhadap huruf besar-kecil. Nama tabel Amazon Redshift dibatasi 127 karakter, tidak dapat berisi titik atau tanda hubung dan tidak peka terhadap huruf besar-kecil. Selain itu, nama tabel tidak dapat konflik dengan kata-kata berhak cipta Amazon Redshift.

  • DynamoDB tidak mendukung konsep SQL NULL. Anda perlu menentukan bagaimana Amazon Redshift menafsirkan nilai atribut kosong atau tidak ada isi di DynamoDB, dengan memperlakukannya sebagai NULL maupun sebagai bidang kosong.

  • Jenis data DynamoDB tidak berkorespondensi langsung dengan orang-orang dari Amazon Redshift. Anda perlu memastikan bahwa setiap kolom dalam tabel Amazon Redshift memiliki jenis dan ukuran data yang benar untuk mengakomodasi data dari DynamoDB.

Berikut adalah contoh perintah COPY dari Amazon Redshift SQL:

copy favoritemovies from 'dynamodb://my-favorite-movies-table' credentials 'aws_access_key_id=<Your-Access-Key-ID>;aws_secret_access_key=<Your-Secret-Access-Key>' readratio 50;

Dalam contoh ini, tabel sumber di DynamoDB adalah my-favorite-movies-table. Tabel target di Amazon Redshift adalah favoritemovies. Klausul readratio 50 mengatur persentase throughput yang disediakan yang digunakan; dalam kasus ini, perintah COPY akan menggunakan tidak lebih dari 50 persen unit kapasitas baca yang disediakan untuk my-favorite-movies-table. Sebaiknya tetapkan rasio ini ke nilai yang kurang dari rata-rata penyediaan throughput yang tidak digunakan.

Untuk petunjuk mendetail tentang cara memuat data dari DynamoDB ke Amazon Redshift, lihat bagian berikut di Panduan Developer Database Amazon Redshift: