Hermawan Distributed Database Basis data terdistribusi adalah kumpulan database yang disimpan di banyak komputer pada lokasi yang berbeda-beda dan menampilkan ke user sebagai single database berisi kumpulan site à eksekusi transaksi lokal (mengakses data pada satu site) & transaksi global (mengakses data pada site berbeda ) Contoh Distributed Database Transaksi lokal : transaksi menambahkan dana pada nomor rekening 1112234 yang berada di cabang bangkalan. Transaksi ditentukan pada cabang bangkalan. Transaksi global : transaksi transfer dari rekening 1112234 ke rekening 2223410 yang berada di surabaya(rekening didua site berbeda telah diakses sebagai hasil dari eksekusinya) Media Distributed Database Site-site dalam database terdistribusi dihubungkan secara fisik dengan berbagai cara. Beberapa topologi digambarkan sebagai sebuah graph. Beberapa bentuk : Fully connected network Kalau salah satu node rusak, yang lainnya masih dapat berjalan (biaya mahal), kontrol manajemen tidak terjamin. Partially connected network, Reliability rendah, biaya dapat ditekan Kontrol manajemen tidak terjamin. Tree structured network, Bersifat sentral, control manajemen lebih terjamin Kalau node pusat rusak, semua akan rusak. (setiap proses dimulai dari bawah). Ring network (LAN) Rusak satu, yang lain masih berjalan Kontrol manajemen kurang terjamin karena bersifat desentralisasi. Star network (LAN), Kontrol manajemen lebih terjamin, karena bersifat sentral, Kalau pusat rusak yang lain rusak. Why A Distributed Database? Distribution and autonomy of business units divisi dan departemen dari suatu organisasi tersebar secara geografis Data sharing proses sharing data harus dilakukan secara mudah dan tepat Data communications costs and reliability proses pertukaran data dalam jumlah yang besar melalui jaringan membutuhkan biaya yang besar dan berpengaruh pada performance jaringan Keuntungan Distributed Database? Pengawasan distribusi dan pengambilan data Jika beberpa site yang berbeda dihubungkan, seorang pemakai yang berada pada satu site dapat mengakses data pada site lain. Contoh : sistem distribusi pada sebuah bank memungkinkan seorang pemakai pada salah satu cabang dapat mengakses data cabang lain. Reliability dan availability Sistem distribusi dapat terus menerus berfungsi dalam menghadapi kegagalan dari site sendiri atau mata rantai komunikasi antar site. Kecepatan pemrosesan query Contoh : jika site-site gagal dalam sebuah sistem terdistribusi, site lainnya dapat melanjutkan operasi jika data telah direplikasi pada beberapa site. Otonomi lokal Pendistribusian sistem mengijinkan sekelompok individu dalam sebuah perusahaan untuk melatih pengawasan lokal melalui data mereka sendiri. Dengan kemampuan ini dapat mengurangi ketergantungan pada pusat pemrosesan. Efisiensi dan fleksibel Data dalam sistem distribusi dapat disimpan dekat dengan titik diman data tersebut dipergunakan. Data dapat secara dinamik bergerak atau disain, atau salinannya dapat dihapus. Keuntungan Distributed Database? Harga software mahal Hal ini disebabkan sangat sulit untuk membuat sistem database distribusi. Kemungkinan kesalahan lebih besar Site-site beroperasi secara paralel sehingga lebih sulit untuk menjamin kebenaran dan algoritma. Adanya kesalahan mungkin tak dapat diketahui. Biaya pemrosesan tinggi Perubahan pesan dan penambahan perhitungan dibutuhkan untuk mencapai koordinasi antar site. Homogenous Distributed Database Homogenous Distributed Database (2) Menggambarkan sistem terdistribusi yang mengkoneksikan 3 database hq, mfg, dan sales User dapat mengakses atau memodifikasi data pada beberapa database pada suatu lingkungan terdistribusi Misalnya manufacturing melakukan join antara tabel yang ada di local database mfg dengan tabel yang berada di database hq (remote access) Heterogeneous Distributed Database Oracle Database server mengakses non-Oracle Database system menggunakan Oracle Heterogeneous Services: - Oracle Transparent Gateway - Generic Connectivity (ODBC,OLEDB) RANCANGAN DATABASE TERDISTRIBUSI FRAGMENTASI DATA Fragmentasi : relasi dibagi ke dalam beberapa bagian, setiap bagian disimpan pada lokasi yang berbeda. Tiga jenis fragmentasi : Fragmentasi Horizontal. Berisi tuple-tuple yang dipartisi dari sebuah relasi global ke dalam sejumlah subset. Deposit 1 = s branch-name = “Hillside” (Deposit) Deposit 1 = s branch-name = “Valleyview” (Deposit) RANCANGAN DATABASE TERDISTRIBUSI Contoh : Branch-name Account-number Customer-name Balance ________________________________________________________ Hillside 305 Lowman 500 Hillside 226 Camp 336 Hillside 115 Khan 62 Branch-name Account-number Customer-name Balance _________________________________________________________ Valleyview 177 Camp 205 Valleyview 402 Khan 10000 Valleyview 408 Khan 1123 Valleyview 639 Green 750 RANCANGAN DATABASE TERDISTRIBUSI Fragmentasi Vertical Branch-name Hillside Hillside Valleyview Valleyview Hillside Valleyview Valleyview Account-number 305 226 117 402 115 408 639 Customer-name Lowman Camp Camp Khan Khan Khan Green Balance 500 336 205 10000 62 1123 750 Tuple-id 1 2 3 4 5 6 7 Deposit 3 = p branch-name, customer-name,tuple-id (deposit) Deposit 4 = p account-number,balance,tuple-id (deposit) RANCANGAN DATABASE TERDISTRIBUSI Branch-name Hillside Hillside Valleyview Valleyview Hillside Valleyview Valleyview Customer-name Lowman Camp Camp Khan Khan Khan Green Tuple-id 1 2 3 4 5 6 7 Account-number Balance Tuple-id 305 500 1 226 336 2 117 205 3 402 10000 4 115 62 5 408 1123 6 639 750 7 RANCANGAN DATABASE TERDISTRIBUSI Fragmentasi campuran. Data Warehouse Data warehouse adalah relasional database yang didesain untuk proses query dan analisa Meliputi: extraction, transportation, transformation, loading solution, online analytical processing (OLAP),client analysis tool, dan aplikasi lain yang mengatur proses pengumpulan data dan mengirimkan ke business user Data Warehouse Data warehouse didesain untuk proses analisa data Contoh: data penjualan pada suatu perusahaan. Dengan data warehouse maka dapat menjawab pertanyaan “siapakah customer terbesar pada akhir pada akhir tahun?” Data warehouve vs OLTP (Online Transaction Processing) Salah satu perbedaan utama data warehouse dengan OLTP adalah data warehouse tidak selalu dalam bentuk normal ketiga (3NF), sedangkan OLTP biasanya dalam bentuk normal ketiga (3NF) Data warehouve vs OLTP n Workload v v Data warehouse didesain untuk menampung query dalam jumlah yang besar OLTP hanya mendukung operasi tertentu Data modification v v n Data warehouse diupdate data secara regular (setiap minggu atau setiap hari) menggunakan teknik modifikasi data sehingga user tidak secara langsung mengupdate data warehouse Pada OLTP, user melakukan proses update data secara rutin dan langsung Schema Design v v Data warehouse biasanya ternormalisai secara sebagian bahkan dalam keadaan tidak ternormalisasi OLTP ternormalisasi penuh untuk meningkatkan proses update/insert/delete dan meningkatkan konsistensi data Data warehouve vs OLTP n Typical operation v v n Data warehouse menjalankan query yang memproses banyak baris (ratusan atau milyaran), contoh :total penjualan semua customer pada akhir bulan OLTP hanya mengkases record tertentu, contoh :mencari data order untuk customer tertentu Historical data v v Data warehouse menyimpan data selama beberapa bulan atau tahun. Hal ini mendukung proses historical analysis OLTP menyimpan data hanya beberapa minggu atau bulan Arsitektur data warehouse End user secara langsung mengakses data dari beberapa sistem melalui data warehouse Data Mining Suatu metode yang digunakan untuk mengekstrak pola dari suatu data Nama lain: Knowledge Discovery in Database (KDD) Proses KDD: v v v v Identifikasi masalah Menyiapkan data Membangun model data (data mining) Menggunakan dan memonitoring model Application Data Mining Data analysis and decision support Managemen dan analisa pasar Target marketing, customer relationship management (CRM), market basket analysis, cross selling, market segmentation Managemen dan analisa resiko Forecasting, improved underwriting, quality control, competitive analysis Other Applications Text mining (news group, email, documents) and Web mining Stream data mining DNA and bio-data analysis Data Mining Task’s Association, menemukan hubungan dan korelasi antara berbagai data item Classification, menganalisa data percobaan dan membangun model berdasarkan fitur dari data Prediction, memprediksi nilai-nilai yang mungkin terjadi dari data yang hilang atau distribusi nilai dari atribut tertentu dalam kumpulan obyek Clustering, mengidentifikasi cluster yang tersimpan dalam data, dimana cluster tersebut merupakan kumpulan data yang memiliki kesamaan dengan yang lain Time-series analysis, mencari urutan kesamaan, pola (pattern), periode dan deviasi Data Mining Method’s Classification and regression classification menghasilkan data categorical dan regression menghasilkan data numeric Clustering menggunakan algoritma k-mean, k-median Association menemukan pola pada data transaksional. Berhubungan dengan market basket analysis What Kind of Output? Rules n Decision Trees Product F Product A n Web Product C Product E Product B Product G Product D Keunggulan penyimpanan database besar, dalam hitungan megabyte, gigabyte, terabyte Relationship yang komplek antar field. Gabungan antara data numerical dan categorical Skalabilitas tinggi.