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 dataintermediate
, menyimpan logika transformasi dataoutput
, 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:
Pengembangan kode alur kerja SQL di ruang kerja Dataform
Anda dapat mengembangkan dengan inti Dataform atau secara eksklusif dengan JavaScript.
Kompilasi kode Anda menjadi hasil kompilasi menggunakan setelan dari file setelan alur kerja.
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, 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 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
- Untuk mempelajari ukuran repositori di Dataform lebih lanjut, lihat Ringkasan ukuran repositori.
- Untuk mempelajari lebih lanjut praktik terbaik untuk memisahkan repositori, lihat Memisahkan repositori.
- Untuk mempelajari lebih lanjut praktik terbaik untuk struktur repositori, lihat Menyusun kode dalam repositori
- Untuk mempelajari siklus proses kode di Dataform dan berbagai cara untuk mengonfigurasinya lebih lanjut, lihat Pengantar siklus proses kode di Dataform.
- Untuk mempelajari lebih lanjut praktik terbaik siklus proses kode, lihat Mengelola siklus proses kode.