Streaming konsumsi ke tampilan yang terwujud - Amazon Redshift

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

Streaming konsumsi ke tampilan yang terwujud

Penyerapan streaming menyediakan konsumsi data berkecepatan tinggi dengan latensi rendah dari Amazon Kinesis Data Streams atau Amazon Managed Streaming untuk Apache Kafka Kafka ke database Amazon Redshift yang disediakan atau Amazon Redshift Tanpa Server. Data mendarat di tampilan terwujud Redshift yang dikonfigurasi untuk tujuan tersebut. Ini menghasilkan akses cepat ke data eksternal. Streaming ingestion menurunkan waktu akses data dan mengurangi biaya penyimpanan. Anda dapat mengonfigurasinya untuk cluster Amazon Redshift atau untuk workgroup Amazon Redshift Tanpa Server Anda, menggunakan kumpulan kecil perintah SQL. Setelah diatur, setiap penyegaran tampilan terwujud dapat menelan ratusan megabyte data per detik.

Bagaimana data mengalir dari layanan streaming ke Redshift

Ini membantu untuk memahami bagaimana streaming ingestion bekerja dan objek database yang digunakan dalam proses. Data mengalir langsung dari penyedia aliran data ke klaster yang disediakan Amazon Redshift atau ke grup kerja Amazon Redshift Tanpa Server. Tidak ada area pendaratan sementara, seperti ember Amazon S3. Cluster atau workgroup yang disediakan adalah konsumen aliran. Dalam database Redshift, data yang dibaca dari aliran mendarat dalam tampilan yang terwujud. Data diproses saat tiba. Misalnya, nilai JSON dapat dikonsumsi dan dipetakan ke kolom data tampilan terwujud, menggunakan SQL. Saat tampilan terwujud disegarkan, Redshift mengkonsumsi data dari pecahan data Kinesis yang dialokasikan atau partisi Kafka hingga tampilan diperbarui dengan aliran.

Kasus penggunaan untuk konsumsi streaming Amazon Redshift melibatkan data yang dihasilkan terus-menerus dan harus diproses dalam waktu singkat, atau latensi, dari asalnya. Ini biasa disebut analitik dekat waktu nyata. Sumber dapat mencakup perangkat TI, perangkat telemetri sistem, dan data klik-aliran dari situs web atau aplikasi yang sibuk.

Praktik terbaik penguraian data untuk meningkatkan kinerja

Saat Anda mengonfigurasi konsumsi streaming, ada opsi bagaimana Anda dapat mengurai data yang masuk. Praktik dapat mencakup melakukan logika bisnis atau pemformatan saat data tiba. Kami merekomendasikan praktik terbaik berikut untuk menghindari kesalahan atau kehilangan data. Ini berasal dari pengujian internal dan membantu pelanggan mengatasi masalah konfigurasi dan penguraian masalah.

  • Mengekstrak nilai dari data yang dialirkan - Jika Anda menggunakan fungsi JSON_EXTRACT_PATH_TEXT dalam definisi tampilan terwujud untuk mengurai atau menghancurkan JSON yang dialirkan, ini dapat memengaruhi kinerja dan latensi secara signifikan. Untuk menjelaskan, untuk setiap kolom yang diekstraksi menggunakan JSON_EXTRACT_PATH_TEXT, JSON yang masuk diurai ulang. Setelah ini, konversi tipe data, pemfilteran, dan perhitungan logika bisnis terjadi. Ini berarti, misalnya, bahwa jika Anda mengekstrak 10 kolom dari data JSON, setiap catatan JSON diurai 10 kali, yang mencakup logika tambahan. Ini menghasilkan latensi konsumsi yang lebih tinggi. Pendekatan alternatif yang kami sarankan adalah menggunakan fungsi JSON_PARSE untuk mengonversi catatan JSON ke tipe data SUPER Redshift. Setelah data yang dialirkan mendarat di tampilan terwujud, gunakan PartiQL untuk mengekstrak string individu dari representasi SUPER dari data JSON. Untuk informasi selengkapnya, lihat Menanyakan data semi-terstruktur.

    Selain itu, perhatikan bahwa JSON_EXTRACT_PATH_TEXT memiliki maksimum ukuran data 64KB. Jadi, jika ada catatan JSON yang lebih besar dari 64KB, memprosesnya dengan JSON_EXTRACT_PATH_TEXT menghasilkan kesalahan.

  • Memetakan Amazon Kinesis Data Streams aliran atau topik MSK Amazon ke beberapa tampilan terwujud — Kami tidak menyarankan membuat beberapa tampilan terwujud untuk menyerap data dari satu aliran atau topik. Ini karena setiap tampilan yang terwujud menciptakan konsumen untuk setiap pecahan di aliran atau partisi Kinesis Data Streams dalam topik Kafka. Hal ini dapat mengakibatkan pelambatan atau melebihi throughput aliran atau topik. Ini juga dapat menghasilkan biaya yang lebih tinggi, karena Anda menelan data yang sama beberapa kali. Saat Anda mengonfigurasi konsumsi streaming, kami sarankan Anda membuat satu tampilan terwujud untuk setiap aliran atau topik.

    Jika kasus penggunaan Anda mengharuskan Anda menyerap data dari satu aliran KDS atau topik MSK ke dalam beberapa tampilan terwujud, lihat blog AWS Big Data, khususnya Praktik terbaik untuk menerapkan analitik menggunakan near-real-time Amazon Redshift Streaming Ingestion dengan Amazon MSK, sebelum Anda melakukannya.

