Anda di halaman 1dari 50

STAGING DATA AREA

ETL
(Extract – Transform – Load)

UNIVERSITAS ISLAM NUSANTARA


Staging Data Area
• Area penyimpanan perantara yang
digunakan untuk pemprosesan data
selama proses ektraksi, transformasi,
dan pemuatan (ETL)
• Bersifat sementara, konten dihapus
sebelum/setelah menjalankan proses
ETL berhasil dijalankan
• Jika bertujuanuntuk pengarsipan atau
pemecahan masalah, maka DSA dapat
dirancang unutuk menyimpan data
Tujuan ETL
Fungsi ETL adalah membentuk data relevan dari sumber-sumber
system menjadi informasi yang berguna untuk disimpan dalam data
warehouse.

Tanpa ada fungsi ini, maka data warehouse tidak memiliki informasi
strategis.
ETL menjalankan proses ekstraksi sumber data agar sesuai persyaratan,
bersih, dan terintergasi dalam format yang sesuai,untuk pemprosesan
query, dan membentuk backbone data warehouse.
ETL
Data akan bergerak dari sumber ke database sumber target data
Fokus: Menyiapkan data untuk peraporan / Analisis

ETL = Extract -> Transform -> Load

• Extract: Menarik data dari sumber data seefisien mungkin


• Transform: Menjalankan kalkulasi / pemetaan data/ dan
membersihkan data
• Load: Mengirimkan/memuatkan data ke penyimpanan target
Ekstrak Transform Load - ETL
Extract Transform Load
& Clean

Sources DSA DW
TAHAP-TAHAP UTAMA PROSES ETL

ETL untuk tabel fact


ETL untuk Tabel dimensi
Tuliskan prosedur untuk semua pemuatan data
Organisasikan data staging area dan alat pengujian
Rencanakan tabel agregat
Menentukan aturan transformasi dan cleansing data
Membentuk aturan komprehensif ekstraksi data
Siapkan pemetaan antara target data dari sumber data
Tentukan semua sumber data, baik internal maupun eksternal
Tentukan semua target data yang dibutuhkan dalam data warehouse
Jenis aktifitas dan tugas yang menyusun proses
ETL
• Pisahkan satu struktur sumber kedalam beberapa struktur untuk dikirimkan ke beberapa
rows dari database target
• Membaca data dari kamus dan katolog data system sumber
• Membaca cata dari berbagai struktur file termasuk flat files, indexed file, dan system
database legacy (hierarchical/network)
• Memuatkan detail untuk mempopulasi atomic tabel fakta/fact
• Mentransformasi data dari satu format yang ber asal dari platform sumber ke format lain
dalam platform target
• Menurunkan nilai target untuk filed input (contoh: umur dari tanggal lahir).
• Mengubah nilai cryptic (nilai referensi) ke nilai yang berarti untuk pengguna (contoh: 1
dan 2 untuk laki-laki dan perempuan).
PENARIKAN/EKTRASI DATA
DATA EXTRACTION
EKSTRASI DATA
• Untuk upgrade system operasional, yang dibutuhkan adalah
ekstraksi satu kali dan konversi data

