Proses ETL

10
 1 PROSES EXTRACT, TRANSFORM AND LOADING Sec ara umum 60% hin gga 80% penge mbangan data wareh ouse dicura hka n pad a proses  back-end . Dimana system  back-end  yang terjadi adalah ekstraksi, transformasi, clean sing dat a, dan memasukan ata u  loading  da ta oper as ional ke dalam da ta warehouse. Dapat dipahami jika didalam sub system ini terdapat system enterprise yang berbeda-beda baik dalam hal lingkung an tekno logi, sys tem sumber sert a kebu tuha n bisnis. 6.1. Sub Sistem Ekstraksi Termin olog i ekst raksi meru juk pad a pros es  retrive  dat a dimana sumber data dapat merup akan tabel aktual siste m ope rasio nal atau pun mendup likas i data nya. Proses ini da pat dilakukan de ngan ca ra ya ng amat beraga m, mulai deng an meng gunakan pera ngka t lunak yan g mudah digu nak an hing ga membuat suatu kode program yang dibuat spesifik dengan kebutuhan. Peran gkat lunak den gan kemu daha n yan g ada biasa nya memil iki  cost  yan g tingg i, seh ing ga alt ern ative ya ng dig unakan adalah menulis kode progra m dan sekali gus men dokumen tas ikannya. Dis isi lain kelemahan dari kod e pr ogr am ada lah fak tor kecepatan perubahan dalam mengikuti perkembangan bisnis proses suatu organisasi. 6.2. Sub Sistem Transformasi Tipe- tipe tran sfor masi yang bias a di imple ment asika n pad a dat a ware hou se adala h sebagai berikut : 1)  Format-Changes,  dimana setiap data field dari system operasional disimpan dalam for mat dan tip e data yang ber beda. Ind ivid ual data ini aka n di mod ifi kasi selama proses transformasi ke dalam format yang di standarisasi. 2)  De-duplication, reco rd dari bebe rapa sumb er dib andin gka n unt uk meng ident ifikas i adan ya duplikas i berdasarkan nilai dari suatu field. Data yang terduplikasi bisa di merge menjadi suatu single record. Record yang potensial mengalami duplikasi akan dipisahkan dalam suatu tempat untuk di pilah secara manual. 3)  Splitting u p fields , data dari system sumber sangat mungkin untuk di pisahkan dalam satu atau beberapa field dalam data wareh ouse. Hal ya ng ser ing ter jad i ada lah pemisahan data informasi customer yang terdiri dari satu field dipisahkan menjadi

Transcript of Proses ETL

5/13/2018 Proses ETL - slidepdf.com

http://slidepdf.com/reader/full/proses-etl 1/9

 

1

PROSES EXTRACT, TRANSFORM AND LOADING

Secara umum 60% hingga 80% pengembangan data warehouse dicurahkan pada

proses back-end . Dimana system back-end  yang terjadi adalah ekstraksi, transformasi,

cleansing data , dan memasukan atau loading  data operasional ke dalam data

warehouse. Dapat dipahami jika didalam sub system ini terdapat system enterprise yang

berbeda-beda baik dalam hal lingkungan teknologi, system sumber serta kebutuhan

bisnis.

6.1. Sub Sistem Ekstraksi

Terminologi ekstraksi merujuk pada proses retrive  data dimana sumber data dapat

merupakan tabel aktual sistem operasional ataupun menduplikasi data nya. Proses ini

dapat dilakukan dengan cara yang amat beragam, mulai dengan menggunakan

perangkat lunak yang mudah digunakan hingga membuat suatu kode program yang

dibuat spesifik dengan kebutuhan.

Perangkat lunak dengan kemudahan yang ada biasanya memiliki cost  yang tinggi,

sehingga alternative yang digunakan adalah menulis kode program dan sekaligus

mendokumentasikannya. Disisi lain kelemahan dari kode program adalah faktor

kecepatan perubahan dalam mengikuti perkembangan bisnis proses suatu organisasi.

6.2. Sub Sistem Transformasi

Tipe-tipe transformasi yang biasa di implementasikan pada data warehouse adalah

sebagai berikut :

1) Format-Changes, dimana setiap data field dari system operasional disimpan dalam

format dan tipe data yang berbeda. Individual data ini akan di modifikasi selama