Perilaku konsumsi streaming dan tipe data

Tabel berikut menjelaskan rincian perilaku teknis dan batas ukuran untuk berbagai tipe data. Kami merekomendasikan untuk membiasakan diri dengan ini sebelum mengonfigurasi tampilan terwujud untuk konsumsi streaming.

Fitur atau perilaku Deskripsi
Batas panjang topik Kafka

Tidak mungkin menggunakan topik Kafka dengan nama lebih dari 128 karakter (tidak termasuk tanda kutip). Untuk informasi selengkapnya, lihat Nama dan pengenal.

Penyegaran tambahan dan JOIN pada tampilan yang terwujud

Tampilan yang terwujud harus dapat dipertahankan secara bertahap. Komputasi ulang penuh tidak dimungkinkan untuk Kinesis atau Amazon MSK karena mereka tidak menyimpan riwayat streaming atau topik selama 24 jam atau 7 hari, secara default. Anda dapat mengatur periode retensi data yang lebih lama di Kinesis atau Amazon MSK. Namun, ini dapat menghasilkan lebih banyak perawatan dan biaya. Selain itu, JOIN saat ini tidak didukung pada tampilan terwujud yang dibuat pada aliran Kinesis, atau pada topik MSK Amazon. Setelah membuat tampilan terwujud pada aliran atau topik Anda, Anda dapat membuat tampilan terwujud lainnya untuk menggabungkan tampilan terwujud streaming Anda ke tampilan, tabel, atau tampilan terwujud lainnya.

Untuk informasi selengkapnya, lihat REFRESH MATERIALIZED VIEW.

Rekam penguraian

Penyerapan streaming Amazon Redshift tidak mendukung catatan penguraian yang telah dikumpulkan oleh Perpustakaan Produser Kinesis (Konsep Kunci KPL - Agregasi). Catatan agregat dicerna, tetapi disimpan sebagai data buffer protokol biner. (Lihat Buffer protokol untuk informasi lebih lanjut.) Bergantung pada bagaimana Anda mendorong data ke Kinesis, Anda mungkin perlu mematikan fitur ini.

Dekompresi

VARBYTEtidak mendukung dekompresi. Karena itu, catatan yang berisi data terkompresi tidak dapat ditanyakan di Redshift. Dekompresi data Anda sebelum menambahkannya ke aliran Kinesis atau topik MSK Amazon.

Ukuran rekor maksimum

Ukuran maksimum dari setiap bidang rekaman Amazon Redshift dapat menelan dari Kinesis atau Amazon MSK sedikit kurang dari 1MB. Poin-poin berikut merinci perilaku:

  • Panjang VARBYTE maksimum - Untuk konsumsi streaming, VARBYTE tipe ini mendukung data hingga panjang maksimum 1.024.000 byte. Kinesis membatasi muatan hingga 1 MB.

  • Batas pesan - Konfigurasi MSK Amazon default membatasi pesan hingga 1 MB. Selain itu, jika pesan menyertakan header, jumlah data dibatasi hingga 1.048.470 byte. Dengan pengaturan default, tidak ada masalah dengan konsumsi. Namun, Anda dapat mengubah ukuran pesan maksimum untuk Kafka, dan karenanya Amazon MSK, ke nilai yang lebih besar. Dalam hal ini, dimungkinkan untuk bidang kunci/nilai dari catatan Kafka, atau header, dapat melebihi batas ukuran. Catatan ini dapat menyebabkan kesalahan dan tidak tertelan.

catatan

Amazon Redshift mendukung ukuran maksimum 1.024.000 byte untuk streaming konsumsi dari Kinesis atau Amazon MSK, meskipun Amazon Redshift mendukung ukuran maksimum 16 MB untuk tipe data. VARBYTE

Catatan kesalahan

