Ringkasan praktik terbaik di Dataform

Dokumen ini menunjukkan ringkasan praktik terbaik untuk mengelola ukuran repositori, struktur repositori, dan siklus proses kode di Dataform.

Praktik terbaik untuk ukuran repositori

Ukuran repositori memengaruhi beberapa aspek pengembangan di Dataform, seperti:

  • Kolaborasi
  • Keterbacaan codebase
  • Proses pengembangan
  • Kompilasi alur kerja
  • Eksekusi alur kerja

Dataform menerapkan kuota dan batas API pada resource kompilasi. Ukuran repositori yang besar dapat menyebabkan repositori Anda melebihi kuota dan batas ini. Hal ini dapat menyebabkan kompilasi dan eksekusi alur kerja SQL Anda gagal.

Untuk mengurangi risiko tersebut, sebaiknya bagi repositori besar. Saat memisahkan repositori besar, Anda membagi alur kerja SQL besar menjadi sejumlah alur kerja SQL yang lebih kecil yang disimpan di repositori yang berbeda dan terhubung oleh dependensi lintas repositori.

Pendekatan ini memungkinkan Anda mematuhi kuota dan batas Dataform, proses dan izin yang terperinci, serta meningkatkan keterbacaan dan kolaborasi codebase. Namun, mengelola repositori terpisah dapat lebih sulit daripada mengelola satu repositori.

Untuk mempelajari lebih lanjut dampak ukuran repositori di Dataform dan praktik terbaik untuk memisahkan repositori, lihat Memisahkan repositori.

Praktik terbaik untuk struktur repositori

Sebaiknya strukturkan file di direktori definitions untuk mencerminkan tahap alur kerja Anda. Perlu diingat bahwa Anda dapat menggunakan struktur kustom yang paling sesuai dengan kebutuhan Anda.

Struktur subdirektori definitions yang direkomendasikan berikut mencerminkan tahap utama dari sebagian besar alur kerja SQL:

  • sources, menyimpan deklarasi sumber data
  • intermediate, menyimpan logika transformasi data
  • output, yang menyimpan definisi tabel output
  • Opsional: extras, menyimpan file tambahan

Nama semua file di Dataform harus sesuai dengan pedoman penamaan tabel BigQuery. Sebaiknya nama file di direktori definitions dalam repositori Dataform mencerminkan struktur subdirektori.

Untuk mempelajari lebih lanjut praktik terbaik dalam menyusun dan memberi nama file di repositori, lihat Membuat struktur kode di repositori.

Praktik terbaik untuk siklus proses kode

Siklus proses kode default di Dataform terdiri dari fase berikut:

Untuk mengelola siklus proses kode di Dataform, Anda dapat membuat lingkungan eksekusi, misalnya, pengembangan, staging, dan produksi.

Untuk mempelajari siklus proses kode di Dataform lebih lanjut, lihat Pengantar siklus proses kode di Dataform.

Anda dapat memilih untuk menyimpan lingkungan eksekusi di satu repositori, atau di beberapa repositori.

Lingkungan eksekusi dalam satu repositori

Anda dapat membuat lingkungan eksekusi terpisah seperti pengembangan, staging, dan produksi dalam satu repositori Dataform dengan penggantian kompilasi ruang kerja dan konfigurasi rilis.

Anda dapat membuat lingkungan eksekusi terisolasi dengan cara berikut:

  • Memisahkan tabel pengembangan dan produksi menurut skema
  • Memisahkan tabel pengembangan dan produksi menurut skema dan project Google Cloud
  • Memisahkan tabel pengembangan, staging, dan produksi per project Google Cloud

Kemudian, Anda dapat menjadwalkan eksekusi di lingkungan staging dan produksi dengan konfigurasi alur kerja. Sebaiknya picu eksekusi secara manual di lingkungan pengembangan.

Untuk mempelajari lebih lanjut praktik terbaik dalam mengelola siklus proses kode di Dataform, lihat Mengelola siklus proses kode.

Siklus proses kode di beberapa repositori

Untuk menyesuaikan izin Identity and Access Management ke setiap tahap siklus proses kode, Anda dapat membuat beberapa salinan repositori dan menyimpannya di project Google Cloud yang berbeda.

Setiap project Google Cloud berfungsi sebagai lingkungan eksekusi yang sesuai dengan tahap siklus proses kode Anda, misalnya, pengembangan dan produksi.

Dalam pendekatan ini, sebaiknya pertahankan codebase repositori yang sama di semua project Google Cloud. Untuk menyesuaikan kompilasi dan eksekusi di setiap salinan repositori, gunakan penggantian kompilasi ruang kerja, konfigurasi rilis, dan konfigurasi alur kerja.

Langkah selanjutnya