Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

CHAPTER 7 DATA EXTRACTION

Presentasi serupa


Presentasi berjudul: "CHAPTER 7 DATA EXTRACTION"— Transcript presentasi:

1 CHAPTER 7 DATA EXTRACTION
KELOMPOK Yan Catur Amboro ( ) M Samsuri ( ) Wahyu Hidayat ( ) Wahyu Frediansyah ( )

2 Pengenalan ETL ETL singkatan dari Extract, Transform, dan Load. ETL adalah proses mengambil dan mengubah data dari source system dan memasukkannya ke dalam Data Warehouse. Ada beberapa prinsip dasar untuk dipahami ketika mengekstrak data dari source system untuk tujuan mengisi data warehouse. Pertama, volume data yang diambil besar, mungkin ratusan megabyte atau puluhan gigabyte. Sebuah sistem OLTP dirancang sehingga data tersebut diambil dalam potongan-potongan kecil, tidak dalam jumlah besar, sehingga anda harus berhati-hati tidak memperlambat Source System terlalu banyak. Dua prinsip penting lainnya adalah leakage (kebocoran) dan recoverability(pemulihan). Leakage terjadi saat proses ETL mengira telah mendownload semua data sepenuhnya dari Source System tetapi dalam kenyataannya telah melewatkan beberapa catatan. Sebuah proses ETL yang baik seharusnya tidak memiliki leakage. Recoverability berarti adalah proses ETL harus kuat sehingga dalam hal kegagalan, dapat direcover tanpa kehilangan atau kerusakan data.

3 Approach dan Arsitektur ETL
Ada beberapa Approach implementasi ETL. Approach tradisional untuk menarik data dari Source System, taruh dalam staging area dan kemudian mengubahnya dan memuatnya ke Warehouse server ETL melakukan transformasi dalam memori dan kemudian meng-update data warehouse secara langsung (tidak ada staging) Staging area adalah fisik atau file database. Menempatkan data ke dalam staging area berarti memasukkan ke dalam database atau menulis dalam file.

4 Dalam Approach ELT, pada dasarnya kita salin Source System(OLTP) data ke dalam Data Warehouse dan mengubahnya di sana. Artinya kita tarik data dari source system, memuatnya ke dalam Data Warehouse, dan kemudian menerapkan transformasi dengan memperbarui data di warehouse. Massively parallel processing (MPP) adalah sekelompok server (disebut node), dan masing-masing node memiliki memori, prosesor, dan disk sendiri. Contoh sistem database MPP adalah Teradata, Netezza, dan Neoview. Sebuah sistem database MPP lebih kuat daripada sistem dengan sharing disk karena loading data yang terjadi secara paralel di beberapa node yang memiliki disk mereka sendiri. Keuntungan utama dari sistem database MPP adalah peningkatan kinerja linear.

5 Dalam hal memindahkan data dari source system, kita bisa mengkategorikan ETL method Kedalam empat Approach Sebuah proses ETL menarik data keluar dengan meng-query source system database secara teratur. Ini adalah Approach yang paling umum. ETL menghubungkan ke database source system, meng-query data, dan membawa data keluar. Trigger(trigger) dalam source system memaksa data yang berubah. Sebuah trigger (trigger) database adalah kumpulan statement SQL yang mengeksekusi setiap kali ada masukan, update, atau penghapusan dalam tabel. Dengan menggunakan trigger(trigger), kita dapat menyimpan baris yang yang berubah dalam tabel lain.

6 Sebuah proses yang dijadwalkan dalam source system mengekspor data secara teratur. Hal ini mirip dengan Approach pertama, tetapi program yang meng-query database bukan program ETL eksternal. Sebaliknya, itu adalah program eksportir internal yang berjalan di sistem server source. Sebuah pembaca log membaca file log database untuk mengidentifikasi perubahan data. Sebuah file log database berisi catatan transaksi yang dibuat untuk database tersebut. Sebuah pembaca log adalah program yang mengerti format dari data dalam file log. Pembaca log membaca file log, mendapatkan data yang keluar, dan menyimpan data di tempat lain.

7 Dalam hal di mana proses yang memindahkan data keluar dijalankan, kita dapat mengkategorikann ETL menjadi tiga Approach Menjalankan proses ETL dalam server ETL terpisah yang berada di antara source system dan server data warehouse. Approach ini memberikan kinerja tertinggi. ETL berjalan di server sendiri, sehingga tidak menggunakan source daya dari server Data Warehouse atau source sistem server sama sekali. Hal ini lebih mahal daripada dua pilihan berikutnya karena anda harus membeli server tambahan dan lisensi perangkat lunak.

8 Menjalankan proses ETL di server data warehouse
Menjalankan proses ETL di server data warehouse. Approach ini dapat digunakan jika kita memiliki kapasitas cadangan di server data warehouse atau jika kita memiliki slot waktu ketika data warehouse tidak digunakan (di malam hari misalnya). Hal ini lebih murah daripada Approach pertama karena kita tidak perlu menyediakan server tambahan. Menjalankan proses ETL di server yang menjadi host source system. Approach ini diimplementasikan ketika kita membutuhkan real-time data warehousing. Dengan kata lain, saat data dalam perubahan source sytem, perubahan itu disebarkan ke warehouse.Data dapat diatur sampai dengan menggunakan database trigger dalam source system. Dalam prakteknya, Approach ini diterapkan dalam hubungannya dengan salah satu dari Approach sebelumnya. Artinya, Approach ini digunakan hanya untuk beberapa tabel, dan tabel yang tersisa akan diisi dengan menggunakan dua Approach pertama.