proses transformasi ke dalam format yang di standarisasi.

2) De-duplication , record dari beberapa sumber dibandingkan untuk mengidentifikasi

adanya duplikasi berdasarkan nilai dari suatu field. Data yang terduplikasi bisa di

merge menjadi suatu single record. Record yang potensial mengalami duplikasi akan

dipisahkan dalam suatu tempat untuk di pilah secara manual.

3) Splitting up fields , data dari system sumber sangat mungkin untuk di pisahkan dalam

satu atau beberapa field dalam data warehouse. Hal yang sering terjadi adalah

pemisahan data informasi customer yang terdiri dari satu field dipisahkan menjadi

5/13/2018 Proses ETL - slidepdf.com

http://slidepdf.com/reader/full/proses-etl 2/9

 

beberapa field di data warehouse seperti nama jalan, nama gedung, kota , kode pos

dsb.

4) Integrating fields , kebalikan dari splitting up fields  dimana dua buah field atau lebih

akan di integrasikan dalam satu field.

5) Replacement of values, jika data dalam system operasional memliki makna yang

kurang informatf bagi pengguna warehouse, akan ditransformasikan kedalam bentuk

yang lebih sesuai.

6) Derived values, field yang dihasilkan dari formulasi fungsi agregasi. Dengan

melakukan penghitungan sebelum dimasukkan ke dalam data warehouse maka

kemungkinan kesalahan yang akan dilakukan oleh pengguna warehouse akan

berkurang. Sebagai contoh field balance , ratio dsb

7) Aggregate, field yang di agregasi secara atomic juga dapat dilakukan sebelum di

masukkan ke dalam data warehouse.

6.2.1. Data Quality

Data quality merupakan suatu komponen yang penting pada proses ETL . Pengertian

penyebab dari data error akan mempermudah penanganan kemungkinan error yang

mungkin terjadi. Penyebab error yang sering terjadi adalah sebagai berikut :

Missing values, dimana data yang hilang pada system sumber data dikarenakan

record yang tidak lengkap atau field tersebut merupakan field yang bertipe opsional.

Lack of referential Integrity, pada system sumber data hal ini mungkin terjadi karena

inkonsistensi pengkodean

Different Unit Measure, penggunaan satuan ukuran yang berbeda memungkinkan

terjadinya error pada saat data dimasukkan dalam warehouse, seperti mata uang,

ukuran yang digunakan oleh system-sitem yang ada pada sumber data.

Duplicates, data yang terduplikasi di system sumber data harus diproses dengan

membandingkan atau memilah sesuai dengan aturan bisnis yang ingin dicapai

5/13/2018 Proses ETL - slidepdf.com

http://slidepdf.com/reader/full/proses-etl 3/9

 

Fields to be split up, Seperti yang di uraikan sebelumnya bahwa data pada system

sumber perlu untuk di pilah terlebih dahulu, dikarenakan volume data yang cukup

besar maka dibuat lah suatu kode untuk otomatisasi proses tersebut. Namun karena

kompleksitas dan beragamnya data di system sumber, kemungkinan error masih

cukup besar terjadi.

Multiple Hirarhies, dimensi dalam data warehouse dengan hirarki bertujuan untuk

memudahkan analisa data. Misalkan dimensi waktu, memiliki hirarki hari-bulan- 

quartal tahun  dan hari –  fiscal, bulan – fiscal  dan sebagainya. Kekurang fahaman

atas pengertian yang dikandung dalam multi hirarki ini akan menyebabkan

kesalahan dalam warehouse.

Conflicting or inconsistent terms and rules, konflik ataupun inkonsistensi dari

penggunaan terminology dan aturan bisnis dapat menyebabkan perbedaan persepsi

pada perencanaan data warehouse atau dapat juga menyebabkan kesalahan

penggunaan formulasi yang dibutuhkan.

Adapun pendekatan yang dilakukan untuk meningkatkan kualitas data adalah :

Assess current level of data quality 

Identify key data items 

Define cleansing tactics for key data items.

Define error-prevention tactics for key data items 

Implement quality improvement and error-prevention processes.

Assesment untuk meningkatkan kualitas data dapat dilakukan kapanpun pada sudut

pandang yang berbeda selama proses back-end  warehouse berlangsung. Seperti

terlihat pada gambar dibawah ini bahwa assessment dilakukan pada saat berada pada