• Untuk data warehouse, harus mengekstrak (peningkatan


kompleksitas, perangkat 3rd party):
• Data dari berbagai sumber berbeda.
• Data yang berubah saat berjalan pemuatan bertahap, seperti
untuk full load awal satu kali.
Daftar permasalahan ekstraksi data
• Identifikasi sumber —mengidentifikasi aplikasi dan struktur sumber
• Metode ekstraksi — untuk setiap sumber data, didefinisikan baik untuk proses
ekstraksi manual ataupun menggunakan perangkat
• Frekuensi Ekstraksi — untuk setiap sumber data, dibangun seberapa sering
ekstraksi data harus dilakukan, harian, mingguan, dan seterusnya.
• Time window—untuk setiap sumber data, for each data source, tentukan jeda
waktu untuk proses ekstraksi.
• Urutan kerja — menentukan apakah awal suatu pekerjaan dalam aliran ekstraksi
harus menunggu sampai pekerjaan sebelumnya telah berhasil selesai dijalankan.
• Penanganan Exception — menentukan bagaimana menangani input record yang
tidak dapat diekstraksi
IDENTIFIKASI SUMBER : Tahapan
SOURCE PROSES IDENTIFIKASI SUMBER
TARGET
• daftar setiap item data metrik atau fact
Order yang dibutuhkan untuk analisis dalam Product Data
processing tabel fact
• daftar setiap atribut dimensi dari semua
dimensi Customer
Customer • untuk setiap item data terget, temukan
sistem dan data item sumber
• apabila terdapat satu data elemen yang Delivery
Product berasal dari berbagai sumber, pilih salah Channel Data
satu sumber yang dikehendaki
• identifikasi berbagai filed sumber untuk
Dilivery Disposition Data
Contracts satu field target dan bentuk aturan
konsolidasinya
• identifikasi salah satu field sumber untuk
Shiptment Time Data
Tracking berbagai field target dan membangun
aturan pemisahannya
• pastikan nilai default
Inventroy • Periksa sumber data untuk nilai yang Order Metrics
Mgmt.
hilang
Data Dalam Sistem Operasional
Dua kategori:
• Current Value. (sebagian besar atribut), nilai dari atribut akan tetap
nilainya sampai transaksi bisnis mengubahnya. Ekstraksi data untuk
menyimpan riwayat perubahan data dalam data warehouse
digunakan untuk kategori data ini.
• Periodic Status (kategori ini tidak umum digunakan). Riwayat
perubahan di simpan dalam sumber system itu sendiri. Sehingga
mempermudah data ekstraksi.
DATA DALAM
SISTEM
OPERAIONAL
Data dalam Sistem Operasional
• Saat mendeploy data warehouse, data awal pada waktu tertentu
harus dipindahkan ke dalam data warehouse untuk memulai proses
(load awal)
• Setelah load awal, data warehouse harus selalu diupdate sehingga
riwayat perubahan dan status dapat terefleksi dalam data warhouse.
Terdapat dua jenis ekstraksi data dari sumber system operasional :
• “as is” (static) data
• revisi/perubahan data.
Data dalam System Osperasional.
• “As is” atau data static adalah potret sumber data yang relevan pada
suatu waktu

• Revisi/perubahan Data disebut juga pengambilan perubahan data.


Rekaman perubahan data dapat bersifat segera atau bersifat
ditunda/deferred.
Pilihan perekaman data tunda
• Immediate Data Extraction.
• Diperoleh melalui Transaction Logs.
• Diperoleh melalui Database Triggers.
• Diperoleh dalam aplikasi sumber.

• Deferred Data Extraction.


• Diperoleh berdasarkan Date and Time Stamp.
• Diperoleh dengan membandingkan file.
IMMEDIATE
DATA
EXTRACTION
Date Extraction :
menggunakan
teknologi replikasi
Pengambilan data melalui trigger database
• Pengambilan data melalui trigger database dilakukan pada sumber
dan cukup realible
• Pengambilan data sebelum atau setelah perekaman
• Membangun dan merawat program trigger memberikan beban
tambahan dalam pengembangan
• Eksekusi prosedur trigger selama proses transaksi system sumber
memberikan tambahan overhead pada system sumber.
• Opsi-opsi ini dapat diterapkan hanya untuk sumber data dalam
database
DEFERRED DATA
EXTRACTION
Pengambilan data berdasarkan Date and Time
Stamp

• Penghapusan record sumber memunculkan permasalahan khusus.


Apabila record sumber dihapus antara dua proses penarikan,
informasi mengenai penghapusan tidak akan terditeksi
• Hal ini bisa diselesaikan dengan cara menandai record sumber untuk
dihapus terlebih dahulu, lakukan proses ekstraksi, lalu lanjutkan
penghapusan secara fisik.
• Menambahkan logic proses pada aplikasi sumber
Pengambilan data dengan membandingkan
file

Teknik ini juga disebut teknik diferensial snapshot karena


membandingkan dua snapshot dari data sumber.
TEKNIK PEMBILAN DATA : KEUNTUNGAN DAN KERUGIAN
TRANSFORMASI DATA
TRANSFORMASI DATA
• Data yang diekstraksi adalah data mentah dan tidak dapat langsung
dipakai oleh data warehouse

