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, JSON nilai 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 TEXT fungsi JSON_ _ EXTRACT PATH _ dalam definisi tampilan terwujud untuk mengurai atau menghancurkan aliranJSON, ini dapat memengaruhi kinerja dan latensi secara signifikan. Untuk menjelaskan, untuk setiap kolom yang diekstraksi menggunakan JSON _ EXTRACT _ PATH _TEXT, yang masuk JSON diurai ulang. Setelah ini, konversi tipe data, pemfilteran, dan perhitungan logika bisnis terjadi. Ini berarti, misalnya, bahwa jika Anda mengekstrak 10 kolom dari JSON data, setiap JSON catatan diuraikan 10 kali, yang mencakup logika tambahan. Ini menghasilkan latensi konsumsi yang lebih tinggi. Pendekatan alternatif yang kami rekomendasikan adalah menggunakan PARSEfungsi JSON _ untuk mengonversi JSON catatan ke tipe SUPER data Redshift. Setelah data yang dialirkan mendarat di tampilan terwujud, gunakan PartiQL untuk mengekstrak string individu dari representasi data. SUPER JSON Untuk informasi selengkapnya, lihat Menanyakan data semi-terstruktur.

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

  • Memetakan Amazon Kinesis Data Streams aliran atau MSK topik 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 KDS aliran atau MSK topik ke dalam beberapa tampilan terwujud, lihat blog AWS Big Data, khususnya Praktik terbaik untuk menerapkan near-real-time analitik menggunakan Amazon Redshift Streaming Ingestion dengan MSK Amazon, 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 JOINs pada tampilan yang terwujud

Tampilan yang terwujud harus dipertahankan secara bertahap. Penghitungan ulang penuh tidak dimungkinkan untuk Kinesis atau MSK Amazon 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, JOINs saat ini tidak didukung pada tampilan terwujud yang dibuat di aliran Kinesis, atau pada topik AmazonMSK. 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 lebih lanjut, lihat REFRESHMATERIALIZEDVIEW.

Rekam penguraian

Penyerapan streaming Amazon Redshift tidak mendukung catatan penguraian yang telah dikumpulkan oleh Perpustakaan Produser Kinesis (Konsep Utama - Agregasi). KPL 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 AmazonMSK.

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:

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

  • Batas pesan - MSK Konfigurasi 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 AmazonMSK, 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 AmazonMSK, 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 MSK VPC Multi-pribadi Amazon

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

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 lebih lanjut, lihat CREATEMATERIALIZEDVIEWatau ALTERMATERIALIZEDVIEW.

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 yang diperlukan RPUs untuk mendukung konsumsi streaming dengan penyegaran otomatis dan beban kerja lainnya. Untuk informasi selengkapnya, lihat Penagihan untuk Amazon Redshift Tanpa Server.

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

Saat Anda mengonfigurasi konsumsi streaming, Amazon Redshift mencoba terhubung ke klaster 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 klaster MSK broker Amazon di AZ yang sama dengan klaster atau grup kerja yang disediakan Redshift Anda.

Segarkan lokasi awal

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

Format data

Format data yang didukung terbatas pada format yang dapat dikonversiVARBYTE. Untuk informasi selengkapnya, silakan lihat VARBYTEjenis 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 ALTERTABLEAPPEND.

Berlari 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 lebih lanjut, lihat DELETE.