Apa itu DataWarehouse ?

  Menurut Wikipedia, Datawarehouse adalah

In computing, a data warehouse or enterprise data warehouse (DWDWH, or EDW) is a database used for reporting and data analysis. It is a central repository of data which is created by integrating data from one or more disparate sources. Data warehouses store current as well as historical data and are used for creating trending reports for senior management reporting such as annual and quarterly comparisons.

The data stored in the warehouse are uploaded from the operational systems (such as marketing, sales etc., shown in the figure to the right). The data may pass through an operational data store for additional operations before they are used in the DW for reporting.

Dari informasi diatas, maka datawarehouse adalah suatu database yang dipergunakan untuk keperluan membuat laporan dan analisa data. Database ini berperan sebagai pusat data dari berbagai sumber data, semisal dari 2 atau 3 database yang lainnya.  Datawarehouse menyimpan data saat ini dan data history yang dipergunakan untuk membuat report report perbandingan antara suatu waktu atau area dengan yang lainnya. Jadi orientasi dari datawarehouse adalah analisa data.

Contoh jenis analisa di dalam datawarehouse :

  • Data Penjualan berdasarkan :
    • Area, Tahun, Jenis Produk, dll
  • Data Kemampuan Karyawan berdasarkan :
    • Skill, Umur, Test, dll
  • Data Pembelian berdasarkan :
    • Tahun, Supplier, Produk, OnTime, dll

Data yang disimpan di dalam database datawarehouse itu berasal dari berbagai database berjenis OLTP. OLTP adalah database yang dipergunakan untuk keperluan penyimpanan data transactional. Jadi data data OLTP harus di upload ke dalam database datawarehouse, proses upload data ini dikenal dengan istilah ETL ( Extract, Transform, Load). Penjelasannya sebagai berikut :

  • Extract
    • Ekstrak data dari sumber data yang lain, dari database OLTP atau dari file Excell, atau dari file Log dan sebagainya.
  • Transform
    • Transformasi data agar sesuai dengan kebutuhan kita, termasuk urutan, perhitungan atau penjabaran.
  • Load
    • Loading ke dalam database tujuan kita, database datawarehouse.

Database Datawarehouse harus didesain dan di rancang untuk menangani kegiatan Analisa Data. Desain databasenya memiliki karakteristik sebagai berikut :

  • De-Normalisasi
    • Tabel tabel yang dimiliki selalu dalam bentuk tabel de-normalisasi atau 90% atau lebih dari tabel yang dimilikinya dalam bentuk de-normalisasi
  • Database Blok berukuran besar, 8 kilobyte , 16 kilobyte atau 32 kilobyte
    • Setiap blok penyimpanan di database umumnya memakai besaran lebih dari 8kb
    • Ukuran blok yang besar ini akan mempercepat proses pencarian keseluruhan data di dalam tabel
  • Data diatur berdasarkan subyeknya
    • Subyek ini yang menentukan data didalam datawarehouse, contohnya data penjualan, pembelian dan lain lain.
  • Integrasi
    • Data yang berasal dari berbagai sumber data tentu memiliki beberapa perbedaan, misal nama kolom atau tipe data. Perbedaan perbedaan ini harus di atasi, agar dapat di buat laporan dengan format yang valid dan kosisten.
  • Non-Volatile
    • Artinya, sekali data itu masuk ke datawarehouse, data tidak boleh di ubah. Mengapa ? karena fungsi datawarehouse adalah untuk mengetahui apa yang terjadi.
  • Time Variant
    • Data yang disimpan di dalam datawarehouse di kelompokkan berdasarkan waktunya, mingguan, bulanan atau tahunan.

Dengan karakteristik seperti itu, maka database Datawarehouse haruslah dapat menyimpan data dalam jumlah yang besar, gigabye atau terabyte. Pengambilan data dalam jumlah besar juga harus dapat dilakukan, tidak harus cepat, tapi harus dapat dilakukan. Misal untuk membuat suatu analisa perlu melakukan query terhadap database yang menghasilkan 1 Trilyun record, yang kemudian di summarize menjadi 100 record.

Kecepatan bukan hal yang utama disini, penyelesaian suatu analisa itu yang paling utama.