Panduan komprehensif orkestrasi pipeline data. Pelajari konsep inti, bandingkan alat teratas, dan implementasikan praktik terbaik.
Otomatisasi Data: Menguasai Orkestrasi Pipeline untuk Perusahaan Global Modern
Dalam perekonomian global saat ini, data lebih dari sekadar informasi; data adalah sumber kehidupan suatu organisasi. Mulai dari startup di Singapura hingga perusahaan multinasional yang berkantor pusat di Zurich, kemampuan untuk mengumpulkan, memproses, dan menganalisis data secara efisien membedakan pemimpin pasar dari yang lain. Namun, seiring dengan meledaknya volume, kecepatan, dan variasi data, mengelola jaringan proses kompleks yang diperlukan untuk mengubah data mentah menjadi wawasan yang dapat ditindaklanjuti telah menjadi tantangan monumental. Di sinilah otomatisasi data, khususnya melalui orkestrasi pipeline, menjadi bukan hanya keuntungan teknis tetapi kebutuhan strategis.
Panduan komprehensif ini akan memandu Anda dalam dunia orkestrasi pipeline data. Kami akan menguraikan konsep-konsep inti, menjelajahi alat-alat terkemuka, dan menyediakan kerangka kerja untuk merancang dan mengimplementasikan alur kerja data yang kuat, dapat diskalakan, dan tangguh yang dapat mendukung strategi data organisasi Anda, di mana pun Anda berada di dunia.
'Mengapa': Melampaui Penjadwalan Sederhana Menuju Orkestrasi Sejati
Banyak perjalanan data dimulai dengan skrip sederhana yang terjadwal. Pendekatan umum adalah menggunakan cron job—penjadwal tugas berbasis waktu di sistem operasi mirip Unix—untuk menjalankan skrip ekstraksi data setiap malam. Ini berfungsi dengan baik untuk satu tugas yang terisolasi. Tetapi apa yang terjadi ketika bisnis membutuhkan lebih banyak?
Bayangkan skenario business intelligence yang tipikal:
- Ekstrak data penjualan dari API Salesforce.
- Ekstrak data kampanye pemasaran dari akun Google Ads.
- Muat kedua kumpulan data ke dalam data warehouse cloud seperti Snowflake atau BigQuery.
- Tunggu hingga kedua pemuatan selesai dengan sukses.
- Jalankan pekerjaan transformasi yang menggabungkan data penjualan dan pemasaran untuk menghitung ROI pemasaran.
- Jika transformasi berhasil, perbarui dasbor BI di alat seperti Tableau atau Power BI.
- Jika ada langkah yang gagal, beri tahu tim data melalui Slack atau email.
Mencoba mengelola urutan ini dengan cron jobs dengan cepat menjadi mimpi buruk. Ini sering disebut sebagai "cron-fetti"—ledakan tugas terjadwal yang berantakan dan tidak dapat dikelola. Tantangannya banyak:
- Manajemen Dependensi: Bagaimana Anda memastikan pekerjaan transformasi (Langkah 5) hanya berjalan setelah kedua pekerjaan ekstraksi (Langkah 1 dan 2) selesai dengan sukses? Merangkai skrip dengan logika kompleks rapuh dan sulit dipelihara.
- Penanganan Kesalahan dan Percobaan Ulang: Bagaimana jika API Salesforce sementara tidak tersedia? Skrip akan gagal. Sistem yang kuat perlu mencoba kembali tugas secara otomatis beberapa kali sebelum menyatakan kegagalan akhir dan memberi tahu tim.
- Skalabilitas: Apa yang terjadi ketika Anda perlu menambahkan 50 sumber data lagi? Kompleksitas pengelolaan skrip yang saling terhubung ini tumbuh secara eksponensial.
- Observabilitas: Bagaimana Anda mendapatkan tampilan terpusat dari semua pekerjaan Anda yang sedang berjalan? Mana yang berhasil? Mana yang gagal? Berapa lama setiap langkah berlangsung? Dengan skrip individual, Anda terbang tanpa panduan.
Di sinilah orkestrasi berperan. Pikirkan konduktor orkestra. Setiap musisi (tugas data) dapat memainkan instrumennya, tetapi tanpa konduktor (orkestrator), mereka tidak dapat menghasilkan simfoni. Konduktor mengatur tempo, memanggil bagian yang berbeda, dan memastikan setiap bagian bekerja secara harmonis. Orkestrator data melakukan hal yang sama untuk pipeline data Anda, mengelola dependensi, menangani kegagalan, dan memberikan tampilan terpadu dari seluruh alur kerja.
Konsep Inti Orkestrasi Pipeline
Untuk menguasai orkestrasi, penting untuk memahami blok bangunan dasarnya. Konsep-konsep ini bersifat universal, terlepas dari alat spesifik yang Anda pilih.
DAG: Directed Acyclic Graphs
Inti dari hampir setiap alat orkestrasi modern adalah Directed Acyclic Graph (DAG). Kedengarannya kompleks, tetapi konsepnya sederhana:
- Graph: Kumpulan node (tugas) dan edge (dependensi).
- Directed: Dependensi memiliki arah. Tugas A harus selesai sebelum Tugas B dapat dimulai. Hubungan mengalir dalam satu arah.
- Acyclic: Graph tidak boleh memiliki loop. Tugas B tidak dapat bergantung pada Tugas A jika Tugas A juga bergantung pada Tugas B. Ini memastikan bahwa alur kerja Anda memiliki awal dan akhir yang jelas dan tidak berjalan selamanya dalam lingkaran.
DAG adalah cara yang sempurna untuk merepresentasikan alur kerja kompleks secara visual dan terprogram. Ini dengan jelas mendefinisikan urutan operasi dan tugas mana yang dapat berjalan secara paralel.
Tugas dan Operator
Tugas adalah unit kerja tunggal dalam pipeline—langkah atom terkecil. Contohnya termasuk mengekstrak data dari API, menjalankan kueri SQL, atau mengirim email. Di banyak alat, tugas dibuat menggunakan Operator, yang merupakan template siap pakai untuk tindakan umum. Misalnya, alih-alih menulis kode Python untuk menghubungkan ke database PostgreSQL setiap saat, Anda dapat menggunakan `PostgresOperator` dan cukup menyediakan kueri SQL Anda.
Alur Kerja
Alur Kerja (atau Pipeline) adalah kumpulan tugas lengkap, yang didefinisikan sebagai DAG, yang menyelesaikan tujuan bisnis yang lebih besar. Contoh perhitungan ROI dari sebelumnya adalah satu alur kerja yang terdiri dari banyak tugas.
Dependensi
Dependensi mendefinisikan hubungan antar tugas. Tugas yang harus berjalan setelah tugas lain disebut tugas hilir. Tugas yang menjadi rujukannya adalah tugas hulu. Orkestrator modern memungkinkan Anda mendefinisikan aturan dependensi yang kompleks, seperti "jalankan tugas ini hanya jika semua tugas hulu berhasil" atau "jalankan tugas pembersihan ini jika ada tugas hulu yang gagal."
Idempotensi: Kunci Keandalan
Idempotensi adalah prinsip penting, namun sering terlewatkan. Tugas yang idempoten adalah tugas yang dapat dijalankan berkali-kali dengan input yang sama dan akan selalu menghasilkan output yang sama, tanpa menyebabkan efek samping yang tidak diinginkan. Misalnya, tugas yang berjalan kembali dan menyisipkan baris duplikat ke dalam tabel bukan idempoten. Tugas yang menggunakan pernyataan `INSERT OVERWRITE` atau `MERGE` untuk memastikan keadaan akhir sama, terlepas dari berapa kali tugas itu dijalankan, adalah idempoten. Merancang tugas yang idempoten sangat penting untuk membangun pipeline yang andal, karena memungkinkan Anda menjalankan kembali tugas yang gagal dengan aman tanpa merusak data Anda.
Backfilling dan Re-runs
Kebutuhan bisnis berubah. Bagaimana jika Anda menemukan bug dalam logika transformasi Anda dari tiga bulan lalu? Anda memerlukan kemampuan untuk backfill—yaitu, menjalankan kembali pipeline Anda untuk periode historis guna memperbaiki data. Alat orkestrasi menyediakan mekanisme untuk memicu dan mengelola backfill ini secara sistematis, sebuah proses yang akan sangat menyakitkan dengan cron jobs sederhana.
Fitur Utama Alat Orkestrasi Modern
Saat mengevaluasi platform orkestrasi, beberapa fitur utama membedakan penjadwal dasar dari sistem yang kuat dan siap pakai perusahaan.
Skalabilitas & Paralelisme
Orkestrator modern harus mampu diskalakan seiring pertumbuhan data dan kompleksitas Anda. Ini melibatkan menjalankan beberapa tugas secara paralel di seluruh kluster worker. Ini harus mengelola sumber daya secara cerdas untuk memastikan pipeline berprioritas tinggi mendapatkan daya pemrosesan yang mereka butuhkan tanpa diblokir oleh pekerjaan yang kurang kritis.
Observabilitas & Pemantauan
Anda tidak dapat mengelola apa yang tidak dapat Anda lihat. Fitur observabilitas penting meliputi:
- Logging Terpusat: Akses log dari semua eksekusi tugas di satu tempat.
- Metrik: Lacak indikator kinerja utama seperti durasi tugas, tingkat keberhasilan/kegagalan, dan pemanfaatan sumber daya.
- Peringatan: Beri tahu tim secara proaktif melalui email, Slack, PagerDuty, atau saluran lain ketika pipeline gagal atau berjalan lebih lama dari yang diharapkan.
- UI untuk Visualisasi: Antarmuka pengguna grafis untuk melihat struktur DAG, memantau status eksekusi alur kerja secara real-time, dan memeriksa log.
Generasi Pipeline Dinamis
Di banyak organisasi besar, pipeline mengikuti pola yang serupa. Alih-alih membuat ratusan DAG serupa secara manual, alat modern memungkinkan Anda menghasilkannya secara dinamis. Anda dapat menulis kode yang membaca file konfigurasi (misalnya, file YAML atau JSON) dan secara otomatis membuat pipeline baru untuk setiap entri, secara dramatis mengurangi kode boilerplate dan meningkatkan pemeliharaan.
Ekstensibilitas & Integrasi
Ekosistem data beragam. Orkestrator hebat tidak mencoba melakukan semuanya sendiri; ia unggul dalam menghubungkan ke sistem lain. Ini dicapai melalui pustaka penyedia atau integrasi yang kaya yang memudahkan interaksi dengan database (PostgreSQL, MySQL), data warehouse (Snowflake, BigQuery, Redshift), layanan cloud (AWS S3, Google Cloud Storage), kerangka kerja pemrosesan data (Spark, dbt), dan banyak lagi.
Keamanan & Kontrol Akses
Pipeline data seringkali menangani informasi sensitif. Keamanan tingkat perusahaan tidak bisa ditawar. Ini termasuk:
- Manajemen Rahasia: Menyimpan kredensial, kunci API, dan rahasia lainnya dengan aman, daripada menyematkannya dalam kode pipeline Anda. Integrasi dengan layanan seperti AWS Secrets Manager, Google Secret Manager, atau HashiCorp Vault adalah fitur utama.
- Kontrol Akses Berbasis Peran (RBAC): Mendefinisikan izin granular untuk pengguna dan tim yang berbeda, memastikan bahwa pengguna hanya dapat melihat, memicu, atau mengedit pipeline yang mereka izinkan untuk diakses.
Memilih Alat Orkestrasi yang Tepat: Perspektif Global
Pasar alat orkestrasi sangat hidup, dengan beberapa pilihan yang sangat baik. Alat "terbaik" sepenuhnya bergantung pada keterampilan tim Anda, infrastruktur, skala, dan kasus penggunaan spesifik. Berikut adalah rincian pesaing utama dan kerangka kerja untuk membuat keputusan.
Layanan Mandiri vs. Layanan Terkelola
Poin keputusan utama adalah apakah akan menghosting orkestrator sendiri atau menggunakan layanan terkelola dari penyedia cloud.
- Layanan Mandiri (misalnya, Apache Airflow sumber terbuka di server Anda sendiri): Menawarkan fleksibilitas dan kontrol maksimum tetapi membutuhkan overhead operasional yang signifikan. Tim Anda bertanggung jawab atas pengaturan, pemeliharaan, penskalaan, dan keamanan.
- Layanan Terkelola (misalnya, Amazon MWAA, Google Cloud Composer, Astronomer): Mengabstraksi manajemen infrastruktur. Anda membayar premi, tetapi tim Anda dapat fokus pada penulisan pipeline daripada mengelola server. Ini seringkali merupakan pilihan yang disukai untuk tim yang ingin bergerak cepat dan tidak memiliki sumber daya DevOps khusus.
Pemain Utama di Pasar
1. Apache Airflow
Standar Industri: Airflow adalah raksasa sumber terbuka dari orkestrasi data. Ini memiliki komunitas besar, pustaka penyedia yang luas, dan teruji di ribuan perusahaan di seluruh dunia. Filosofi intinya adalah "pipeline sebagai kode," dengan DAG yang didefinisikan dalam Python.
Terbaik untuk: Tim yang membutuhkan solusi matang, sangat dapat diperluas, dan dapat disesuaikan serta merasa nyaman dengan kurva belajar yang lebih curam dan kompleksitas operasionalnya.
2. Prefect
Penantang Modern: Prefect dirancang untuk mengatasi beberapa kekurangan Airflow yang dirasakan. Ia menawarkan API Python yang lebih modern, dukungan kelas satu untuk alur kerja dinamis, dan pemisahan yang lebih jelas antara definisi alur kerja dan lingkungan eksekusinya. Sering dipuji karena pengalaman yang ramah pengembang.
Terbaik untuk: Tim yang memprioritaskan produktivitas pengembang, membutuhkan pipeline dinamis dan terparameter, serta menghargai desain yang modern dan bersih. Tim ilmu data dan ML sering beralih ke Prefect.
3. Dagster
Orkestrator Sadar Data: Dagster mengambil pendekatan yang berbeda dengan menjadi "sadar data." Ia berfokus tidak hanya pada eksekusi tugas tetapi juga pada aset data yang dihasilkannya. Ia memiliki fitur yang kuat untuk kualitas data, katalog, dan keturunan yang tertanam dalam intinya, menjadikannya alat yang ampuh bagi organisasi yang ingin membangun platform data yang lebih holistik dan andal.
Terbaik untuk: Organisasi yang ingin mengintegrasikan orkestrasi secara erat dengan tata kelola data, pengujian, dan observabilitas. Ini sangat baik untuk membangun platform data yang kompleks dan penting.
4. Solusi Cloud-Native
Penyedia cloud besar menawarkan layanan orkestrasi mereka sendiri:
- AWS Step Functions: Orkestrator tanpa server yang unggul dalam mengoordinasikan layanan AWS. Ia menggunakan definisi mesin status berbasis JSON dan sangat baik untuk arsitektur berbasis peristiwa tanpa server.
- Azure Data Factory: Layanan ETL dan orkestrasi visual, tanpa kode/rendah kode di Microsoft Azure. Ini kuat bagi pengguna yang lebih memilih antarmuka grafis untuk membangun pipeline.
- Google Cloud Workflows: Orkestrator tanpa server yang mirip dengan AWS Step Functions, yang dirancang untuk mengoordinasikan layanan di dalam ekosistem Google Cloud.
Terbaik untuk: Tim yang sangat berinvestasi dalam satu ekosistem cloud yang perlu mengorkestrasi layanan terutama di dalam taman bertembok penyedia tersebut.
Kerangka Kerja Kriteria Keputusan
Ajukan pertanyaan-pertanyaan ini untuk memandu pilihan Anda:
- Keterampilan Tim: Apakah tim Anda kuat dalam Python? (Mendukung Airflow, Prefect, Dagster). Apakah mereka lebih suka GUI? (Mendukung Azure Data Factory). Apakah Anda memiliki keterampilan DevOps/rekayasa platform yang kuat? (Memungkinkan hosting mandiri).
- Kompleksitas Kasus Penggunaan: Apakah alur kerja Anda sebagian besar ETL statis? (Airflow sangat baik). Apakah mereka dinamis dan didorong parameter? (Prefect bersinar). Apakah Anda membangun platform data lengkap dengan keturunan dan pemeriksaan kualitas? (Dagster adalah pesaing kuat).
- Ekosistem: Penyedia cloud mana yang Anda gunakan? Meskipun alat seperti Airflow dapat bersifat multi-cloud, solusi cloud-native menawarkan integrasi yang lebih erat.
- Skala dan Biaya: Layanan terkelola lebih mudah tetapi bisa menjadi mahal pada skala besar. Hosting mandiri memiliki biaya operasional yang lebih tinggi tetapi potensi biaya infrastruktur yang lebih rendah. Modelkan perkiraan penggunaan Anda.
- Komunitas dan Dukungan: Seberapa penting komunitas aktif yang besar untuk pemecahan masalah (kekuatan Airflow) versus dukungan perusahaan berbayar (ditawarkan oleh layanan terkelola dan perusahaan seperti Astronomer, Prefect, dan Elementl)?
Implementasi Praktis: Cetak Biru Tingkat Tinggi
Terlepas dari alatnya, proses membangun pipeline yang terorkestrasi mengikuti pola yang konsisten. Berikut adalah cetak biru langkah demi langkah.
Langkah 1: Definisikan Tujuan Bisnis
Mulailah dengan 'mengapa'. Pertanyaan apa yang ingin Anda jawab atau proses apa yang ingin Anda otomatiskan? Contoh: "Kami memerlukan laporan harian penjualan produk, yang diperkaya dengan data wilayah pengguna, untuk dikirimkan ke dasbor tim penjualan pada pukul 9 pagi waktu setempat."
Langkah 2: Petakan Alur Data
Gambarkan perjalanan data di papan tulis. Identifikasi setiap sistem sumber, setiap langkah transformasi, dan setiap tujuan akhir (sink).
- Sumber: Database produksi (PostgreSQL), CRM (Salesforce), platform iklan (Google Ads).
- Transformasi: Gabungkan tabel, agregasikan data, filter untuk wilayah tertentu, bersihkan bidang teks.
- Sink: Data warehouse (Snowflake), alat BI (Tableau), file CSV di bucket penyimpanan cloud (AWS S3).
Langkah 3: Pecah Menjadi Tugas Atomik
Uraikan peta alur data menjadi unit kerja sekecil mungkin. Setiap unit harus melakukan satu hal dan melakukannya dengan baik. Ini membuat debugging dan pemutaran ulang menjadi jauh lebih mudah.
- `ekstrak_data_penjualan`
- `muat_data_penjualan_ke_staging`
- `ekstrak_data_pengguna`
- `muat_data_pengguna_ke_staging`
- `transformasi_dan_gabungkan_data_staging`
- `muat_laporan_akhir_ke_warehouse`
- `refresh_dasbor_tableau`
- `kirim_notifikasi_sukses`
Langkah 4: Tentukan Dependensi (Bangun DAG)
Sekarang, hubungkan tugas-tugasnya. Menggunakan sintaks alat pilihan Anda, tentukan hubungan hulu dan hilir. Misalnya, `transformasi_dan_gabungkan_data_staging` harus menjadi hilir dari `muat_data_penjualan_ke_staging` dan `muat_data_pengguna_ke_staging`.
Langkah 5: Kodekan Tugas-Tugasnya
Tulis kode yang melakukan pekerjaan untuk setiap tugas. Di sinilah Anda akan menulis fungsi Python, skrip SQL, atau panggilan API Anda. Targetkan idempotensi dan modularitas.
Langkah 6: Konfigurasikan dan Sebarkan Alur Kerja
Tentukan metadata alur kerja:
- Jadwal: Kapan harus dijalankan? (misalnya, setiap hari pukul 01:00 UTC).
- Percobaan Ulang: Berapa kali tugas yang gagal harus dicoba ulang, dan dengan penundaan berapa?
- Peringatan: Siapa yang diberitahu jika gagal?
- Batas Waktu: Berapa lama tugas diizinkan berjalan sebelum dianggap gagal?
Kemudian, sebarkan definisi ini ke lingkungan orkestrasi Anda.
Langkah 7: Pantau, Iterasi, dan Optimalkan
Orkestrasi bukanlah aktivitas "atur dan lupakan". Gunakan UI alat dan fitur observabilitas untuk memantau kesehatan pipeline. Seiring perubahan kebutuhan bisnis atau sumber data, Anda perlu mengulang DAG Anda. Terus cari hambatan kinerja dan peluang untuk optimalisasi.
Praktik Terbaik untuk Orkestrasi Pipeline yang Kuat
Membangun pipeline yang andal dan dapat dipelihara membutuhkan disiplin. Mematuhi praktik terbaik akan menghemat waktu investigasi masalah yang tak terhitung jumlahnya.
Perlakukan Pipeline sebagai Kode
Definisi pipeline Anda adalah artefak perangkat lunak penting. Simpan dalam sistem kontrol versi seperti Git. Tinjau perubahan melalui pull request. Ini memberikan riwayat, kolaborasi, dan mekanisme rollback.
Buat Tugas Idempoten
Ini tidak bisa cukup ditekankan. Rancang tugas Anda sehingga dapat dijalankan kembali tanpa menyebabkan masalah. Ini membuat pemulihan kegagalan menjadi sederhana dan aman.
Implementasikan Penanganan Kesalahan Komprehensif
Jangan biarkan pipeline gagal secara diam-diam. Konfigurasikan peringatan terperinci yang sampai ke orang yang tepat. Implementasikan callback on-failure yang dapat melakukan tindakan pembersihan, seperti menghapus file sementara.
Parameterisasi Pipeline Anda
Hindari menyematkan nilai seperti tanggal, jalur file, atau nama server. Gunakan variabel dan parameter. Ini membuat pipeline Anda fleksibel dan dapat digunakan kembali. Misalnya, satu pipeline dapat dijalankan untuk negara yang berbeda dengan meneruskan kode negara sebagai parameter.
Amankan Rahasia Anda
Gunakan backend rahasia khusus yang terintegrasi dengan orkestrator Anda. Jangan pernah memasukkan kata sandi atau kunci API ke repositori Git Anda.
Optimalkan untuk Biaya dan Kinerja
Pantau durasi tugas. Tugas yang memakan waktu berjam-jam mungkin memerlukan optimalisasi atau paralelisasi. Jika Anda menjalankan di cloud, perhatikan sumber daya yang dikonsumsi tugas Anda untuk mengelola biaya secara efektif.
Dokumentasikan Semuanya
Tambahkan komentar ke kode Anda dan berikan deskripsi yang jelas untuk setiap DAG dan tugas. Dokumentasi yang baik sangat berharga bagi anggota tim baru dan bagi diri Anda di masa depan ketika Anda perlu men-debug masalah berbulan-bulan kemudian.
Masa Depan Orkestrasi Data
Bidang orkestrasi data terus berkembang. Beberapa tren utama membentuk masa depannya:
- Arsitektur Berbasis Peristiwa: Bergerak melampaui jadwal berbasis waktu untuk memicu pipeline berdasarkan peristiwa dunia nyata, seperti file baru yang mendarat di bucket penyimpanan atau catatan baru yang dibuat dalam database.
- Integrasi dengan Data Mesh: Seiring semakin banyak organisasi mengadopsi prinsip-prinsip Data Mesh yang terdesentralisasi, orkestrasi akan memainkan peran kunci dalam mengelola dependensi dan perjanjian tingkat layanan (SLA) antar produk data yang berbeda yang dimiliki oleh domain yang berbeda.
- Optimalisasi Berbasis AI: Penggunaan pembelajaran mesin untuk memprediksi kegagalan pipeline, menyarankan optimalisasi kinerja, dan bahkan melakukan self-healing dengan secara otomatis menyelesaikan masalah umum.
- Meta-Orkestrasi: Di perusahaan besar yang kompleks, kita melihat munculnya "orkestrasi orkestrator"—bidang kontrol tingkat yang lebih tinggi yang mengelola alur kerja yang mencakup beberapa alat dan lingkungan cloud.
Kesimpulan: Dari Kekacauan Menuju Kendali
Otomatisasi data melalui orkestrasi pipeline adalah tulang punggung dari setiap organisasi modern yang didorong oleh data. Ini mengubah kumpulan skrip yang berbeda menjadi pabrik data yang andal, dapat diskalakan, dan dapat diamati. Dengan memahami prinsip-prinsip inti DAG, tugas, dan dependensi, mengevaluasi alat yang tepat untuk tim global Anda dengan cermat, dan mematuhi praktik terbaik rekayasa, Anda dapat membangun platform data yang kuat yang mengubah data mentah menjadi aset strategis.
Perjalanan dari manipulasi data manual ke orkestrasi otomatis adalah perjalanan yang signifikan, tetapi imbalannya—dalam hal efisiensi, keandalan, dan kemampuan untuk membuka wawasan yang lebih dalam—sangat besar. Ini adalah disiplin penting yang menyediakan kendali dan harmoni yang diperlukan untuk mengkonduksi simfoni data yang mendukung perusahaan global modern.