Tinjauan Pustaka T1 682010042 Full text

8 membangun simulasi untuk membangun data warehouse dari sumber data yang berbeda menggunakan Oracle Streams. Kemudian, penelitian ini akan menggunakan model staging area dalam melakukan penyatuan sumber database operasional dan menggunakan model one-way replication dalam pembuatan replikasi data, tetapi tidak membahas proses OLAP online analytical processing pada data warehouse.

1. Tinjauan Pustaka

Beberapa penelitian mengenai perancangan data warehouse sudah pernah dilakukan. Penelitian dengan judul “Perancangan dan Pembangunan Data Warehouse pada PLN Salatiga Menggunakan Skema Snowflake ”. Penelitian ini membahas bagaimana membuat aplikasi data warehouse menggunakan skema snowflake. Hasil dari penelitian ini adalah terciptanya aplikasi data warehouse menggunakan skema snowflake yang bertujuan untuk melihat efektifitas dan efisiensi dari aplikasi data warehouse yang dibangun [5]. Adapun penelitian yang membahas tentang penerapan data warehouse yang berjudul “Perbandingan Traditional Business Intelligence dan Service-oriented Business Intelligence SoBI untuk Integrasi Data Akademik dan Keuangan Studi Kasus: Universitas Kristen Satya Wacana ”. Penelitian ini membahas perbandingan dari implementasi konsep traditional BI dengan konsep BI. Dimana data keuangan dan akademik dari SIASAT dan SIKASA disatukan dalam sebuah data warehouse dari sumber database yang berbeda. Pengambilan data dari sumber database dilakukan melalui aplikasi web service yang berguna untuk proses ETL dalam data warehouse untuk konsep SoBI [6]. Penelitian lain yang membahas mengenai replikasi data, yaitu “Perancangan dan Implementasi Sistem Replikasi Data pada Multiplatform Database menggunakan Teknologi Goldengate ”. Penelitian ini membahas bagaimana melakukan perancangan dan implementasi replikasi data ke dalam database management system yang berbeda menggunakan teknologi Oracle Goldengate. Database sumber yang digunakan adalah Microsoft SQL Server 2005 yang akan di replikasi menggunakan Oracle Goldengate ke database tujuan yaitu Oracle 10g. Sistem replikasi yang digunakan pada penelitian ini adalah replikasi satu arah [7]. Penelitian lain yang membahas mengenai Oracle Streams adalah “Oracle Streams: A High Performance Implementation for Near Real Time Asynchronous Replication ”. Penelitian ini membahas tentang cara mereplikasi data pada database sumber ke database tujuan menggunakan metode replikasi asynchronous. Metode asynchronous merupakan metode replikasi yang mengisi data pada kedua database, di mana akan terdapat delay atau jeda pada saat proses penyalinan data dari database sumber ke database tujuan. Hasil dari penelitian ini adalah replikasi data dapat diterpakan pada database dengan tersalinnya 20,000 LCR Logical Change Record setiap detiknya. Optimasi dari replikasi ini dibentuk dari pembuatan algoritma pada setiap optimasi yang dibuat dan setiap optimasi terdiri dari proses enkapsulasi LCR yang teridri dari proses capturing, propagating, serta applying logical change records dari database asal ke database tujuan [8]. 9 Penelitian yang dilakukan dengan judul Data Warehousing dengan Oracle Streams pada database Multi-platform akan membahas mengenai bagaimana membangun sebuah data warehouse yang memiliki sumber database yang berbeda platform menggunakan replikasi data pada Oracle Streams khususnya menggunakan fitur data warehouse loading. Database multi-platform akan diintegrasikan dalam satu kesatuan menggunakan model staging area, setelah itu fitur data warehouse loading akan digunakan untuk mereplikasi data dari sumber data staging area yang kemudian direplikasikan ke data warehouse. Hasil dari penelitian ini adalah tersedianya data warehouse dari database multiplatform yang di replikasi menggunakan data warehouse loading dari Oracle Streams. Data warehouse adalah koleksi data yang mempunyai sifat berorientasi subjek, terintegrasi, time-variant, dan bersifat tetap dari koleksi data dalam mendukung proses pengambilan keputusan [9]. Data warehouse juga dapat diartikan sebagai database yang bersifat analisis dan read only yang digunakan sebagai fondasi dari sistem penunjang keputusan [10]. Berdasarkan penjelasan para ahli di atas dan digabungkan dengan pengertian dari dokumen Oracle Data Warehouse, data warehouse adalah sebuah database relasional yang dirancang untuk query dan analisis bukan untuk proses transaksi yang memiliki sumber database berbeda-beda [11]. Selain database relasional, data warehouse juga mencangkupi extraction, transportation, dan loading ETL, analisis statistik, pelaporan, data mining, dan aplikasi lainnnya yang mengelola proses pengumpulan data [12]. Kaitannya dengan analisis, proses ETL diperlukan dalam pembuatan data warehouse dengan langkah-langkah sebagai berikut: i Data Extraction adalah proses mengekstrak sumber data dari jenis data yang berbeda maupun dari operating system yang berbeda ii Data Transform adalah proses untuk memilah kembali data yang telah diesktrak kedalam bentuk format dan struktur tabel sesuai dengan apa yang dibutuhkan iii Data Loading adalah proses pengisian data ke media penyimpanan data warehouse [3].Selain itu, pada dasarnya data warehouse berisi data historis dari data transaksi, tetapi bisa berisi data dari sumber yang lain. Data warehouse memiliki empat karakteristik, yaitu subject oriented berorientasi subjek, integrated terintegrasi, time variant rentang waktu, dan non-volatile [3]. Berorientasi subjek adalah data warehouse di desain untuk menganalisis berdasarkan subjek bukan berdasarkan proses atau aplikasi. Tertintegrasi menunjukkan data warehouse memiliki sumber data yang banyak dan berbeda yang saling terintegrasi dalam bentuk format yang konsisten. Rentang waktu menunjukkan bahwa data warehouse dapat dikatakan akurat dan valid pada rentang waktu tertentu dengan membuat interval waktu yang digunakan dalam mengukur keakuratan data warehouse. Non Volatile berarti data warehouse tidak diperbaharui secara real-time tetapi data diperbaharui secara berkala yang kemudian secara bertahap data ditambahkan. Berdasarkan karakteristik tersebut data warehouse memberi manfaat antara lain i proses analisis mengguanakan query bisa lebih mudah karena data yang telah teroganisir dengan baik ii perbedaan data dari sumber data yang berbeda dapat disatukan dengan baik sehingga penggunaan waktu dapat lebih efisien iii memungkinkan suatu perusahaan melakukan perbaikan pada record data history 10 iv mengurangi penggunaan loading data yang berasal dari data operasional secara langsung [13]. Pada hakikatnya data warehouse dibuat untuk yang menyimpan data historical dari beberapa sumber data dalam sebuah perusahaan. Data historical tidaklah menyimpan seribu atau seratus ribu data saja, namun penyimpanan data historical di data warehouse mampu menampung record hingga berjuta-juta record data. Banyaknya jumlah data di data warehouse dipengaruhi oleh terintegrasinya sumber-sumber data yang dipakai. Karena itulah, penggunaan data warehouse sangat mendukung perusahaan didalam melakukan analisa maupun mendukung pengambilan keputusan strategi bisnis. Penggunaan data warehouse juga akan membantu performa query didalam perusahaan karena selama penggunaan data warehouse, data warehouse tidak akan mengganggu kegiatan operasional di data operasional perusahaan. Perbedaan data warehouse dengan data operasional adalah i data operasional dirancang untuk berorientasi pada fungsi dan aplikasi tertentu sedangkan data warehouse dirancang untuk berorientasi pada subjek ii fokus pada data operasional adalah pada proses dan desain database sedangkan fokus dari data warehouse adalah pada pemodelan data dan desain data iii isi dari data operasional adalah sebuah rincian dari data sedangkan isi data warehouse berupa data historis yang berguna untuk pembuatan analisis iv bentuk data operasional selalu mengikuti aturan terbaru dalam relasi antar tabelnya seperti normalisasi pada tabel sedangkan bentuk data warehouse adalah tabel-tabel yang tersaji berdasarkan aturan bisnis [3]. Untuk menampilkan data didalam data warehouse, dibutuhkan rancangan logikal untuk menampung rancangan tersebut yang biasa disebut model dimensional. Setiap model dimensi terdiri dari sebuah tabel dengan kumpulan dari primary key yang disebut sebagai tabel fakta dan satu set tabel yang lebih kecil yang menampung referensi data yaitu tabel dimensi. Model dimensional dalam data warehouse terdiri dari beberapa skema. Skema bintang star schema adalah struktur logikal yang memiliki tabel fakta dan dikelilingi oleh tabel dimensi sebagai referensi data. Skema snowflake adalah varian dari skema bintang dimana tabel dimensi yang terdapat di skema ini tidak terdapat data yang di denormalisasi. Yaitu dimana tabel dimensi tidak bergabung langsung dengan tabel fakta namun bergabung langsung dengan tabel dimensi lainnya yang dapat dilihat pada Gambar 1 [13]. 11 Gambar 1 Bentuk skema snowflake [3] Oleh karena itu, membuat sebuah desain data warehouse harus mengacu pada tujuan dibentuknya data warehouse yaitu membuat proses analisis dari banyak sumber data berupa data historical. Mendesain data warehouse diperlukan pengkategorian analisis yang akan dibuat dimana kategori dari analisis tersebut harus menjawab kebutuhan bisnis perusahaaan dan mengacu pada karakteristik data warehouse. Setelah kategori-kategori tersebut ditentukan, pemilihan database yang akan digunakan dalam pembuatan desain data warehouse dapat lebih mudah karena mengacu pada kategori tersebut. Karena pemilihan database yang tepat dalam data warehouse akan menjawab kebutuhan bisnis perusahaan tersebut secara akurat [3]. Oracle streams merupakan sebuah teknologi replikasi data yang sudah dikembangkan sejak di Oracle 9i Release 2 [14]. Oracle streams memungkinkan pengguna untuk berbagi informasi mengenai manajemen data, transaksi dalam database Oracle maupun database non Oracle. Oracle streams dapat dikatakan fleksibel karena didalam Oracle Streams memungkinkan pengguna satu dengan yang lainnya dapat melakukan intervensi. Intervensi disini berarti pengguna dapat mengetahui informasi apa yang sedang terjadi di Oracle Streams, aliran data yang terjadi, dan mengetahui apa yang terjadi pada event di Oracle Streams dan mengetahui bagaimana Oracle Streams bisa berhenti. Oracle streams dapat digunakan pada waktu yang sama dalam arti ketika ingin melakukan perubahan konfigurasi atau perubahan lainnya, perubahan tersebut dapat langsung diimplementasikan tanpa harus menghapus konfigurasi yang lama. Oracle Streams adalah arus informasi baik dalam database tunggal atau dari satu database ke database yang lain. Oracle Streams dapat diatur dalam bentuk database homogen semua database dengan platform Oracle atau database heterogen platform non - Oracle Database. Streaming Setup menggunakan serangkaian proses dan objek database untuk berbagi data dan pesan. Perubahan 12 database DDL dan DML ditangkap atau diambil dari sumber datanya, yang kemudian dipentaskan staging dan disebarkan ke satu atau lebih database dengan tujuan untuk diterapkan di sana streams setup. Didalam Oracle Streams terdapat 3 area pokok didalam pemrosesannya yaitu 1 Capture, 2 Staging, dan 3 Consumption [15]. Tahap pertama adalah Capture, merupakan proses awal pada Oracle Streams, yaitu menangkap perubahan semua data pada database baik secara DML Data Manipultaion Language atau DDL Data Definition Language. Perubahan pada database akan secara otomatis tersimpan di redo logs. Capture processes menangkap perubahan dari redo logs dan format dari setiap perubahan lalu ditangkap dalam bentuk pesan atau message yang disebut sebagai logical change record LCR. Pesan yang ditangkap melalui proses capture tadi disebut sebagai capture LCRs. Redo logs merekam semua perubahan yang dibuat pada datafile milik database kita. Menggunakan redo logs dan salinan lama datafile yang lengkap, database Oracle dapat menerapkan perubahan-perubahan yang direkam di redo logs untuk membuat ulang re-create database pada setiap titik di antara waktu backup dan saat terakhir dibuatnya redo logs. Setiap saat database berubah, perubahan akan dicatat di online redo log, sebelum nantinya akan dicatat di datafile. Tahap kedua adalah staging. Setelah perubahan data direkam pada proses capture, selanjutnya adalah perubahan akan dikirim ke database target yang disimpan dalam proses staging. Semua pesan yang diambil akan disimpan di staging area. Staging area adalah in-memory buffer dan bagian dari system global area SGA dari instance database. Biasanya staging area merupakan tempat sementara untuk menampung tabel di server data warehouse. Pesan yang sudah dibuat oleh aplikasi pengguna juga disimpan di staging area. LCR yang dibentuk dari proses synchronous capture tidak disimpan di antrian memori, namun disimpan di dalam disk queue table. Tahap ketiga adalah tahap consumption. Ketika pesan telah terambil dari staging area, itu sudah dianggap sebagai consumed atau telah terpakai. Jika pesan atau message digunakan dari proses yang telah diterapkan dan diterapkan pada objek database, maka database tersebut akan disebut sebagai destination database atau database tujuan. Proses terapan atau apply process berjalan secara local pada database tujuan. Di beberapa konfigurasi, sumber database dan database tujuan bisa sama. Rules akan mengenali pesan mana yang dequeued pesan diambil dari antrian dan pesan yang diambil dari proses yang diterapkan. Apply process dapat menerapkan pesan secara langsung ke objek database atau melewati pesan untuk menggunakan subprogram PLSQL untuk pemrosesannya. Secara umum, apply process menerapkan capture dari LCR, tetapi kita bisa menghentikan atau menahan dan menerapkan LCR menggunakan prosedur PLSQL yang telah dikostumisasi. 13 Gambar 2 Alur Replikasi Oracle Streams One Way Replication [15] Oracle streams memiliki beberapa metode dalam melakukan replikasi data, salah satunya adalah metode replikasi one-way replication yang dapat dilihat pada Gambar 2 [15]. Tahapan yang terjadi dalam replikasi ini sebagai berikut: pertama semua perubahan yang terjadi pada sumber database akan masuk ke dalam redo logs. Kemudian, redo logs akan direkam oleh capture process yang terdiri dari DML data manipulation language dan DDL data definition language menjadi LCR logical change record. Selanjutnya, LCR dikirim oleh queue database asal ke queue database tujuan melalui proses yang disebut propagation [16]. Di dalam database tujuan, queue akan mengalami proses dequeue, yaitu proses penerapan LCR dari database asal ke database tujuan yang disebut sebagai apply process. Pada tahap ini disebut juga sebagai data warehouse loading. Setelah itu, LCR yang membawa perubahan berupa database object masuk ke dalam redo logs database tujuan dan diterapkan di database tujuan.

2. Metode Penelitian