10 terminologi di bidang data engineering yang harus kalian ketahui
Ketika saya pertama kali memulai perjalanan di bidang Data Engineering, saya merasa kewalahan dengan berbagai terminologi dan konsep yang ada. Data Engineering merupakan bidang yang kompleks dan menantang untuk digeluti dan dikerjakan. Dan saya membutuhkan waktu yang cukup lama untuk memahami terminologi dan konsep yang ada. Di artikel ini, saya akan membagikan 10 terminologi dasar yang menurut saya penting untuk diketahui oleh setiap pemula di bidang Data Engineering.
1. Data Pipeline
Pada umumnya, data pipeline menggambarkan aliran atau pergerakan data di dalam organisasi Anda. Data pipeline berisikan langkah-langkah yang Anda lakukan mulai dari mendapatkan data mentah dari berbagai sumber, memprosesnya, hingga mengirimkannya ke tujuan seperti data lake atau data warehouse untuk tujuan analitik.
2. Database, Schema, dan Table
Database adalah kumpulan terstruktur dari data yang terorganisir secara elektronik. Ini mencakup satu atau lebih tabel, indeks, relasi, dan objek lainnya yang berisi informasi terkait yang disimpan dalam format yang dapat diakses dan dikelola.
Schema adalah struktur logis yang mendefinisikan bagaimana data akan diorganisir dan disimpan dalam sebuah database. Ini mencakup definisi tabel, kolom, hubungan antartabel, aturan integritas, dan objek lainnya yang menentukan struktur dan batasan data yang akan disimpan dalam database.
Tabel adalah entitas dasar dalam sebuah database yang mengorganisir data dalam bentuk baris dan kolom. Setiap tabel terdiri dari kolom yang mewakili atribut atau jenis data yang disimpan, dan baris yang berisi nilai-nilai yang sesuai untuk masing-masing atribut.
3. ETL dan ELT
ETL adalah singkatan dari Extract, Transform, Load. Pada pendekatan ETL, data pertama-tama diekstrak dari berbagai sistem sumber, kemudian diubah atau dibersihkan sesuai dengan aturan bisnis dan model data yang telah ditentukan, dan akhirnya dimuat ke sistem tujuan, seperti data warehouse. Tahap transformasi melibatkan penerapan pembersihan data, validasi, agregasi, pengayaan, dan operasi lainnya untuk memastikan kualitas data dan kompatibilitas dengan sistem tujuan.
ELT, di sisi lain, adalah singkatan dari Extract, Load, Transform. Pada pendekatan ELT, data pertama-tama diekstrak dari sistem sumber dan langsung dimuat ke sistem tujuan tanpa transformasi yang ekstensif. Tahap transformasi dilakukan setelah data dimuat ke sistem tujuan, menggunakan kekuatan dan kemampuan pemrosesan sistem tujuan tersebut. Pendekatan ini memanfaatkan keunggulan data warehouse modern dan platform big data, yang mampu mengelola volume data mentah yang besar dan melakukan transformasi dengan efisien.
4. Data Lake, Data Warehouse, dan Data Mart
Data Lake adalah repositori penyimpanan data yang dirancang untuk menampung berbagai jenis data dalam format mentah (raw) dan mentah yang belum diolah. Data Lake memiliki skema fleksibel yang memungkinkan pengumpulan data dari berbagai sumber tanpa melakukan transformasi terlebih dahulu. Pendekatan ini memungkinkan analis dan ilmuwan data untuk melakukan eksplorasi, analisis, dan pemrosesan data yang lebih fleksibel dan lebih luas.
Data Warehouse adalah suatu sistem terpusat yang dirancang untuk mengumpulkan, menyimpan, dan mengelola data dari berbagai sumber yang berbeda. Data dalam Data Warehouse telah melewati tahap transformasi dan pengolahan untuk memastikan konsistensi, kualitas, dan kecocokan dengan skema data yang ditentukan sebelumnya. Tujuan utama Data Warehouse adalah menyediakan data yang terstruktur dan siap untuk digunakan dalam analisis bisnis, pelaporan, dan pengambilan keputusan.
Data Mart adalah subset atau potongan dari Data Warehouse yang disesuaikan untuk mendukung kebutuhan spesifik departemen atau fungsi bisnis dalam organisasi. Data Mart berfokus pada menyediakan data yang relevan dan terkait dengan kebutuhan analitis dari suatu area bisnis tertentu. Biasanya, Data Mart dibangun dengan fokus pada subjek bisnis tertentu seperti penjualan, keuangan, sumber daya manusia, atau area lainnya. Pendekatan ini memungkinkan departemen atau tim fungsional untuk mengakses dan menganalisis data dengan cepat dan efisien tanpa perlu menavigasi seluruh Data Warehouse.
5. Batch dan Stream Processing
Batch Processing adalah pendekatan di mana data diproses dalam kelompok atau blok besar pada interval waktu tertentu. Data yang diterima dikumpulkan dalam waktu tertentu, kemudian diproses secara kolektif dalam satu proses batch. Proses ini dapat melibatkan transformasi, analisis, atau komputasi lainnya tergantung pada kebutuhan. Contoh penggunaan batch processing termasuk pemrosesan data yang berjadwal pada waktu tertentu, seperti laporan harian atau bulanan, pembaruan basis data, atau pengolahan data historis.
Stream Processing melibatkan pemrosesan data secara real-time atau hampir real-time saat data masuk. Data diproses segera setelah diterima atau dalam jendela waktu yang sangat singkat. Pendekatan ini memungkinkan analisis yang lebih cepat dan responsif terhadap data yang terus bergerak dan mengalir. Stream processing biasanya digunakan untuk situasi di mana kecepatan dan kesempatan waktu yang cepat sangat penting, seperti deteksi kejadian atau pemantauan sistem real-time.
6. Data Quality
Data quality merujuk pada keberhasilan data dalam memenuhi persyaratan yang ditetapkan untuk keperluan penggunaannya. Ini mencakup kualitas data secara keseluruhan, termasuk akurasi, ketepatan waktu, kelengkapan, konsistensi, validitas, integritas, dan keandalan.
7. Data Modeling
Data modeling adalah proses merancang dan menggambarkan struktur data serta hubungannya dalam suatu sistem atau aplikasi. Tujuan dari data modeling adalah untuk mengorganisir data secara logis, menyediakan representasi yang jelas tentang entitas, atribut, dan hubungan antara data, serta memastikan konsistensi, keakuratan, dan integritas data. Terdapat 3 tipe data modeling, yaitu: conceptual, logical, and physical data model.
8. Data Orchestration
Data Orchestration mengacu pada proses mengatur dan mengelola aliran data di seluruh sistem dan aplikasi yang terlibat dalam ekosistem data. Ini melibatkan koordinasi dan pengaturan berbagai tugas, operasi, dan alur kerja yang terkait dengan pengumpulan, pemrosesan, transformasi, penyimpanan, dan distribusi data. Beberapa contoh tool untuk data orchestration adalah Apache Airflow, Prefect, dan Mage.
9. Data Lineage
Data Lineage menggambarkan hubungan antara data dari sumbernya hingga penggunaannya dalam berbagai proses dan transformasi. Hal ini dapat membantu kita untuk memahami asal-usul dan perjalanan data sepanjang siklus hidupnya, termasuk bagaimana data diubah, diolah, dan digunakan dalam berbagai aplikasi dan sistem.
10. Git
Git adalah sistem version control yang dirancang untuk melacak perubahan pada kode dalam pengembangan perangkat lunak. Namun, di bidang data engineering, Git dapat kita digunakan untuk mengelola dan melacak perubahan pada artefak engineering, seperti skrip, konfigurasi, dan bahkan data itu sendiri. Git dapat memudahkan data engineer untuk berkolaborasi dengan sesama, memberikan feedback terhadap pekerjaan koleganya, dan melacak perubahan yang dilakukan pada kode.
Dengan menguasai 10 terminologi yang telah dibahas dalam artikel ini, Anda telah mengambil langkah pertama menuju pemahaman yang mendalam di bidang data engineering. Teruslah untuk eksplor dan belajar karena bidang data engineering terus berkembang dan menawarkan peluang tak terbatas. Saya berharap artikel ini telah memberikan wawasan yang berharga dan bermanfaat bagi Anda.