Migrasi Snowflake ke BigQuery - pengantar
Dokumen ini memberikan pengantar tentang cara memigrasikan data dari Snowflake ke BigQuery.
Untuk mendukung migrasi ke BigQuery, Trusted Cloud by S3NS menawarkan layanan migrasi BigQuery sebagai solusi komprehensif untuk memigrasikan data warehouse Anda ke BigQuery. Layanan migrasi menawarkan fitur untuk mendukung setiap fase migrasi Anda, termasuk penilaian dan perencanaan, terjemahan SQL, transfer data, dan validasi data. Untuk mengetahui informasi selengkapnya, lihat Pengantar BigQuery Migration Service.
Perbandingan fitur
Bagian berikut menyoroti perbedaan dan persamaan utama antara BigQuery dan Snowflake, serta memperkenalkan beberapa fitur unik BigQuery.
Terminologi
Tabel berikut memetakan istilah Snowflake ke istilah BigQuery yang setara:
Snowflake | BigQuery |
---|---|
Database | Set data |
Skema | Skema |
Lihat | Lihat |
Tampilan aman | Tampilan yang diberi otorisasi |
Warehouse virtual | Reservasi |
Tampilan terwujud | Tampilan terwujud |
Partisi mikro | Membuat partisi |
Pengelompokan | Pengelompokan |
Fungsi buatan pengguna yang ditingkatkan keamanan (UDF) | UDF yang Diizinkan |
Arsitektur BigQuery
BigQuery adalah data warehouse analitik dengan arsitektur yang sangat skalabel. BigQuery memisahkan penyimpanan dan komputasinya, sehingga komponen ini dapat melakukan penskalaan secara independen sesuai permintaan. Untuk mengetahui informasi selengkapnya tentang arsitektur di BigQuery, lihat Ringkasan BigQuery. Berikut adalah beberapa fitur utama di BigQuery yang relevan dengan proses migrasi data:
BigQuery menggunakan tabel terkelola dan menawarkan opsi fleksibel untuk transfer data pihak ketiga. Hal ini mencakup penyerapan langsung dari Cloud Storage dalam format portabel seperti Parquet, Avro, ORC, dan CSV.
- BigQuery juga mendukung tabel Apache Iceberg. Iceberg adalah format tabel terbuka yang menghadirkan kemampuan data lakehouse ke BigQuery, yang menyediakan evolusi skema, lintas waktu, dan transaksi ACID. Hal ini memungkinkan integrasi yang lancar dengan sistem lain yang menggunakan Iceberg serta memberikan fleksibilitas dan kontrol yang lebih besar atas data Anda.
BigQuery memungkinkan Anda menentukan partisi dan pengelompokan eksplisit saat membuat tabel. Hal ini memberi Anda kontrol terperinci atas organisasi data, sehingga Anda dapat mengoptimalkan performa kueri, mengurangi biaya dengan membuat partisi dan pengelompokan secara strategis, serta menyesuaikan tata letak data dengan kebutuhan analisis spesifik Anda.
- Anda juga dapat menggunakan pemberi rekomendasi partisi dan cluster agar BigQuery menyarankan konfigurasi partisi dan cluster berdasarkan workload project Anda.
BigQuery menangani resource komputasi secara otomatis. Anda tidak perlu menyediakan atau mengelola virtual machine.
- Untuk beban kerja yang dapat diprediksi, BigQuery menawarkan reservasi, sehingga Anda dapat memesan kapasitas komputasi di muka dengan biaya yang lebih rendah. Hal ini dapat bermanfaat untuk beban kerja yang konsisten dengan kebutuhan resource yang dapat diprediksi.
- Selama migrasi, analisis pola penggunaan Snowflake Anda untuk memahami persyaratan komputasi dan membantu Anda menentukan pendekatan yang paling hemat biaya di BigQuery, baik itu harga sesuai permintaan atau menggunakan reservasi.
Antarmuka pengguna BigQuery
Antarmuka BigQuery dibangun ke dalam Trusted Cloud console.
BigQuery juga memiliki alat command line berbasis Python yang disebut alat command line bq.
Fitur keamanan BigQuery
Saat Anda bermigrasi dari Snowflake ke BigQuery, pertimbangkan cara Trusted Cloud by S3NS menangani keamanan secara berbeda dari Snowflake.
Keamanan di BigQuery terkait erat dengan Identity and Access Management (IAM) di Trusted Cloud by S3NS. Hak istimewa IAM menentukan operasi yang diizinkan pada resource dan diterapkan di tingkat Trusted Cloud by S3NS , sehingga memberikan pendekatan yang terpusat dan konsisten untuk pengelolaan keamanan. Berikut adalah beberapa fitur keamanan utama Trusted Cloud by S3NS:
- Keamanan Terintegrasi: BigQuery memanfaatkan fitur keamanan Trusted Cloud by S3NS's. Hal ini mencakup IAM untuk kontrol akses terperinci guna integrasi keamanan yang tangguh dan lancar.
- Keamanan tingkat resource: IAM berfokus pada kontrol akses tingkat resource, memberikan izin kepada pengguna dan grup untuk berbagai resource dan layanan BigQuery. Pendekatan ini memungkinkan pengelolaan hak akses yang efektif sehingga pengguna hanya memiliki izin yang diperlukan untuk melakukan tugas mereka.
- Keamanan jaringan: BigQuery memanfaatkan fitur keamanan jaringan yang andal dari Trusted Cloud by S3NS, seperti Virtual Private Cloud dan koneksi pribadi.
Saat Anda bermigrasi dari Snowflake ke BigQuery, pertimbangkan persyaratan migrasi terkait keamanan berikut:
- Konfigurasi IAM: Anda harus mengonfigurasi peran dan izin IAM di BigQuery agar sesuai dengan kebijakan kontrol akses Snowflake yang ada. Hal ini melibatkan pemetaan peran Snowflake ke peran dan izin IAM BigQuery yang sesuai.
- Kontrol akses terperinci: Jika Anda menggunakan keamanan tingkat baris atau tingkat kolom di Snowflake, Anda harus menerapkan kontrol yang setara di BigQuery menggunakan tampilan diberi otorisasi atau tag kebijakan.
- Migrasi tampilan dan UDF: Saat memigrasikan tampilan dan UDF, pastikan kontrol keamanan terkait diterjemahkan dengan benar ke tampilan yang diberi otorisasi dan UDF yang diberi otorisasi di BigQuery.
Enkripsi
BigQuery mengenkripsi data Anda dalam penyimpanan dan saat transit secara default. Jika Anda memerlukan kontrol lebih besar atas kunci enkripsi, BigQuery mendukung kunci enkripsi yang dikelola pelanggan di Cloud Key Management Service. Anda juga dapat menggunakan enkripsi tingkat kolom.
Untuk menjaga keamanan data selama dan setelah migrasi ke BigQuery, pertimbangkan hal berikut:
- Pengelolaan Kunci: Jika Anda memerlukan kunci yang dikelola pelanggan, buat strategi pengelolaan kunci di Cloud Key Management Service dan konfigurasi BigQuery untuk menggunakan kunci tersebut.
- Penyamaran/Tokenisasi Data: Jika data sensitif terlibat, nilai apakah penyamaran atau tokenisasi data diperlukan untuk melindunginya.
- Keamanan Tingkat Baris: Terapkan keamanan tingkat baris menggunakan tampilan yang sah, filter keamanan tingkat baris, atau metode lain yang sesuai.
- Pemindaian Kerentanan dan Pengujian Penetrasi: Lakukan pemindaian kerentanan dan pengujian penetrasi secara rutin untuk memeriksa postur keamanan lingkungan BigQuery Anda.
Peran
Peran adalah entity yang dapat memberikan dan mencabut hak istimewa pada objek yang dapat diamankan.
Di IaM, izin dikelompokkan ke dalam peran. IaM menyediakan tiga jenis peran:
- Peran dasar:
Peran ini mencakup peran Pemilik, Editor, dan Viewer. Anda dapat menerapkan peran ini pada tingkat resource layanan atau project menggunakan konsolTrusted Cloud , Identity and Access Management API, atau
gcloud CLI
. Secara umum, untuk keamanan terkuat, sebaiknya Anda menggunakan peran yang telah ditentukan untuk mengikuti prinsip hak istimewa terendah. - Peran yang telah ditetapkan . Peran ini memberikan akses yang lebih terperinci ke fitur dalam produk (seperti BigQuery) dan dimaksudkan untuk mendukung kasus penggunaan umum dan pola kontrol akses.
- Peran khusus: Peran ini terdiri dari izin yang ditentukan pengguna.
Kontrol akses
Snowflake memungkinkan Anda memberikan peran ke peran lain sehingga membuat hierarki peran. IaM tidak mendukung hierarki peran, tetapi menerapkan hierarki resource. Hierarki IaM mencakup level organisasi, level folder, level project, dan level resource. Anda dapat menetapkan peran IAM di level hierarki mana pun, dan resource mewarisi semua kebijakan resource induknya.
BigQuery mendukung kontrol akses tingkat tabel. Izin tingkat tabel menentukan pengguna, grup, dan akun layanan yang dapat mengakses tabel atau tampilan. Anda dapat memberi pengguna akses ke tabel atau tampilan tertentu tanpa memberi pengguna akses ke set data lengkap.
Untuk akses yang lebih terperinci, Anda juga dapat menggunakan kontrol akses tingkat kolom atau keamanan tingkat baris. Jenis kontrol ini memberikan akses yang lebih terperinci ke kolom sensitif dengan menggunakan tag kebijakan atau klasifikasi data berbasis jenis.
Anda juga dapat membuat tampilan yang diizinkan guna membatasi akses data untuk kontrol akses yang lebih terperinci sehingga pengguna yang ditentukan dapat membuat kueri tampilan tanpa perlu memiliki akses baca ke tabel pokok.
Memigrasikan fitur Snowflake lainnya
Pertimbangkan fitur Snowflake berikut saat Anda merencanakan migrasi ke BigQuery. Dalam beberapa kasus, Anda dapat menggunakan layanan lain di Trusted Cloud untuk menyelesaikan migrasi.
Perjalanan waktu: Di BigQuery, Anda dapat menggunakan perjalanan waktu untuk mengakses data dari titik mana pun dalam tujuh hari terakhir. Jika Anda perlu mengakses data lebih dari tujuh hari, pertimbangkan untuk mengekspor snapshot yang dijadwalkan secara rutin.
aliran: BigQuery mendukung pengambilan data perubahan (CDC) dengan Datastream. Anda juga dapat menggunakan software CDC, seperti Debezium, untuk menulis data ke BigQuery dengan Dataflow. Untuk informasi lebih lanjut tentang mendesain pipeline CDC secara manual dengan BigQuery, lihat Memigrasikan data warehouse ke BigQuery: Mengubah pengambilan data (CDC).
Tasks: BigQuery memungkinkan Anda menjadwalkan kueri dan aliran data atau integrasi streaming ke dalam kueri dengan Datastream.
Fungsi eksternal: BigQuery mendukung panggilan fungsi eksternal melalui fungsi Cloud Run. Anda juga dapat menggunakan fungsi yang ditentukan pengguna (UDF) seperti UDF SQL, meskipun fungsi ini dijalankan di dalam BigQuery.
Mulai
Bagian berikut merangkum proses migrasi Snowflake ke BigQuery:
Menjalankan penilaian migrasi
Dalam migrasi Snowflake ke BigQuery, sebaiknya Anda memulai dengan menjalankan alat penilaian migrasi BigQuery untuk menilai kelayakan dan potensi manfaat memindahkan data warehouse dari Snowflake ke BigQuery. Alat ini memberikan pendekatan terstruktur untuk memahami lingkungan Snowflake Anda saat ini dan memperkirakan upaya yang diperlukan untuk migrasi yang berhasil.
Menjalankan alat penilaian migrasi BigQuery akan menghasilkan laporan penilaian yang berisi bagian berikut:
- Laporan sistem yang ada: snapshot sistem dan penggunaan Snowflake yang ada, termasuk jumlah database, skema, tabel, dan ukuran total dalam TB. Bagian ini juga mencantumkan skema berdasarkan ukuran dan mengarah ke potensi pemanfaatan resource yang kurang optimal, seperti tabel tanpa penulisan atau beberapa pembacaan.
- Saran transformasi status stabil BigQuery: menunjukkan tampilan sistem di BigQuery setelah migrasi. Bagian ini mencakup saran untuk mengoptimalkan workload di BigQuery dan menghindari pemborosan.
- Rencana migrasi: memberikan informasi tentang upaya migrasi itu sendiri. Misalnya, beralih dari sistem yang ada ke status stabil BigQuery. Bagian ini berisi jumlah kueri yang diterjemahkan secara otomatis dan perkiraan waktu untuk memindahkan setiap tabel ke BigQuery.
Untuk mengetahui informasi selengkapnya tentang hasil penilaian migrasi, lihat Meninjau laporan Looker Studio.
Menyiapkan pipeline migrasi Snowflake ke BigQuery
Setelah meninjau hasil penilaian migrasi, Anda dapat memulai migrasi Snowflake dengan menyiapkan pipeline migrasi. Untuk mengetahui informasi selengkapnya, lihat Migrasi Snowflake ke BigQuery - ringkasan.
Memvalidasi migrasi Anda
Setelah memigrasikan data Snowflake ke BigQuery, jalankan Alat Validasi Data (DVT) untuk melakukan validasi data pada data BigQuery yang baru dimigrasikan. DVT memvalidasi berbagai fungsi, dari tingkat tabel hingga tingkat baris, untuk memverifikasi bahwa data yang dimigrasikan berfungsi sebagaimana mestinya.