system sumber, ataupun pada saat data berada pada tahap load image  atau staging 

area dan juga pada data warehouse itu sendiri.

5/13/2018 Proses ETL - slidepdf.com

http://slidepdf.com/reader/full/proses-etl 4/9

 

6.3. Sub System Loading

Sub sistem ini akan melakukan loading data yang telah di ekstraksi di loading image / 

stage area  yang dilakukan sub system ekstraksi dan transformasi. Data yang akan di

load sudah dalam bentuk star shema baik pada data sumber ataupun tujuan.

6.3.1. Proses Dasar

Adapun porses dasar yang dilakukan pada subsistem ini adalah

Drop indexes on the warehouse 

Ketika suatu record dimasukkan kedalam table yang memiliki index, RDBMS akan

melakukan update pada objek index yang bersesuaian. Pada environment  data

warehouse dimana voume data yang dimasukkan sangat besar, proses re-indexing 

index objek setelah data dimasukkan dalam table akan menimbulkan overhead 

proses pada kinerja nya. Akibanya proses loading akan berjalan lambat. Untuk

menghindari hal ini maka proses drop index dapat dilakukan sebelum data di load

dalam data warehouse.

Load dimension records.

Padas umber data, record-record dari tabel customer, product atau transaksi dapat

diidentifikasi secara unik melalui key  atau field kunci. Sedangkan record pada tabel

atau dimensi pada data warehouse diidentifikasi dari key value  . Key dari sistem

sumber data tidak sesuai dengan kebutuhan warehouse key , dalam hal ini

5/13/2018 Proses ETL - slidepdf.com

http://slidepdf.com/reader/full/proses-etl 5/9

 

pendekatan yang dilakukan adalah dengan membuat key  baru pada saat proses

loading.

Load fact records.

Kunci utama pada fact table adalah penggabungan kunci-kunci dari tabel dimensi

yang berelasi. Setiap record dalam tabel fact menggunakan generate key  dari tabel

dimensi. Record-record dalam tabel dimensi terlebih dulu dimasukkan sebelum

record pada tabel fact guna menjaga referential integrity  nya. Pada umunya record

dalam data warehouse berdasarkan history time series  sehingga input record dalam

tabel fact adalah record baru.

Compute aggregate records, using base fact and dimension records.

Setelah atomic record sukses dimasukan dalam data warehouse , sub system

loading data akam melakukan perhitungan agregasi yang diperlukan dengan

menggunakan record pada tabel fact dan dimensi. Langkah ini dilakukan jika nilai

agregasi belum dilakukan pada langkah sebelumnya.

Rebuild or regenerate indexes.

Setelah proses loading selesai dilakukan, maka objek indek akan dibuat atau

diperbarui untuk meningkatkan performansi proses query.

Log load perceptions.

Pelanggaran referential integrity  di log file selama proses loading berlangsung. Ada

dua tipe pelanggaran yang biasa terjadi yaitu :

a) Hilangnya data field kunci pada tabel fact

b) Kesalahan data dari field kunci, namun satu atau lebih dari data tersebut tidak

berhubungan dengan tabel dimensi.

Dalam kedua kasus ini opsi yang dapat diambil adalah

a) Tidak melakukan loading data hingga data field kunci ditemukan

b) Melakukan proses loading record, dengan melakukan penggantian data untuk

field kunci yang salah dengan menambahkan kode program secara hard code.

Sub system loading berasumsi baahwa data yang berada dalam load image  belum

menggunakan warehouse key.

5/13/2018 Proses ETL - slidepdf.com

http://slidepdf.com/reader/full/proses-etl 6/9

 

6.3.2. Loading Dirty Data

Pada proses loading data, data yang belum valid (dirty data ) sangat mungkin terbawamasuk kedalam data warehouse misalkan data yang tidak memenuhi persyaratan

referential integrity . Sebagian tim pengembang data warehouse pendapat bahwa data

yang dimasukkan ke dalam warehouse adalah data yang sudah valid (clean data ) dan

sebagian lagi berpendapat sebaliknya dengan memberikan tanda pada data yang tidak

valid.

Penggunaan hard code  untuk mengidentifikasi data yang tidak valid pada data

