Apa itu Tampilan Terwujud?
Tampilan terwujud adalah tabel data duplikat yang dibuat dengan menggabungkan data dari beberapa tabel yang ada untuk pengambilan data yang lebih cepat. Misalnya, pertimbangkan aplikasi ritel dengan dua tabel dasar untuk data pelanggan dan produk. Tabel pelanggan berisi informasi, seperti nama pelanggan dan detail kontak, sedangkan tabel produk berisi informasi tentang detail dan biaya produk. Tabel pelanggan hanya menyimpan ID produk dari item yang dibeli pelanggan individu. Anda harus melakukan referensi silang pada kedua tabel untuk mendapatkan detail produk dari barang yang dibeli oleh pelanggan tertentu. Sebagai gantinya, Anda dapat membuat tampilan terwujud yang menyimpan nama pelanggan dan detail produk terkait dalam satu tabel sementara. Anda dapat membangun struktur indeks pada tampilan terwujud untuk meningkatkan performa pembacaan data.
Apa saja keuntungan dari tampilan terwujud?
Tampilan terwujud adalah metode yang cepat dan efisien untuk mengakses data yang relevan. Tampilan terwujud membantu dengan optimasi kueri dalam aplikasi intensif data. Selanjutnya, kita akan membahas beberapa keuntungan utama.
Kecepatan
Baca pemindaian kueri pada tabel dan baris data yang berbeda untuk mengumpulkan informasi yang diperlukan. Dengan tampilan terwujud, Anda dapat membuat kueri data langsung dari tampilan baru alih-alih harus mengkomputasi informasi baru setiap saat. Semakin kompleks kueri Anda, semakin banyak waktu yang akan Anda hemat menggunakan tampilan terwujud.
Kesederhanaan penyimpanan data
Tampilan terwujud memungkinkan Anda mengonsolidasikan logika kueri yang kompleks dalam satu tabel. Hal ini memudahkan transformasi data dan pemeliharaan kode bagi developer. Selain itu, juga dapat lebih memudahkan pengelolaan kueri yang kompleks. Anda juga dapat menggunakan subsetting data untuk mengurangi jumlah data yang perlu direplikasi dalam tampilan.
Konsistensi
Tampilan terwujud memberikan tampilan yang konsisten dari data yang ditangkap pada saat tertentu. Anda dapat mengonfigurasi konsistensi pembacaan dalam tampilan terwujud dan memungkinkan data diakses bahkan di lingkungan multipengguna tempat kontrol konkurensi sangat penting.
Tampilan terwujud juga menyediakan akses data meskipun data sumber berubah atau dihapus. Seiring waktu, ini berarti Anda dapat menggunakan tampilan terwujud untuk melaporkan snapshot data berbasis waktu. Tingkat isolasi dari tabel sumber memastikan bahwa Anda memiliki tingkat konsistensi yang lebih besar di seluruh data Anda.
Kontrol akses yang ditingkatkan
Anda dapat menggunakan tampilan terwujud untuk mengontrol siapa yang memiliki akses ke data tertentu. Anda dapat memfilter informasi untuk pengguna tanpa memberi mereka akses ke tabel sumber. Pendekatan ini praktis jika Anda ingin mengontrol siapa yang memiliki akses ke data apa dan seberapa banyak data yang dapat mereka lihat dan berinteraksi.
Apa kasus penggunaan dari tampilan terwujud?
Anda dapat memanfaatkan tampilan terwujud dalam berbagai skenario.
Mendistribusikan data yang difilter
Jika Anda perlu mendistribusikan data terbaru di banyak lokasi, seperti untuk tenaga kerja jarak jauh, tampilan terwujud akan membantu. Anda mereplikasi dan mendistribusikan data ke banyak lokasi menggunakan tampilan terwujud. Orang-orang yang memerlukan akses ke data akan berinteraksi dengan penyimpanan data replikasi yang paling dekat dengan mereka secara geografis.
Sistem ini memungkinkan konkurensi dan mengurangi beban jaringan. Ini adalah pendekatan yang efektif dengan basis data hanya baca.
Menganalisis data deret waktu
Tampilan terwujud menyediakan snapshot dengan stempel waktu dari set data, sehingga Anda dapat memodelkan perubahan informasi dari waktu ke waktu. Anda dapat menyimpan agregasi data prakomputasi, seperti ringkasan bulanan atau mingguan. Penggunaan ini sangat membantu untuk kecerdasan bisnis dan platform pelaporan.
Interaksi data jarak jauh
Dalam sistem basis data terdistribusi, Anda dapat menggunakan tampilan terwujud untuk mengoptimalkan kueri yang melibatkan data dari server jarak jauh. Daripada berulang kali mengambil data dari sumber jarak jauh, Anda dapat mengambil dan menyimpan data dalam tampilan terwujud lokal. Hal ini mengurangi kebutuhan akan komunikasi jaringan dan meningkatkan performa.
Misalnya, jika Anda menerima data dari basis data eksternal atau melalui API, tampilan terwujud akan mengonsolidasikan dan membantu prosesnya.
Pemrosesan batch berkala
Tampilan terwujud sangat membantu untuk situasi ketika pemrosesan batch berkala diperlukan. Misalnya, lembaga keuangan mungkin menggunakan tampilan terwujud untuk menyimpan saldo dan perhitungan bunga pada penghujung hari. Atau mereka mungkin menyimpan ringkasan performa portofolio, yang dapat disegarkan pada penghujung hari setiap hari kerja.
Bagaimana cara kerja tampilan terwujud?
Tampilan terwujud bekerja dengan mengkomputasi sebelumnya dan menyimpan hasil kueri tertentu sebagai tabel fisik dalam basis data. Basis data melakukan prakomputasi secara rutin, atau pengguna dapat memicunya dengan peristiwa tertentu. Administrator memantau performa dan pemanfaatan sumber daya dari tampilan terwujud untuk memastikan tujuan yang dimaksudkan terus terpenuhi.
Berikut adalah gambaran umum tentang cara kerja tampilan terwujud.
Membuat tampilan terwujud
Anda menentukan kueri yang mengambil data yang diinginkan dari satu atau beberapa tabel sumber untuk membuat tampilan terwujud. Kueri ini dapat mencakup pemfilteran, agregasi, penggabungan, dan operasi lainnya sesuai yang diperlukan.
Basis data awalnya mengisi tampilan terwujud dengan menjalankan kueri yang ditentukan terhadap data sumber. Hasil kueri disimpan sebagai tabel fisik dalam basis data, dan tabel ini merepresentasikan tampilan terwujud.
Memperbarui tampilan terwujud
Data dalam tampilan terwujud perlu diperbarui secara berkala untuk mencerminkan perubahan data yang mendasarinya dalam tabel sumber. Frekuensi penyegaran data bergantung pada kasus penggunaan dan persyaratan.
Berikutnya, kita akan membahas beberapa pendekatan umum untuk penyegaran data.
Penyegaran penuh
Tampilan terwujud dikomputasi ulang sepenuhnya dan ditimpa dengan hasil kueri terbaru. Ini adalah pendekatan yang paling sederhana tetapi intensif sumber daya, terutama untuk tampilan terwujud yang besar.
Penyegaran tambahan
Hanya perubahan dalam data dasar yang diterapkan pada tampilan terwujud. Cara ini lebih efisien dibandingkan penyegaran penuh saat menangani set data dan pembaruan yang sering.
Penyegaran sesuai permintaan
Beberapa sistem memungkinkan tampilan terwujud disegarkan sesuai permintaan, dengan dipicu oleh peristiwa tertentu atau permintaan pengguna. Cara ini memberikan kontrol lebih besar saat data diperbarui, tetapi memerlukan manajemen yang cermat guna memastikan tampilan terwujud tetap terbaru.
Variasi teknis dalam sistem yang berbeda
Setiap sistem manajemen basis data memiliki metode yang berbeda untuk membuat tampilan terwujud.
Sistem manajemen basis data |
Cara kerja tampilan terwujud |
PostgreSQL |
Dengan PostgreSQL, Anda harus menyegarkan tampilan terwujud secara manual, mengkomputasi ulang seluruh tampilan. Anda mengisi tampilan terwujud dengan data pada saat Anda membuatnya. |
MySQL |
MySQL tidak mendukung tampilan terwujud. |
Oracle |
Oracle menyegarkan tampilan terwujud secara otomatis, tetapi Anda juga dapat menyegarkan sesuai permintaan. Anda juga dapat menulis pernyataan SQL yang meminta tampilan untuk disegarkan sebelum memberikan hasil. |
SQL Server |
SQL Server menggunakan nama “tampilan berindeks” karena materialisasi adalah langkah membuat indeks dari tampilan biasa. Anda hanya dapat melakukan kueri SQL dasar dengan tampilan berindeksnya. Tampilan berindeks diperbarui secara otomatis untuk pengguna. |
MongoDB |
MongoDB menggunakan fungsi agregasi untuk memberikan kemampuan serupa ke tampilan terwujud, tetapi untuk lingkungan NoSQL. |
Apa perbedaan antara tampilan dan tampilan terwujud?
Dalam basis data relasional, tampilan adalah tabel sementara yang dibuat dengan mengubah dan menggabungkan data di beberapa tabel dasar. Ini adalah tabel virtual yang tidak menyimpan data itu sendiri. Sebaliknya, tampilan ditentukan oleh kueri terhadap satu atau beberapa tabel sumber.
Setiap kali pengguna membuat kueri tampilan, mesin basis data mengkomputasi hasil secara dinamis dengan menjalankan kueri yang mendasarinya terhadap tabel sumber. Data dalam tampilan selalu yang terbaru karena berasal langsung dari tabel sumber setiap kali diakses.
Di sisi lain, tampilan terwujud menyimpan hasil kueri tertentu sebagai tabel fisik dalam basis data. Data dalam tampilan terwujud dikomputasi sebelumnya dan disimpan, artinya hasilnya sudah tersedia tanpa perlu mengkomputasi ulang kueri setiap kali tampilan diakses.
Namun, data dalam tampilan terwujud tidak selalu yang terbaru. Anda harus mengonfigurasi frekuensi pembaruan untuk menyeimbangkan antara kesegaran data dan performa kueri.
Apa saja tantangan tampilan terwujud?
Karena tampilan terwujud adalah komponen basis data lain yang perlu dipertimbangkan, Anda menambahkan lapisan kompleksitas lain dalam hal pemeliharaan. Anda harus menyeimbangkan manfaat kueri dan efisiensi dengan kemungkinan masalah konsistensi data dan biaya penyimpanan.
Anda harus membuat aturan efektif yang memicu pembaruan untuk memastikan tampilan terwujud Anda tetap bermanfaat. Sering memperbarui tampilan terwujud Anda dapat memengaruhi performa sistem, terutama jika Anda sudah berada dalam periode puncak. Selain itu, tampilan terwujud juga memerlukan banyak ruang ketika mereplikasi data. Jika Anda memiliki basis data besar yang terus diperbarui, permintaan penyimpanan dari tampilan terwujud kemungkinan akan signifikan.
Jika akan menggunakan tampilan terwujud, Anda perlu menetapkan aturan dan jadwal penyegaran yang jelas. Anda juga harus memahami cara menangani data yang tidak konsisten, kegagalan penyegaran, dan tekanan penyimpanan tambahan.
Bagaimana AWS dapat membantu kebutuhan tampilan terwujud Anda?
Tampilan terwujud adalah alat yang ampuh untuk meningkatkan performa kueri di Amazon Redshift.
Amazon Redshift terus memantau beban kerja menggunakan machine learning dan menciptakan tampilan terwujud yang baru jika bermanfaat. Fitur Tampilan Termaterialisasi Otomatis (AutoMV) di Redshift ini memberikan manfaat performa yang sama dari tampilan terwujud yang dibuat pengguna.
Fitur AutoMV dapat bermanfaat bagi Anda dalam banyak hal:
- Seimbangkan biaya pembuatan dan jaga tampilan terwujud tetap mutakhir dengan manfaat yang diharapkan untuk latensi kueri
- Pantau AutoMV yang dibuat sebelumnya dan hapus saat tidak lagi bermanfaat
- Segarkan secara otomatis dan bertahap, menggunakan kriteria dan batasan yang sama dengan tampilan terwujud yang dibuat pengguna
Selain itu, developer tidak perlu merevisi kueri untuk memanfaatkan AutoMV. Penulisan ulang kueri otomatis untuk menggunakan tampilan terwujud mengidentifikasi kueri yang dapat memperoleh manfaat dari AutoMV yang dibuat sistem. Hal ini secara otomatis menulis ulang kueri tersebut untuk menggunakan AutoMV sehingga meningkatkan efisiensi kueri.
Mulai tampilan terwujud di AWS dengan membuat akun sekarang juga.