• Semua data yang diekstraksi harus memiliki kemanfaatan dalam data


warehouse
Kualitas Data
• Upaya utama dalam transformasi data adalah peningkatan kualitas
data.
• Termasuk menangani mengisi nilai yang hilang untuk atribut-atribut
data yang diekstraksi
• Kualitas data merupakan hal penting dalam data warehouse karena
memiliki dampak strategis dalam representasi informasi dan
pengambilan keputusan
Tugas Utama dalam Transformasi Data
• Selection – awal seluruh proses dari tranfromasi data, memilih apakah semua
record atau bagian dari sebagian record dari system sumber.
• Splitting/joining –manipulasi/pengolahan data perlu dijalankan terhadap record
sumber yang ditentukan. Kadangkala (tidak umum), perlu dipisahkan beberapa
bagian selama proses transformasi. Menggabungkan beberapa bagian yang
ditentukan dari beberapa system sumber akan menghasilkan data yang lebih
besar dalam lingkungan data warehouse
• Conversion – mencakup berbagai macam konversi dasar kolom, karena dua
rasional utama yaitu (1) untuk menstandarkan ekstraksi data dari sistem sumber
yang berbeda, dan (2) untuk membuat kolom yang dapat digunakan dan
dipahami oleh pengguna.
Tugas Utama dalam Transformasi Data (2)

• Summarization. Terkadang tidak fisible untuk menyimpan data pada tingkat


detail terendah pada data warehouse. Hal ini dikarenakan tidak ada pengguna
yang membutuhkan data dengan perincian terendah untuk analisis atau query.

• Enrichment – penataan ulang dan penyederhanaan setiap field agar lebih


berguna untuk lingkungan data warehouse. Hal ini dapat menggunakan satu atau
lebih field dari record yang sama untuk membuat tampilan data yang lebih baik
pada data warehouse. Prinsip ini dapat diperluas ketika satu atau lebih field
berasal dari beberapa record, menghasilkan satu field untuk data warehouse.
Jenis Transformasi Utama
• Revisi Format
• Decoding Field
• Perhitungan dan penurunan nilai.
• Memisahkan satu field
• Menggabungkan informasi
• Konversi sekumpulan karakter
• Konversi satuan pengukuran
• Konversi Date/Time.
• Peringkasan.
• Restrukturisasi kunci
• Deduplikasi.
DATA TRANSFORMASI : RESTRUKTURISASI KUNCI
Integrasi dan Konsolidasi Data

• Entity Identification Problem


• Multiple Sources Problem
Entity Identification Problem
• Bila kita memiliki tiga aplikasi legasi berbeda yang telah dikembangkan organisasi/perusahaan di
waktu yang berbeda pada masa lalu, kita akan berpotensi memiliki tiga file konsumen yang
berbeda yang ditangani system-system tersebut.
• Setiap konsumen yang sama pada masing-masing file dapat memiliki nilai identifikasi yang unik
• Nilai identifikasi unik setiap konsumen mungkin akan tidak sama nilainya untuk ketiga system
tersebut

Solusi : algoritma kompleks harus dirancang untuk menyesuaikan record dari ketiga file dan
membentuk kelompok dari record yang cocok. Tidak ada algoritma kecocokan yang dapat secara
lengkap menentukan kelompok. Apabila kriteria kecocokan terlalu ketat, maka record akan keluar
dari group, sebaliknya apabila kreteria kecocokan terlalu longgar, suatu kelompok dapat
memasukan lebih dari satu konsumen
Multiple Sources Problem
• Satu elemen data memiliki lebih dari satu sumber.
• Solusi langsung adalah dengan menetapkan prioritas yang lebih tinggi
pada satu dari dua sumber, dan mengambil unit cost produk dari
sumber tersebut. Kadangkala, solusi langsung seperti ini tidak sesuai
dengan kebutuhan pengguna data warehouse. Kita harus memilih file
berdasarkan tanggal update terakhir, atau untuk beberapa situasi,
menentukan sumber yang sesuai tergantung filed lain yang
berhubungan.
DATA LOADING
Pemuatan/Loading data
• Pemuatan data mengambil data yang telah disiapkan, dan
menerapkan dan menyimpannya dalam data warehouse
• Terminologi:
• Initial Load — mengisi semua tabel pada tabel data warehouse untuk
pertama kali
• Incremental Load — menerapkan perubahan yang berjalan secara periodic
• Full Refresh —menghapus seluruh isi satu atau lebih tabel dan memuat ulang
data baru (initial load adalah refresh semua tabel dalam tabel)
Menerapkan data: Teknik dan proses

