Ringkasan columnar engine Spanner

Halaman ini memberikan ringkasan mesin berbasis kolom untuk Spanner dan menjelaskan cara menggunakannya.

Database operasional biasanya mengekstrak, mentransformasi, dan memuat (ETL) data ke dalam sistem OLAP untuk analisis. Sistem ini sering kali menjadi bagian dari data warehouse. Dengan Data Boost, Spanner telah memisahkan komputasi analitis, yang memastikan stabilitas transaksional.

Columnar engine adalah teknik penyimpanan yang digunakan sistem analisis untuk mempercepat pemindaian dibandingkan dengan pemindaian berbasis batch. Mesin columnar Spanner memungkinkan Anda menjalankan analisis dengan performa yang jauh lebih baik pada data operasional terbaru. Mesin berbasis kolom Spanner meningkatkan performa pemindaian hingga 200 kali lipat, sehingga tidak memerlukan ETL sekaligus mempertahankan konsistensi yang kuat.

Format Ressi Spanner menggunakan tata letak per kolom atribut partisi di seluruh (PAX) untuk pemindaian yang efisien dalam blok data. Namun, format ini menempatkan semua kolom baris dalam blok tertentu untuk pencarian satu baris yang cepat. Tidak seperti Ressi, mesin berbasis kolom Spanner mendedikasikan eksekusi blok ke satu kolom. Pendekatan ini lebih efisien untuk pemindaian berurutan, karena Spanner hanya perlu membaca kolom yang dirujuk dalam kueri.

Spanner membangun representasi kolom di latar belakang (sebagai bagian dari pemadatan), dan secara otomatis menggabungkan representasi dengan pembaruan terbaru pada waktu kueri untuk memberikan konsistensi yang kuat. Kueri yang tidak akan diuntungkan dari penyimpanan berkolom dapat terus menggunakan PAX.

Workload yang akan mendapatkan manfaat dari penggunaan mesin berbasis kolom meliputi:

  • Ekstrak pelaporan operasional yang menghasilkan kecerdasan bisnis yang akurat hingga detik ini dari data operasional terbaru.
  • Analisis yang disajikan mendukung dasbor dan penelusuran kustom dengan latensi interaktif.
  • Analisis gabungan menggabungkan data dari Spanner dan sumber lain di BigQuery dengan lancar.

Cadangan instance Spanner tidak menyertakan format kolom.

Praktik terbaik untuk menggunakan mesin berbasis kolom

Bagian ini menjelaskan praktik terbaik saat menggunakan mesin columnar.

Pengoptimalan pemindaian besar

Mesin kolom mengoptimalkan kueri yang memindai data dalam jumlah besar. Untuk pemindaian data atau kueri yang lebih kecil dengan klausa LIMIT yang cepat terpenuhi, pemindaian berbasis baris mungkin lebih efisien.

Kolom penting

Jika Anda menggunakan SELECT *, Spanner akan membaca semua kolom dari penyimpanan kolom. Untuk memaksimalkan performa, tentukan hanya kolom yang diperlukan. Contoh, SELECT column1, column2 FROM ....

Identifikasi hambatan performa

Mesin berbasis kolom efektif untuk beban kerja yang terikat pemindaian. Untuk mengidentifikasi beban kerja yang terikat pemindaian, periksa rencana kueri untuk tingkat latensi yang tinggi di node Pemindaian tabel. Jika kueri Anda tidak terikat pemindaian, prioritaskan pengoptimalan lainnya terlebih dahulu. Mesin berbasis kolom dapat memberikan manfaat nanti jika pengoptimalan Anda membuat kueri terikat pemindaian.

Cakupan kolom yang optimal

Setelah Anda mengaktifkan mesin columnar pada database yang sudah berisi data, proses pemadatan otomatis Spanner akan mengonversi data ke penyimpanan columnar secara asinkron di latar belakang. Untuk melihat seberapa besar manfaat kueri Anda, periksa persentase Porsi baca kolom dalam rencana kueri.

Pengelolaan data churn tinggi

Kecepatan tulis yang tinggi dari update atau penyisipan acak dapat memengaruhi performa mesin berbasis kolom. Workload hanya penambahan mengalami dampak minimal dari penggunaan mesin columnar. Pemadatan adalah proses latar belakang, yang biasanya tersebar selama beberapa hari, tetapi dapat terjadi lebih cepat jika ukuran database bertambah secara signifikan. Atau, desain skema untuk mendukung penulisan hanya penambahan di level pemisahan. Untuk mengetahui informasi selengkapnya, lihat sharding data yang diurutkan menurut stempel waktu di Spanner.

Harga

Penagihan untuk mesin columnar Spanner didasarkan pada penggunaan penyimpanan. Setelah Anda mengaktifkan columnar engine Spanner dan Spanner menyelesaikan pemadatan data, penggunaan penyimpanan akan meningkat untuk menyertakan representasi kolom baru. Mesin columnar menyediakan metrik penyimpanan yang memungkinkan Anda memantau dampak pada penyimpanan. Untuk mengetahui informasi selengkapnya, lihat Metrik penyimpanan data berkolom.

Mesin kolom Spanner tidak terpengaruh oleh overhead 8 byte per sel.

Batasan pratinjau

  • Anda harus menggunakan petunjuk eksplisit untuk mengaktifkan pembacaan kolom untuk kueri yang Anda buat langsung ke Spanner atau dengan menggunakan BigQuery EXTERNAL_QUERY. Untuk mengetahui informasi selengkapnya, lihat Membuat kueri data berkolom.
  • Mesin columnar hanya mendukung antarmuka GoogleSQL.
  • Pemindaian yang tidak memiliki filter selektif mungkin mengalami lebih sedikit peningkatan.

Langkah berikutnya