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 dataintermediate
, menyimpan logika transformasi dataoutput
, 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
- Untuk mempelajari ukuran repositori dalam Dataform lebih lanjut, lihat Ringkasan ukuran repositori.
- Untuk mempelajari praktik terbaik dalam memisahkan repositori lebih lanjut, lihat Memisahkan repositori.
- Untuk mempelajari praktik terbaik terkait struktur repositori lebih lanjut, baca bagian Membuat struktur kode di repositori
- Untuk mempelajari lebih lanjut siklus proses kode di Dataform dan berbagai cara untuk mengonfigurasinya, lihat Pengantar siklus proses kode di Dataform.
- Untuk mempelajari praktik terbaik siklus proses kode lebih lanjut, lihat Mengelola siklus proses kode.