• load,
• append,
• Destructive merge,
• constructive merge.
Load
• Apabila tabel target yang akan dimuatkan telah ada, dan telah
memiliki data didalamnya, proses load akan menghapus seluruh data
yang ada, dan menerapkan data dari file yang datang.
• Apabila tabel telah kosong sebelum di muatkan, proses pemuatan
data dilakukan langsung dari file yang datang
Mode Penerapan data
Append
• Penambahan/extension dari pemuatan
• Apabila data telah ada dalam table, proses penambahan dilakukan
secara langsung terhadap data yang datang, dengan
mempertahankan data yang ada pada tabel target.
• Apabila record yang datang duplikasi dengan record yang telah ada,
kita dapat mendefinisikan bagaimana untuk menangani duplikasi data
yang datang:
• Record yang datang dapat ditambahkan sebagai duplikat
• Opsi lainnya, record duplikat yang datang ditolak sepanjang proses penambahan
Mode penerapan data
Destructive Merge
• Menerapkan data yang datang pada target data
• Apabila primary key dari record yang datang sesuai dengan key record
yang ada, maka akan dilakukan update record yang sesuai tersebut
• Apabila record yang datang merupakan record baru tidak sama
dengan record yang ada, maka dilakukan penambahan record pada
target tabel
Model penerapan data
Constructive Merge
• Sedikit berbeda dengan destructive merge
• Apabila primary key dari record yang datang sesuai dengan key record
yang ada, maka record tersebut akan dibiarkan dan menambahkan
record baru dengan memberi tanda (mark) sebagai record
supercending dari record lama.
Model perapan data
Opsi perangkat ETL
• Mesin transformasi data
• Memperoleh data melalui replikasi
• Generator Kode
Mesin transformasi data
• Terdiri dari algoritma pengolahan/manipulasi data yang dinamis dan rumit
• Perangkat ini mengambil data dari sekumpulan system sumber pada interval yang
didefinisikan, menjalankan transformasi data secara terperinci, mengirimkan hasil
pada lingkungan target, dan merapkan data pada file target
• Perangkat tersebut memberikan fleksibiltas untuk mengarahkan berbagai system
sumber, memilih metode yang sesuai untuk transformasi data, dan menerapkan
pemuatan penuh dan pemuatan bertahap
• Fungsionalitas perangkat tersebut meliputi seluruh proses ETL
Memperoleh data melalui replikasi

• Sebagian besar perangkat tersebut menggunakan transaction


recovery logs yang dijaga oleh DBMS
• Perubahan dalam system sumber yang ditangkap ke dalam log
transaksi akan direplikasi secara hampir real time pada data staging
area untuk pemprosesan lebih lanjut
• Beberapa perangkat memberikan kemampuan untuk mereplikasi data
melalui penggunaan trigger database. Trigger ini secara khusus
menyimpan prosedur dalam database yang akan mengirimkan sinyal
pada agen replikasi untuk menangkap dan mengirimkan perubahan.
Generator kode
• Perangkat ini secara langsung menangani ekstraksi, transformasi, dan pemuatan
data.
• Perangkat akan memproses dengan membentuk kode program yang menjalankan
fungsi-fungsi tersebut.
• Generator kode membentuk 3GL/4GL program ekstraksi dan transformasi data
• Perangkat membentuk sebagian besar kode program dalam Bahasa
pemrograman umum
• Pemilik kode program dapat menambahkan kode tertentu untuk menangani
kondisi yang diinginkan,
• Perangkat secara otomatis menjalankan kode yang telah ada, namun dapat juga
mengelola kode yang ditambahkan untuk menangani kondisi tertentu.
Peran ETL
TERIMA KASIH

Anda mungkin juga menyukai