260 likes | 515 Views
Ekstraksi , Transformasi dan Loading (ETL). Wiratmoko Yuwono. Pengantar. Tiga fungsi utama yang perlu dilakukan untuk membuat data siap digunakan pada datawarehouse adalah extraction, transformation dan loading. Ketiga fungsi ini terdapat pada staging area .
E N D
Ekstraksi, Transformasidan Loading (ETL) WiratmokoYuwono
Pengantar • Tigafungsiutama yang perludilakukanuntukmembuat data siapdigunakanpadadatawarehouseadalah extraction, transformation dan loading. Ketigafungsiiniterdapatpada staging area. • Pada data staging ini, disediakantempatdan area denganbeberapafungsiseperti data cleansing, change, convert, danmenyiapkan data untukdisimpansertadigunakanolehdatawarehouse.
Extraction • Data Extraction adalahprosespengambilan data yang diperlukandarisumberdatawarehousedanselanjutnyadimasukkanpada staging area untukdiprosespadatahapberikutnya. • Padafungsiini, kitaakanbanyakberhubungandenganberbagaitipesumberdata. Format data, mesin yang berbeda, software danarsitektur yang tidaksama. Sehinggasebelumprosesinikitalakukan, sebaiknyaperlukitadefinisikan requirement terhadapsumber data yang akankitabutuhkanuntuklebihmemudahkanpada extraction data ini.
Extraction • TipeEkstraksi Data secaralogika 1. Full Extraction Extraksi data dilakukansecaramenyeluruhdarisumber data, biasanyadilakukanpadasaat create pertama kali datawarehouse, dimana data dalamdatawarehousebelumadasamasekali. 2. Incremental Extraction Ekstraksi data dilakukansecarasebagian, data yang diekstraksiadalah data yang mengalamiperubahansaja, dilakukanpadasaatdatawarehousesudahberjalan.
Extraction • TipeEkstraksi Data secaraphysical 1. Online Extraction Data yang diekstraklangsungberasaldarisumber data (dapatmemakai snapshot log ataupundapatmemakai trigger database) 2. Offline Extraction Data yang diekstraktidaklangsungberasaldarisumber data. (contohdapatmemakai Flat File, Dump File, Redo Log, Archive Log atau Transportable Tabelspace)
Extraction (Change Data Capture) • Digunakanpadametode Incremental Extraction. • Dapatmenggunakan timestamp, Partitioning dan Database Trigger • ContohTimeStamp : SELECT * FROM orders WHERE TRUNC(CAST(order_date AS date),'dd') =TO_DATE(SYSDATE,'dd-mon-yyyy');
Transformation • Padakenyataannya, padaprosestransaksional data disimpandalamberbagai format sehinggajarangkitatemui data yang konsistenantaraaplikasi-aplikasi yang ada. Transformasi data ditujukanuntukmengatasimasalahini. • Denganprosestransformasi data ini, kitamelakukanstandarisasiterhadap data padasatu format yang konsisten. Beberapacontohketidakkonsistenan data tersenutdapatdiakibatkanolehtipe data yang berbeda, data length dan lain sebagainya.
Transformation • Untuk lebih jelasnya dapat dilihat pada tabel 2.1 yang menunjukkan permasalahan dasar pada proses pengintegrasian data.
Transformation Keterangan : • Format, Padatransaksional data dapatdisimpandalamberbagai format. Elemen data tersebutdapattersimpandalam format text, integer dansebagainya. Untukitustandarisasiperludilakukandenganmelihatkegunaanpokokdarielemen data padaprosestransaksinaldandatawarehouse. • Description, Padatabelterlihatrepresentasiketiganamapelangganadalahsama. Namundenganpenulisan yang bedaterlihatadanyaperbedaan format pada data. Olehkarenaituperludiambilsalahsatudarideskripsitersebutuntukkonsistensi data.
Transformation • Unit, Adanyaperbedaansatuanukurandapatmenimbulkanpermasalahan yang komplek. Jika user tidakmengetahuiadanyaperbedaaninidanmenganggapsama, makaakanterjadikesalahanketikakitamelakukanpenghitunganmatematis. • Encoding, hurufataunomordapatdijadikan label sebagiidentifikasisuatuobjek. Sepertipadatabeldiatas, kesalahandapatterjadikarenanya.
Transformation • Cara Mentransformasi Data : • MultiStageDataTransformation Data ditransformasidenganbeberapatahapan, denganbantuan staging table
Transformation 2. PipeLinedDataTransformation Data ditransformasidanlangsungdimasukkankedatawarehousetanpabantuan table staging
Loading • Data loading adalahmemindahkan data kedatawarehouse. • Banyakcara yang dapatandalakukanuntukmelakukan loading data, spt : • Loading data dengan SQL Loader • Loading data dengan External Table • Loading data dengan OCI • Loading data dengan Export/Import