Dalam setiap kasus di mana catatan tidak dapat dicerna ke Redshift karena ukuran data melebihi maksimum, catatan itu dilewati. Penyegaran tampilan terwujud masih berhasil, dalam hal ini, dan segmen dari setiap catatan kesalahan ditulis ke tabel SYS_STREAM_SCAN_ERRORS sistem. Kesalahan yang dihasilkan dari logika bisnis, seperti kesalahan dalam perhitungan atau kesalahan yang dihasilkan dari konversi tipe, tidak dilewati. Uji logika dengan hati-hati sebelum Anda menambahkannya ke definisi tampilan terwujud Anda.

Konektivitas pribadi Multi-VPC Amazon MSK

Konektivitas pribadi Amazon MSK Multi-VPC saat ini tidak didukung untuk konsumsi streaming Redshift. Atau, Anda dapat menggunakan VPC peering untuk menghubungkan VPC atau AWS Transit Gatewayuntuk menghubungkan VPC dan jaringan lokal melalui hub pusat. Salah satu dari ini dapat memungkinkan Redshift untuk berkomunikasi dengan cluster MSK Amazon atau dengan Amazon MSK Tanpa Server di VPC lain.

Penggunaan dan aktivasi penyegaran otomatis

Kueri penyegaran otomatis untuk tampilan atau tampilan yang terwujud diperlakukan sebagai beban kerja pengguna lainnya. Penyegaran otomatis memuat data dari aliran saat tiba.

Penyegaran otomatis dapat diaktifkan secara eksplisit untuk tampilan terwujud yang dibuat untuk konsumsi streaming. Untuk melakukan ini, tentukan AUTO REFRESH dalam definisi tampilan terwujud. Penyegaran manual adalah default. Untuk menentukan penyegaran otomatis untuk tampilan terwujud yang ada untuk konsumsi streaming, Anda dapat menjalankannya ALTER MATERIALIZED VIEW untuk mengaktifkannya. Untuk informasi selengkapnya, lihat MEMBUAT TAMPILAN TERWUJUD atau MENGUBAH TAMPILAN MATERIALISASI.

Konsumsi streaming dan Amazon Redshift Tanpa Server

Petunjuk penyiapan dan konfigurasi yang berlaku untuk konsumsi streaming Amazon Redshift pada klaster yang disediakan juga berlaku untuk konsumsi streaming di Amazon Redshift Tanpa Server. Penting untuk menentukan tingkat RPU yang diperlukan untuk mendukung konsumsi streaming dengan penyegaran otomatis dan beban kerja lainnya. Untuk informasi selengkapnya, lihat Penagihan Amazon Redshift Tanpa Server.

Node Amazon Redshift di zona ketersediaan yang berbeda dari cluster MSK Amazon

Saat Anda mengonfigurasi konsumsi streaming, Amazon Redshift mencoba terhubung ke kluster MSK Amazon dengan ketersediaan yang sama, jika kesadaran rak diaktifkan untuk Amazon MSK. Jika semua node berada di zona ketersediaan yang berbeda dari klaster Amazon Redshift, Anda dapat dikenakan biaya transfer data lintas zona ketersediaan. Untuk menghindari hal ini, simpan setidaknya satu node cluster broker MSK Amazon di AZ yang sama dengan cluster atau workgroup yang disediakan Redshift Anda.

Segarkan lokasi awal

Setelah membuat tampilan terwujud, penyegaran awalnya dimulai dari aliran Kinesis, atau dari offset 0 topik MSK Amazon. TRIM_HORIZON

Format data

Format data yang didukung terbatas pada format yang dapat dikonversiVARBYTE. Untuk informasi selengkapnya, lihat Jenis VARBYTE dan Operator VARBYTE.

Menambahkan catatan ke tabel

Anda dapat menjalankan ALTER TABLE APPEND untuk menambahkan baris ke tabel target dari tampilan terwujud sumber yang ada. Ini hanya berfungsi jika tampilan terwujud dikonfigurasi untuk konsumsi streaming. Untuk informasi lebih lanjut, lihat ALTER TABLE APPEND.

Menjalankan TRUNCATE atau DELETE

Anda dapat menghapus rekaman dari tampilan terwujud yang digunakan untuk streaming konsumsi, menggunakan yang berikut ini:

  • TRUNCATE— Ini menghapus semua baris dari tampilan terwujud yang dikonfigurasi untuk streaming konsumsi. Itu tidak melakukan pemindaian tabel. Untuk informasi lebih lanjut, lihat TRUNCATE.

  • DELETE— Ini menghapus semua baris dari tampilan terwujud yang dikonfigurasi untuk streaming konsumsi. Untuk informasi selengkapnya, lihat MENGHAPUS.