Bekerja dengan rencana Aurora DSQL EXPLY - Amazon Aurora DSQL

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

Bekerja dengan rencana Aurora DSQL EXPLY

Aurora DSQL menggunakan struktur rencana EXPLORE yang mirip dengan PostgreSQL, tetapi dengan penambahan kunci yang mencerminkan arsitektur terdistribusi dan model eksekusi.

Dalam dokumentasi ini, kami akan memberikan gambaran umum tentang rencana Aurora DSQL EXPLORE, menyoroti persamaan dan perbedaan dibandingkan dengan PostgreSQL. Kami akan membahas berbagai jenis operasi pemindaian yang tersedia di Aurora DSQL dan membantu Anda memahami biaya menjalankan kueri Anda.

PostgreSQL VS Aurora DSQL JELASKAN rencana

Aurora DSQL dibangun di atas database PostgreSQL dan berbagi sebagian besar struktur rencana dengan PostgreSQL, tetapi memiliki perbedaan arsitektur utama yang mempengaruhi eksekusi dan pengoptimalan kueri:

Fitur PostgreSQL Aurora DSQL

Penyimpanan Data

Penyimpanan Tumpukan

Tidak ada tumpukan, semua baris diindeks oleh pengidentifikasi unik

Kunci Utama

Indeks kunci primer terpisah dari data tabel

Indeks kunci primer adalah tabel dengan semua kolom tambahan sebagai kolom INCLUDE

Indeks Sekunder

Indeks sekunder standar

Bekerja sama dengan PostgreSQL, dengan kemampuan untuk menyertakan kolom non-kunci

Kemampuan Penyaringan

Kondisi Indeks, Filter Tumpukan

Kondisi Indeks, Filter Penyimpanan, Filter Prosesor Kueri

Jenis Pindai

Pemindaian Berurutan, Pemindaian Indeks, Pemindaian Hanya Indeks

Pemindaian Penuh, Pemindaian Hanya Indeks, Pemindaian Indeks

Eksekusi Kueri

Lokal ke Database

Didistribusikan (komputasi dan penyimpanan terpisah)

Aurora DSQL menyimpan data tabel secara langsung dalam urutan kunci primer daripada di tumpukan terpisah. Setiap baris diidentifikasi oleh kunci unik, biasanya kunci utama, yang memungkinkan database untuk mengoptimalkan pencarian lebih efisien. Perbedaan arsitektur menjelaskan mengapa Aurora DSQL sering menggunakan Index Only Scan dalam kasus di mana PostgreSQL mungkin memilih pemindaian sekuensial.

Perbedaan utama lainnya adalah bahwa Aurora DSQL memisahkan komputasi dari penyimpanan, memungkinkan filter diterapkan sebelumnya di jalur eksekusi untuk mengurangi pergerakan data dan meningkatkan kinerja.

Untuk selengkapnya menggunakan rencana EXPLORE dengan PostgreSQL, lihat dokumentasi PostgreSQL EXPLORE.

Elemen kunci dalam rencana Aurora DSQL JELASKAN

Rencana Aurora DSQL EXPLOW memberikan informasi rinci tentang bagaimana kueri dijalankan, termasuk di mana pemfilteran terjadi dan kolom mana yang diambil dari penyimpanan. Memahami keluaran ini membantu Anda mengoptimalkan kinerja kueri.

Indeks Cond

Kondisi yang digunakan untuk menavigasi indeks. Pemfilteran paling efisien yang mengurangi data yang dipindai. Di Aurora DSQL, kondisi indeks dapat diterapkan pada beberapa lapisan rencana eksekusi.

Proyeksi

Kolom diambil dari penyimpanan. Proyeksi yang lebih sedikit berarti kinerja yang lebih baik.

Filter Penyimpanan

Kondisi diterapkan pada tingkat penyimpanan. Lebih efisien daripada filter prosesor kueri.

Filter Prosesor Kueri

Kondisi diterapkan pada tingkat prosesor kueri. Memerlukan transfer semua data sebelum penyaringan, yang menghasilkan pergerakan data yang lebih tinggi dan overhead pemrosesan.

Filter dalam Aurora DSQL

Aurora DSQL memisahkan komputasi dari penyimpanan, yang berarti bahwa titik di mana filter diterapkan selama eksekusi kueri memiliki dampak signifikan pada kinerja. Filter yang diterapkan sebelum volume besar data ditransfer mengurangi latensi dan meningkatkan efisiensi. Semakin awal filter diterapkan, semakin sedikit data yang perlu diproses, dipindahkan, dan dipindai, menghasilkan kueri yang lebih cepat.

Aurora DSQL dapat menerapkan filter pada beberapa tahap di jalur kueri. Memahami tahapan ini adalah kunci untuk menafsirkan rencana kueri dan mengoptimalkan kinerja.

Tingkat Jenis Filter Deskripsi
1 Kondisi Indeks

Diterapkan saat memindai indeks. Membatasi berapa banyak data yang dibaca dari penyimpanan dan mengurangi data yang dikirim ke lapisan komputasi.

2 Filter Penyimpanan Diterapkan setelah data dibaca dari penyimpanan tetapi sebelum dikirim ke komputasi. Contoh di sini adalah filter pada kolom include indeks. Mengurangi transfer data tetapi bukan jumlah yang dibaca.
3 Filter Prosesor Kueri Diterapkan setelah data mencapai lapisan komputasi. Semua data harus ditransfer terlebih dahulu, yang meningkatkan latensi dan biaya. Saat ini, Aurora DSQL tidak dapat melakukan semua operasi penyaringan dan proyeksi pada penyimpanan, sehingga beberapa kueri mungkin terpaksa kembali ke jenis penyaringan ini.