warehouse memungkinkan pengguna dapat tetap memakai data yang valid. Sebagaicontoh jika suatu Sales Fact  bergantung pada dimensi Customer , Date  dan Product 

dan nilai dari kinci customer hilang maka informasi “Sales per Product”  masih dapat

dihasilkan secara valid.

Informasi “Sales per Customer”  masih tetap dapat dihasilkan dengan menambahkan

hard code untuk menanggulangi kesalahan hilangnya data pada field kunci tersebut.

5/13/2018 Proses ETL - slidepdf.com

http://slidepdf.com/reader/full/proses-etl 7/9

 

Hard code  dilakukan pada saat loading sehingga user mendapatkan informasi yangsesuai

6.4. Metoda Memasukkan Data

6.4.1. Menggunakan SQL MergeKetika memasukkan data ke dalam data warehouse, kemungkinan proses yang terjadi

adalah menambahkan record baru dan melakukan perubahan terhadap record yang

ada. Adapun sintaks yang biasa digunakan adalah INSERT dan UPDATE.

Dalam perkembangannya DML memiliki kemampuan baru yaitu SQLMerge. Denganmenggunakan SQL Merge maka jika suatu record exist maka lakukan proses update,

 jika tidalk maka lakukan proses Insert. Ini dinamakana proses UPSERT.

Sintaks secara umum adalah sebagai berikut :

MERGE <hint> INTO <table_name>

USING <table_view_or_query>

ON (<condition>)WHEN MATCHED THEN <update_clause>

DELETE <where_clause>

WHEN NOT MATCHED THEN <insert_clause>

[LOG ERRORS <log_errors_clause> <reject limit <integer | unlimited>];

Sebaga contoh :

SQL> SELECT * FROM dept;

DEPTNO DNAME LOC---------- -------------- -------------

10 ACCOUNTING NEW YORK

20 RESEARCH DALLAS

30 SALES CHICAGO

60 HELP DESK PITTSBURGH

40 OPERATIONS BOSTON

SQL> SELECT * FROM dept_online;

DEPTNO DNAME LOC

---------- -------------- -------------

40 OPERATIONS BOSTON

5/13/2018 Proses ETL - slidepdf.com

http://slidepdf.com/reader/full/proses-etl 8/9

 

2 0 R ESEA RC H D EV D ALL AS

5 0 E NGIN EE RIN G W EXF ORD

SQL> MERGE INTO dept d

USING (SELECT deptno, dname, loc

FROM dept_online) o

ON (d.deptno = o.deptno)

  WHEN MATCHED THEN

UPDATE SET d.dname = o.dname, d.loc = o.loc

  WHEN NOT MATCHED THEN

INSERT (d.deptno, d.dname, d.loc)

  VALUES (o.deptno, o.dname, o.loc);

SQL> SELECT * FROM dept;

DEPTNO DNAME LOC

---------- -------------- -------------

10 ACCOUNTING NEW YORK

2 0 R ESEA RC H D EV D ALL AS

30 SALES CHICAGO

5 0 E NGIN EE RIN G W EXF ORD

60 HELP DESK PITTSBURGH

40 OPERATIONS BOSTON

6 rows selected.

6.4.2. Menggunakan Fasilitas pada RDBMS

Metoda lain yang bisa digunakan untuk memasukkan data dalam data warehouseadalah metoda yang di sediakan oleh RDBM itu sendiri. Pada RDBM Oracle beebrapa

metoda tersebut adalah :

External Tables, metoda ini akan memasukkan data pada tabel baru ataupun pada

eksisting tabel dengan sumber data yang bertipe flat file dan ingin dilakukan proses

transformasi pada saat loading data.

Data Pump, utilitas untuk melakukan export dan import data

5/13/2018 Proses ETL - slidepdf.com

http://slidepdf.com/reader/full/proses-etl 9/9

 

SQL*Loader, metoda ini akan memasukkan data pada tabel baru ataupun pada

eksisting tabel dengan sumber data yang bertipe flat file baik berupa txt ataupun csv

yang berada diluar database.

Transportable Tavlespaces, digunakan untuk memindahkan data antar database

oracle , misalkan operasional database dan data warehouse yang berada pada

system operasi yang berbeda.

Sumber :

Data Warehousing OLAP and Data Mining, S. Nagabhushana

Oracle 10g Data Warehousing, Lilian Hobs, Oracle Corp