Ringkasan praktik terbaik di Dataform

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

Praktik terbaik untuk ukuran repositori

Ukuran repositori memengaruhi beberapa aspek pengembangan dalam Dataform, seperti:

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

Dataform memberlakukan kuota dan batas API untuk resource kompilasi. Ukuran repositori yang besar dapat menyebabkan repositori Anda melebihi kuota dan batas ini. Hal ini dapat menyebabkan kegagalan kompilasi dan eksekusi alur kerja SQL Anda.

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

Dengan pendekatan ini, Anda dapat mematuhi kuota dan batas Dataform, proses dan izin yang lebih mendetail, serta meningkatkan keterbacaan codebase dan kolaborasi. Namun, mengelola repositori terpisah bisa lebih sulit daripada mengelola satu repositori.

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

Praktik terbaik untuk struktur repositori

Sebaiknya buat struktur file dalam direktori definitions untuk mencerminkan tahap alur kerja Anda. Perlu diingat bahwa Anda dapat mengadopsi struktur khusus 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, menyimpan definisi tabel output
  • Opsional: extras, menyimpan file tambahan

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

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

Praktik terbaik untuk siklus proses kode

Siklus proses kode default dalam Dataform terdiri dari fase berikut:

  • Pengembangan kode alur kerja SQL di ruang kerja Dataform

    Anda dapat mengembangkan aplikasi dengan Dataform core atau secara eksklusif dengan JavaScript.

  • Kompilasi kode Anda menjadi hasil kompilasi menggunakan setelan dari dataform.json.

    Anda dapat mengonfigurasi hasil kompilasi kustom dengan konfigurasi rilis dan penggantian kompilasi ruang kerja.

    Dengan konfigurasi rilis, Anda dapat mengonfigurasi hasil kompilasi kustom dari seluruh repositori. Anda dapat menjadwalkan eksekusinya nanti di konfigurasi alur kerja.

    Dengan penggantian kompilasi ruang kerja, Anda dapat mengonfigurasi penggantian kompilasi untuk semua ruang kerja di repositori Anda, sehingga membuat hasil kompilasi kustom dari setiap ruang kerja.

  • Eksekusi hasil kompilasi di BigQuery

    Anda dapat menjadwalkan eksekusi atau hasil kompilasi repositori dengan konfigurasi alur kerja.

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 mempertahankan lingkungan eksekusi dalam satu repositori, atau di beberapa repositori.

Lingkungan eksekusi dalam satu repositori

Anda dapat membuat lingkungan eksekusi yang terisolasi seperti pengembangan, staging, dan produksi dalam satu repositori Dataform dengan penggantian kompilasi workspace dan konfigurasi rilis.

Anda dapat membuat lingkungan eksekusi yang terisolasi dengan cara berikut:

  • Memisahkan tabel pengembangan dan produksi berdasarkan skema
  • Memisahkan tabel pengembangan dan produksi berdasarkan skema dan project Google Cloud
  • Tabel produksi, staging, dan pengembangan terpisah 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 mengelola siklus proses kode di Dataform, lihat Mengelola siklus proses kode.

Siklus proses kode di beberapa repositori

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

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

Dalam pendekatan ini, sebaiknya tetap samakan codebase repositori 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