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
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
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 (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
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
Branch-name Account-number Customer-name Balance Tuple-id
Hillside 305 Lowman 500 1 Hillside 226 Camp 336 2 Valleyview 117 Camp 205 3 Valleyview 402 Khan 10000 4 Hillside 115 Khan 62 5 Valleyview 408 Khan 1123 6 Valleyview 639 Green 750 7 Fragmentasi Vertical
Deposit 3 = p branch-name, customer-name,tuple-id (deposit) Deposit 4 = p account-number,balance,tuple-id (deposit)
RANCANGAN DATABASE TERDISTRIBUSI
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
Branch-name Customer-name Tuple-id Hillside Lowman 1 Hillside Camp 2 Valleyview Camp 3 Valleyview Khan 4 Hillside Khan 5 Valleyview Khan 6 Valleyview Green 7
RANCANGAN DATABASE TERDISTRIBUSI
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 Salah satu perbedaan utama data warehouse dengan OLTP adalah data warehouse tidak selalu dalam bentuk normal ketiga (3NF), data warehouse tidak selalu dalam bentuk normal ketiga (3NF), sedangkan OLTP biasanya dalam bentuk normal ketiga (3NF) sedangkan OLTP biasanya dalam bentuk normal ketiga (3NF)
Data warehouve vs OLTP
Data modification
v
v Data warehouse biasanya ternormalisai secara sebagianData warehouse biasanya ternormalisai secara sebagian
bahkan dalam keadaan tidak ternormalisasi bahkan dalam keadaan tidak ternormalisasi
v
v OLTP ternormalisasi penuh untuk meningkatkan prosesOLTP ternormalisasi penuh untuk meningkatkan proses
update/insert/delete dan meningkatkan konsistensi data update/insert/delete dan meningkatkan konsistensi data
n
n
Workload
Workload
v
v Data warehouse diupdate data secara regular (setiapData warehouse diupdate data secara regular (setiap
minggu atau setiap hari) menggunakan teknik modifikasi minggu atau setiap hari) menggunakan teknik modifikasi data sehingga user tidak secara langsung mengupdate data sehingga user tidak secara langsung mengupdate data warehouse
data warehouse
v
v Pada OLTP, user melakukan proses update data secaraPada OLTP, user melakukan proses update data secara
rutin dan langsung rutin dan langsung
n
n
Schema Design
Schema Design
v
v Data warehouse didesain untuk menampung query dalamData warehouse didesain untuk menampung query dalam
jumlah yang besar jumlah yang besar
v
Data warehouve vs OLTP
n
n
Typical operation
Typical operation
v
v Data warehouse menjalankan query yang memprosesData warehouse menjalankan query yang memproses
banyak baris (ratusan atau milyaran), contoh :total banyak baris (ratusan atau milyaran), contoh :total penjualan semua customer pada akhir bulan
penjualan semua customer pada akhir bulan
v
v OLTP hanya mengkases record tertentu, contoh :mencariOLTP hanya mengkases record tertentu, contoh :mencari
data order untuk customer tertentu data order untuk customer tertentu
n
n
Historical data
Historical data
v
v Data warehouse menyimpan data selama beberapa bulanData warehouse menyimpan data selama beberapa bulan
atau tahun. Hal ini mendukung proses historical analysis atau tahun. Hal ini mendukung proses historical analysis
v
Arsitektur data warehouse
End user secara langsung mengakses data dari beberapa sistem 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
Identifikasi masalah
Identifikasi masalah
vv
Menyiapkan data
Menyiapkan data
vv
Membangun model data (data mining)
Membangun model data (data mining)
vApplication 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
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),
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
nnDecision Trees
Decision Trees
n n