ETL merupakan
sebuah proses penting
yang merupakan bagian dari
Data Warehouse yang
berfungsi untuk mentransfer
data yang ada
pada basisdata transaksi kedalam
basisdata Data Warehouse yang
sudah dimodelkan sedemikian rupa berdasarkan
hypercubes yang dibentuk
berdasarkan laporan -
laporan yang sering
dipakai manajemen tingkat atas.
1) Ekstraksi, Mengambil
data dari sistem
OLTP,
Ekstraksi (Extraction) adalah
operasi ekstraksi data dari sebuah sistem sumber untuk digunakan lebih jauh
dalam lingkungan Data Warehouse. Tahapan ini adalah yang paling pertama dalam
proses ETL. Setelah Ekstraksi, data ini akan ditransformasikan dan di-load ke
dalam Data Warehouse.
Secara Umum
a. Statis, umumnya dilakukan pada saat pemuatan
data awal dan
dilakukan pada saat
sistem OLTP tidak berjalan.
b. Terjadwal,
ada 2 model
pengambilan data terjadwal yaitu
:
a) Berdasarkan
waktu, setiap pengaksesan record basisdata
OLTP ditandai dengan waktu
berupa tanggal dan jam dan secara
terjadwal sebuah aplikasi
program akan dijalankan untuk
mengakses Data Warehouse
berdasarkan perubahan waktu
pada basisdata OLTP.
b) Berdasarkan
perbedaan berkas lama
dan baru, adanya backup
harian terhadap basisdata OLTP,
dan secara terjadwal sebuah aplikasi
program akan dijalankan untuk mengakses
Data Warehouse jika sebuah tabel hari ini dan duplikat tabel
hari sebelumnya berbeda.
c. Seketika,
ada 3 model
pengambilan data seketika yaitu:
a) Dengan
mekanisme log transaksi,
setiap transaksi
insert,update dan delete
terhadap sebuah record, maka
basisdata seketika akan menulis
pada log berkas
yang digunakan untuk mem ilih
transaksi yang telah berhasil
dilaksanakan ( Committ). Logberkas tidak
berlaku jika kita menggunakan sistem data yang menggunakan indeks atau berkas
teks.
b) Dengan
mekanisme basis data
trigger, sama seperti log transaksi pilihan ini hanya untuk sistem
yang menggunakan aplikasi basisdata. Trigger
adalah sebuah program kecil
yang akan dijalankan ketika
sebuah event yang telah didefinisikan terjadi.
c) Dengan
sumber aplikasi, modifikasi program aplikasi
OLTP agar secara seketika mengakses Data Warehouse setiap ada
proses insert,update dan
delete pada sebuah record .
Secara Logical
i.
Ekstraksi Full(Full Extraction)
·
Data diekstrak secara lengkap dari sistem sumber
(OLTP). Ekstraksi ini melibatkan seluruh data yang sedang tersedia dalam sistem
sumber. Sebuah contoh ekstraksi penuh adalah ekspor file dari sebuah tabel yang
berbeda atau kueri remote SQL yang
membaca sumber data lengkap
ii.
Ekstraksi Inkremental (Incremental Extraction)
·
Pada poin waktu tertentu, hanya data yang
memiliki histori data akan diekstrak. Event ini adalah proses ekstraksi yang
dilakukan paling akhir atau sebagai contoh sebuah event bisnis yang komplek
seperti hari booking terakhir dari suatu periode fiskal. Informasi ini juga
dapat disediakan oleh data sumber itu sendiri seperti sebuah kolom aplikasi,
merefleksikan time-stamp perubahan yang paling akhir atau sebuah perubahan
tabel dimana sebuah mekanisme tambahan yang sesuai menjaga track perubahan
selain transaksi yang permulaan. Dalam banyak hal, menggunakan metode ini
berarti menambah logika ekstraksi ke dalam sistem sumber.
Kebanyakan Data Warehouse tidak
menggunakan teknik menangkap perubahan sebagai bagian proses ekstraksi.
Sebaliknya seluruh tabel dari sistem sumber diekstrak ke Data Warehouse atau
staging area, dan tabel-tabel ini dibandingkan dengan yang telah diekstrak
sebelumnya dari sistem sumber untuk mengidentifikasi data yang berubah.
Pendekatan ini boleh jadi tidak memiliki pengaruh yang signifikan terhadap
sistem sumber, namun secara jelas dapat menciptakan sebuah beban yang dapat
dipertimbangkan pada proses Data Warehouse, terutama sekali jika volume data
sangat besar.
Bergantung pada metode ekstrasi
logikal yang dipilih dan kapabilitasnya serta restriksi pada sisisumber data,
dta yang diekstrak secara fisik diekstrak dengan dua mekanisme. Data dapat
diekstrak online dari sistem sumber atau dari sebuah struktur offline. Struktur
offline demikian boleh jadi ada atau dapat dihasilkan oleh sebuah fungsi
ekstraksi.
Secara Fisik
·
Online Extraction
o
Data diekstrak langsung dari sistem sumber itu
sendiri. Proses ekstraksi dapat berhubungan secara langsung dengan sistem
sumber untuk mengakses tabel sumber atau ke sebuah sistem perantara yang
menyimpan data dengan sebuah cara yang dikonfigurasikan terlebih dahulu
(sebagai contoh log atau tabel perubahan). Dengan catatan bahwa sistem
perantara secara fisik tidak berbeda dari sistem sumber.
·
Offline Extraction
o
Data tidak diekstrak secara langsung dari sistem
sumber namun dibatasi secara eksplisit diluar sistem sumber orisinil. Data
telah memiliki struktur atau telah dibuat melalui prosedur ekstraksi.
Beberapa struktur yang harus
dipertimbangkan antara lain :
•
Flat file
•
Dump File, informasi mengenai objek yang
dimasukkan atau tidak dimasukkan, bergantung pada utility yang dipilih.
•
Log Archive dan Redo
•
Transportable Tablespaces, cara ekstrak dan
memindahkan data bervolume besar antar Database.
2) Transformation, adalah
proses pengambilan data mentah
yang belum bisa
disimpan pada Data Warehouse, oleh
karena itu data
harus sesuai standar struktur
Data Warehouse yang
telah ditentukan sehingga bisa
disimpan ke Data Warehouse. Transformation data
terdiri dari beberapa tahap
yaitu:
a. Seleksi,
men- select record dari tabel basisdata
OLTP, tahap ini merupakan bagian dari proses pengambilan data.
b. Pemisahan dan
Penggabungan, manipulasi data
yang dibutuhkan untuk men- select record OLTP, yaitu melakukan proses pemisahan
dan penggabungan bila dibutuhkan.
c. Konversi, dilakukan untuk 2 alasan yaitu:
a.
Standarisasi
pengambilan data dari
berbagai sumber
b.
Membuat
field dapat digunakan
Data Warehouse dan dipahami oleh pengguna
d. Ringkasan,
data yang terlalu detail tidak selalu dibutuhkan pada Data Warehouse oleh karena itu perlu diringkas
berdasarkan kebutuhan Data
Warehouse.
e. Pengayaan, menggunakan
sebuah atau beberapa
field untuk membuat
hasil data yang terbaik
pada Data Warehouse ,
prinsip ini merupakan pengembangan
dari kumpulan sebuah atau
beberapa field dari beragam record yang menghasilkan
sebuah field untuk
Data Warehouse.
Dalam mentransformasikan data ada
beberapa tipe fungsi transformasi yaitu:
b) Revisi
Format, merubah tipe data dan panjang field
agar dapat distandarkan
dan disesuaikan dengan standar
struktur penyimpanan pada Data Warehouse.
c) Penghilangan pengkodean
field, p engkodean harus dihilangkan
agar mudah dimengerti pengguna. Contoh:
kode 1, 2
untuk jenis kelamin harus dirubah
menjadi Pria, Wanita.
d) Menghitung dan
menghasilkan nilai, Menghitung
dan menghasilkan nilai
rata- rata yang dibutuhkan.
e) Memecah field,
dibutuhkan agar Data
Warehouse mudah dipelihara
dan dimengerti pengguna. Contoh:
Nama harus dipecah menjadi nama depan,
nama panggilan, nama keluarga.
f) Penggabungan
informasi, bukan kebalikan dari memecah field , tapi menggabungkan data dari
bermacam - macam sumber data.
g) Konversi
kumpulan karakter, jika data berasal dari
sumber yang berbeda
arsitekturnya baik dari perangkat
keras atau sistem operasi yang berbeda.
Contoh: konversi dari
EBCDIC ke ASCII.
h) Konversi unit
pengukuran, digunakan untuk perusahaan yang
mempunyai cabang di
luar negeri.
i)
Konversi
tanggal dan jam,
menggunakan format tanggal dan jam yang satu dan standar.
j)
Ikhtisar, m enjumlahkan transaksi
k) Restrukturisasi kunci,
hindarkan pembuatan kunci
yang mempunyai arti membingungkan.
Ubahlah beberapa kunci ke kunci yang bersifat umum.
l)
Deduplikasi,
menghilangkan duplikasi data yang berasal dari sistem yang berjalan.
Dari
perspektif arsitektural, Data dapat ditransformasikan dengan dua cara :
·
Multistage
Data Transformation
Logika transformasi data bagi
kebanyakan Data Warehouse terdiri dari beberapa tahapan. Sebagai contoh, dalam
transformasi rekod baru yang dimasukkan ke dalam sebuah tabel penjualan (sales),
boleh jadi terdapat tahapan transformasi logik yang terpisah untuk memvalidasi
masing-masing key dimensi. Gambaran secara grafis dari proses
transformation logic adalah sbb :
·
Pipelined
Data Transformation
Arus proses ETL dapat diubah secara
dramatis dan database menjadi sebuah bagian integral solusi ETL. Fungsionalitas
barunya melukiskan beberapa pembentukan tahapan proses penting yang kuno ketika
beberapa yang lainnya dapat dimodel kembali untuk menambah arus data dan
transformasi data menjadi lebih dapat diukur. Kegiatannya bergeser dari
transformasi serial hingga proses load (dengan kebanyakan kegiatan dilakukan
diluar database) atau load-kemudian proses transformasi untuk meningkatkan
transformasi selagi loading.
3) Loading,
ada 4 mode Loading yaitu:
a) Panggil,
jika data sudah ada pada tabel Data
Warehouse maka proses
panggil ini akan menghapus data
yang sudah ada dan
menggantinya, jika data
belum ada maka proses ini akan mengisi tabel Data
Warehouse. abc
b) Tambah,
jika data sudah ada pada tabel Data
Warehouse maka proses
tambah ini akan menambah
data dan ada
kemungkinan terdapat duplikat
record dan jika dikehendaki
dimungkinkan duplikat record ditolak.
c) Destructive Merge,
jika kunci record
yang datang cocok dengan
kunci record yang
ada maka akan merubah record yang
ada dan jika record yang datang
adalah record baru maka akan menambah record baru.
d) Constructive Merge,
jika kunci record
yang datang cocok dengan
kunci record yang
ada maka akan menambah
record baru dan menandai
record baru tersebut
sebagai penghubung ke record
lama yang cocok dengan record yang akan datang.
Kesimpulan ETL
ETL merupakan sebuah konsep yang
dibutuhkan pada Data Warehouse
yang berfungsi mentransformasikan data
pada basis data OLTP
ke dalam Data Warehouse. ETL didalam pelaksanaannya membutuhkan
proses ETL, Pilihan
penerapan algoritma ETL
yang akan digunakan dapat
disesuaikan dengan desain
model Data Warehouse yang
digunakan, teknologi manajemen
basis data dan aplikasi
perangkat lunak yang digunakan yang
akan lebih baik
jika sama dengan aplikasi perangkat lunak untuk menampilkan
laporan dan query dari
Data Warehouse dan teknologi manajemen basis data
yang digunakan untuk
menyimpan data pada Data Warehouse.