9 Mengkstraksi Database Relational
Empat metode utama : Whole table every time (Seluruh tabel setiap waktu) Incremental extract (Penambahan ekstrak) Fixed range (Rentang Tetap) Push approach (Push Approach)

10 Whole table every time (Seluruh tabel setiap waktu)
Menggunakan Whole table every time ketika tabel kecil, seperti tabel dengan tiga integer atau varchar (10) kolom yang terdiri dari beberapa baris. Alasan yang lebih umum adalah karena tidak ada timestamp atau identitas kolom yang dapat kita gunakan untuk mengetahui mana baris yang diupdate sejak terakhir diekstrak. Incremental Ekstract (Penambahan Ekstrak) Tabel transaksi dalam organisasi utama adalah tabel besar, yang berisi ratusan ribu baris atau bahkan ratusan juta baris (atau lebih). Ekstraksi Incremental adalah teknik untuk men-download hanya baris yang yang berubah dari source system, bukan seluruh tabel. Kita dapat menggunakan beberapa hal untuk mengekstrak secara bertahap.

11 Cara untuk mengekstrak bertahap menggunakan extraction time (CET) and the last successful extraction time (LSET): Dapatkan LSET dari database metadata. LSET bertindak seperti watermark. Ini menginget waktu ketika data terakhir diekstraksi. Mendapatkan CET, yang disahkan pada oleh paket ETL top-level. CET adalah waktu paket ETL dimulai, bukan ketika tugas saat ini dimulai. Tujuan menggunakan waktu mulai dari paket ETL daripada waktu mulai tugas sehingga semua tugas ETL dalam paket memiliki CET yang sama sehingga lebih mudah untuk me-restart jika paket tersebut gagal. Ekstrak data menggunakan select * from order_header where (dibuat> = LSET dan dibuat <CET) atau (last_updated> = LSET dan last_update <CET). Jika ekstrak berhasil, update database metadata dengan menulis CET sebagai nilai LSET baru.

12 Logika ini adalah fault tolerant, yang berarti jika itu tidak berjalan atau gagal untuk dijalankan, kita bisa mengulangi hal itu tanpa risiko kehilangan data atau loading data yang kita muat sebelumnya. Jika tidak ada pembatasan source aplikasi pada waktu order, cara lain untuk melakukan tambahan ekstrak adalah dengan menggunakan order ID sebagai berikut : Ambil Last Successfully Extracted ID (LSEI) dari database metadata Pilih max (order_id) dari order_header, dan menempatkan ini dalam variabel CEI sebagai ID ekstraksi saat ini. Ekstrak baris antara LSEI dan CEI sebagai berikut: pilih * dari order_header mana order_id> = LSEI dan order_id <CEI. Jika ekstrak berhasil, menyimpan CEI dalam database metadata sebagai LSEI.

13 Fixed Range (Rentang Tetap)
Jika tidak mungkin untuk mengekstrak seluruh tabel karena tabel terlalu besar, dan tidak mungkin untuk melakukan incremental extraction. Kita dapat menggunakan, kisaran metode ”fixed range” Pada dasarnya, kita mengekstrak sejumlah catatan atau jangka waktu tertentu. Sebagai contoh, sekali pengolahan akhir bulan dilakukan, baris dapat, AOT diubah. Dalam kasus ini, kita dapat men-download lima minggu terakhir data setiap kali proses ETL berjalan atau dimana tanggal transaksi setelah tanggal akhir bulan. Jika tidak ada tanggal transaksi kolom dalam tabel dan kita tidak dapat mengekstrak seluruh tabel karena merupakan data yang sangat besar.

14 Realated Tabel (Tabel Terkait)
Jika baris dalam tabel source diupdate, perlu untuk mengambil baris yang sesuai dalam related tabel untuk diupdate yang artinya data terkait harus ikut terupdate. Misalnya, jika sebuah baris dalam order detail diupdate dan baris yang diekstraksi ke dalam data warehouse, baris yang sesuai di header perlu diekstrak juga. Berlaku juga untuk kasus menyisipkan dan menghapus data. Pengujian Kebocoran data Jika kita melakukan incremental ekstraction atau period range ekstraction, penting untuk kita menguji kebocoran data dalam artian melakukan pengecekan apakah aada baris yang hilang atau tidak. Jika kita tidak memiliki baris yang hilang atau update hilang, maka proses ETL tambahan dapat diandalkan.

15 Extracting File System (Mengekstrak Sistem Berkas)
Mengimpor atau mengekspor dari flat file mungkin adalah yang tercepat, dibandingkan dengan mengimpor dari jenis file lainnya (XML, misalnya). SQL Server’s bulk insert and bulk copy utility (bcp) bekerja dengan flat file. Bulk insert adalah perintah SQL untuk memuat data dari file ke dalam tabel SQL Server. Bulk insrt dijalankan dari dalam SQL Server query Editor seperti perintah SQL Transact biasa. Penggunaannya sebagai berikut : Bulk copy utillity di jalankan malalui sebuah command promt. Menggunakan bulk copy utility untuk memuat data dari pipe-delimited file kedalam sebuah tabel, penggunaannya sebagai berikut : Hal ini cukup praktis di data warehousing untuk source system untuk mengekspor data ke flat file, dan kemudian proses ETL mengambil mereka dan mengimpornya ke dalam data warehouse

16 Selesai


Download ppt "CHAPTER 7 DATA EXTRACTION"

Presentasi serupa


Iklan oleh Google