Dokumen ini membantu Anda memahami pengaruh ukuran repositori terhadap pengembangan alur kerja SQL dan penggunaan resource kompilasi Dataform, serta cara memperkirakan penggunaan resource kompilasi repositori Anda.
Tentang ukuran repositori di Dataform
Ukuran repositori memengaruhi aspek pengembangan berikut di Dataform:
- Kolaborasi
- Beberapa kolaborator yang bekerja pada repositori besar dapat membuat jumlah permintaan pull yang berlebihan, sehingga meningkatkan risiko konflik penggabungan.
- Keterbacaan codebase
- Jumlah file yang lebih besar yang membentuk alur kerja SQL dalam satu repositori dapat mempersulit navigasi di repositori.
- Proses pengembangan
- Beberapa area alur kerja SQL besar dalam satu repositori mungkin memerlukan izin atau proses kustom, seperti penjadwalan, yang berbeda dengan izin dan proses yang diterapkan ke alur kerja SQL lainnya. Ukuran repositori yang besar membuat proses pengembangan sulit disesuaikan dengan area tertentu dalam alur kerja SQL.
- Kompilasi alur kerja
- Dataform menerapkan batas penggunaan pada resource kompilasi. Ukuran repositori yang besar dapat menyebabkan batas ini terlampaui, sehingga menyebabkan kompilasi gagal.
- Eksekusi alur kerja
- Selama eksekusi, Dataform akan mengeksekusi kode repositori di dalam ruang kerja Anda dan men-deploy aset ke BigQuery. Makin besar repositori, makin lama waktu yang diperlukan Dataform untuk mengeksekusinya.
Jika ukuran repositori yang besar berdampak negatif pada pengembangan Anda di Dataform, Anda dapat membagi repositori menjadi beberapa repositori yang lebih kecil.
Tentang batas resource kompilasi repositori
Selama pengembangan, Dataform mengompilasi semua kode repositori di dalam ruang kerja Anda untuk menghasilkan representasi alur kerja SQL di repositori Anda, yang disebut hasil kompilasi. Dataform menerapkan batas penggunaan pada resource kompilasi.
Repositori Anda mungkin melebihi batas penggunaan karena alasan berikut:
- Bug loop tanpa henti dalam kode repositori.
- Bug kebocoran memori dalam kode repositori.
- Ukuran repositori besar, sekitar lebih dari 1.000 tindakan alur kerja SQL.
Untuk mengetahui informasi selengkapnya tentang batas penggunaan pada resource kompilasi, lihat Batas resource kompilasi Dataform.
Memperkirakan penggunaan resource kompilasi repositori Anda
Anda dapat memperkirakan penggunaan resource kompilasi berikut untuk repositori Anda:
- Penggunaan waktu CPU
- Ukuran total maksimum data serialisasi dari grafik tindakan yang dihasilkan dan ditentukan di repositori Anda
Untuk mendapatkan perkiraan kasar penggunaan waktu CPU kompilasi saat ini untuk kompilasi repositori, Anda dapat menghitung waktu kompilasi alur kerja Dataform SQL di mesin Linux atau macOS lokal.
- Untuk mengatur waktu kompilasi alur kerja SQL, di dalam repositori, jalankan perintah
dataform compile
Dataform CLI dalam format berikut:
time dataform compile
Contoh kode berikut menunjukkan hasil dari eksekusi
perintah time dataform compile
:
real 0m3.480s
user 0m1.828s
sys 0m0.260s
Anda dapat memperlakukan hasil real
sebagai indikator kasar penggunaan waktu CPU untuk
kompilasi repositori Anda.
Untuk mendapatkan perkiraan kasar ukuran total grafik tindakan yang dihasilkan di repositori, Anda dapat menulis output grafik ke file JSON. Anda dapat memperlakukan ukuran file JSON yang tidak dikompresi sebagai indikator kasar dari jumlah total grafik.
- Untuk menulis output grafik kompilasi alur kerja SQL ke file JSON, di dalam repositori, jalankan perintah Dataform CLI berikut:
dataform compile --json > graph.json
Langkah selanjutnya
- Untuk mempelajari batas resource kompilasi Dataform lebih lanjut, lihat Batas resource kompilasi Dataform.
- Untuk mempelajari lebih lanjut cara memisahkan repositori di Dataform, lihat Memisahkan repositori.