cluster-database

18
Nursih Dwi Hastuti (09650029) Praktikum DBD kelas I CLUSTER DATABASE Teknologi Cluster Kebutuhan akan komunikasi data dewasa ini sangat penting seiring dengan kemajuan dan perkembangan teknologi komunikasi data yang semakin canggih. Hal yang sangat penting bagi Teknologi komunikasi data adalah database sebagai penyedia data. Aplikasi-aplikasi database dituntut untuk mampu melayani banyak akses data. Hal ini dapat dimaklumi karena database server telah di rancang untuk dapat melayani beragam jenis akses data. Saat ini aplikasi databse semakin berkembang, baik dalam hal kegunaan, ukuran, maupun kompleksitas. Hal ini secara langsung akan berdampak pada server database sebagai penyedia layanan terhadap akses databse, konsekuensi dari semua itu adalah beban databse server akan semakin bertambah berat dan mengakibatkan kurang optimalnya kinerja dari server tersebut. Oleh sebab itu, diperlukan perancangan yang tepat dan handal dalam membangun databse server. Solusi praktis dan tepat yang dapat diterapkan untuk mengatasi permasalahan diatas antara lain dengan penerapan Teknologi Cluster. Banyak sekali manfaat yang diperoleh dari teknologi cluster diantaranya meningkatkan ketersediaan dan performansi system. Pada server database yang besar dalam pelayanannya tidak menggunakan server databse tunggal, tetapi dilayani oleh sekelompok server database, beberapa buah server databse

Upload: gus-plug

Post on 01-Jul-2015

142 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Cluster-Database

Nursih Dwi Hastuti (09650029)

Praktikum DBD kelas I

CLUSTER DATABASE

Teknologi Cluster

Kebutuhan akan komunikasi data dewasa ini sangat penting seiring dengan kemajuan

dan perkembangan teknologi komunikasi data yang semakin canggih. Hal yang sangat

penting bagi Teknologi komunikasi data adalah database sebagai penyedia data. Aplikasi-

aplikasi database dituntut untuk mampu melayani banyak akses data. Hal ini dapat dimaklumi

karena database server telah di rancang untuk dapat melayani beragam jenis akses data. Saat

ini aplikasi databse semakin berkembang, baik dalam hal kegunaan, ukuran, maupun

kompleksitas. Hal ini secara langsung akan berdampak pada server database sebagai penyedia

layanan terhadap akses databse, konsekuensi dari semua itu adalah beban databse server akan

semakin bertambah berat dan mengakibatkan kurang optimalnya kinerja dari server tersebut.

Oleh sebab itu, diperlukan perancangan yang tepat dan handal dalam membangun databse

server. Solusi praktis dan tepat yang dapat diterapkan untuk mengatasi permasalahan diatas

antara lain dengan penerapan Teknologi Cluster.

Banyak sekali manfaat yang diperoleh dari teknologi cluster diantaranya

meningkatkan ketersediaan dan performansi system. Pada server database yang besar dalam

pelayanannya tidak menggunakan server databse tunggal, tetapi dilayani oleh sekelompok

server database, beberapa buah server databse dihubungkan menjadi satu pada lingkungan

yang sangat kompleks. Arsitektur yang digunakan harus menjamin bahwa sistem bekerja

dengan baik, setiap server mengerjakan beban semestinya, dan tidak ada bottleneck. Berbagai

jenis server diikat menjadi satu untuk menjadikan suatu pelayanan tunggal (one stop

shopping). Database tercluster tersebut dapat dianggap personal desktop atau database

tunggal bagi penggunanya.

Database pada masa sekarang ini dituntut agar dapat berjalan dengan cepat dan

mempunyai kehandalan yang tinggi, Dengan clustering ini database yang disimpan dapat

terbagi ke beberapa mesin dan pada saat aplikasi berjalan, semua mesin yang menyimpan

data tersebut dianggap sebagai satu kesatuan. Metode clustering seperti ini sangat baik untuk

load balancing dan penanganan system failure karena kemampuan tiap mesin akan digunakan

dan jika ada salah satu mesin yang mengalami failure maka sistem tidak akan langsung

Page 2: Cluster-Database

terganggu karena mesin lain akan tetap berfungsi. Kemampuan clustering memungkinkan

sebuah database tetap hidup dalam waktu yang lama. MySQL berani menjanjikan angka

99.999 persen ketersediaan databasenya. Sederhananya, dalam satu tahun kira-kira hanya

lima menit waktu database itu tidak hidup.

MySQL Cluster

MySQL Cluster menggunakan mesin penyimpanan cluster NDB baru yang mampu

menjalankan beberapa MySQL Server di dalam sebuah cluster. Mesin penyimpanan cluster

NDB tersedia di dalam BitKepper dari MySQL release 4.1.2 dan di dalam binary releases

dari MySQL-Max 4.1.3. System operasi yang didukung adalah Linux, Mac OS X, dan

Solaris, pihak MySQL sedang membuat/mengembangkan agar cluster NDBdapat berjalan

pada semua system operasi yang didukung oleh MySQL termasuk Windows.

Overview

MySQL Cluster adalah sebuah teknologi baru untuk memungkinkan clustering di

dalam memory database dalam sebuah sistem share-nothing. Arsitektur share-nothing

mengijinkan sistem dapat bekerja dengan hardware/perangkat keras yang sangat murah, dan

tidak membutuhkan perangkat keras dan lunak dengan spesifikasi khusus. Arsitektur tersebut

juga handal karena masing-masing komponen mempunyai memory dan disk tersendiri.

MySQL Cluster menggabungkan MySQL Server biasa dengan sebuah mesin penyimpanan

in-memory tercluster yang dinamakan NDB. NDB berarti bagian dari suatu rangkaian yang

dikhususkan sebagai mesin penyimpanan, sedangkan MySQL Cluster diartikan sebagai

kombinasi atau gabungan dari MySQL dan mesin penyimpanan yang baru tersebut.

Sebuah MySQL Cluster terdiri dari sekumpulan komputer, masing-masing

menjalankan sejumlah proses mencakup beberapa MySQL server, node-node penyimpanan

untuk cluster NDB, server-server manajemen dan program-program pengakses data yang

khusus. Semua program-program tersebut bekerja bersama-sama untuk membentuk MySQL

Cluster. Ketika data disimpan di dalam mesin penyimpan media NDB cluster, tabel-tabel

disimpan didalam node-node penyimpanan pada NDB Cluster. Tabel-tabel seperti itu dapat

diakses secara langsung dari semua MySQL server yang lain di dalam cluster tersebut.

Dengan cara demikian, sebuah aplikasi daftargaji menyimpan data di dalam sebuah cluster,

jika sebuah aplikasi mengupdate/memperbaharui gaji seorang karyawan, semua MySQL

server yang lain yang meminta data ini dapat melihat perubahannya dengan seketika.

Page 3: Cluster-Database

Data yang disimpan di dalam node-node penyimpanan pada MySQL Cluster dapat di

mirror (dicerminkan), cluster tersebut dapat menangani kegagalan dari node-node

penyimpanan individual dengan tidak ada dampak lain dari sejumlah transaksi dihentikan

karena kegagalan proses transaksi. Sejak aplikasi untuk proses-proses transaksi diharapkan

mampu menangani kegagalan transaksi, ini semua tidak seharusnya menjadi sumber

permasalahan. Dengan memperkenalkan MySQL Cluster pada dunia open source, MySQL

membuat manajemen data cluster dengan ketersediaan yang tinggi, perfomance yang tinggi

dan skalabilitas ketersediaan untuk siapa saja yang memerlukannya.

Dasar konsep-konsep MySQL Cluster

NDB adalah sebuah mesin penyimpanan memory yang menawarkan ketersediaan

yang tinngi dan fitur-fitur persistensi data. Mesin penyimpanan NDB dapat diatur dengan

sebuah bidang failover dan pilihan-pilhan load-balancing, tetapi untuk memulai paling mudah

dengan mesin penyimpanan pada level cluster. Mesin penyimpanan NDB pada MySQL

Cluster berisi sebuah kumpulan lengkap dari data, bergantung hanya pada data lainnya di

dalam cluster itu sendiri. Sekarang akan diuraikan bagaimana mengatur sebuah MySQL

Cluster yang terdiri dari sebuah mesin penyimpanan NDB dan beberapa MySQL server.

Sebagian dari MySQL Cluster dikonfigurasi tidak tergantung/bebas dari server-server

MySQL yang lain. Di dalam MySQL Cluster, masing-masing bagian dari cluster dianggap

sebagai sebuah node.

Subspace Clustering

Subspace clustering adalah suatu teknik clustering yang mencoba menemukan cluster

pada dataset multidimensi dengan pemilihan dimensi yang paling relevan untuk setiap

cluster, karena pada data multidimensi kemungkinan terdapat dimensi-dimensi yang tidak

relevan yang dapat membingungkan algoritma clustering sehingga bisa mengaburkan cluster

sebenarnya yang seharusnya dapat ditemukan.

Page 4: Cluster-Database

Masalah lainnya, cluster dapat saja berada dalam subspace yang berbeda, dimana setiap

subspace dibentuk dari kombinasi dimensi yang berbeda-beda. Akibatnya, semakin banyak

dimensi yang digunakan, cluster akan sulit ditemukan. Subspace clustering secara otomatis

akan menemukan unit-unit yang padat pada tiap subspace. Pada Gambar diatas,

mengilustrasikan bagaimana peningkatan jumlah dimensi mengakibatkan terpecahnya titik

pada dataset.

Cara yang sudah dikenal untuk mengatasi peningkatan jumlah dimensi adalah

menggunakan teknik reduksi dimensi atau feature selection. Dengan cara ini, dimensionalitas

dataset dikurangi dengan menghilangkan beberapa dimensi, pendekatan ini berakibat pada

hilangnya beberapa informasi dan sekaligus mengurangi efektifitas penemuan cluster yang

mungkin melibatkan dimensi yang dihilangkan tersebut. Jika konsep ini diterapkan dalam

kasus di Gambar di bawah, berakibat hilangnya satu atau dua cluster yang seharusnya ada,

karena masingmasing dimensi menjadi bagian dari satu buah cluster.

Page 5: Cluster-Database

Misalnya ada suatu dataset 3-dimensi yang mempunyai 2 cluster, satu cluster berada

di bidang (x, y) dan (x, z). Untuk dataset seperti ini, metode reduksi dimensi dan feature

selection tidak mampu memperoleh kembali semua struktur cluster, karena setiap dimensi

merupakan salah satu subspace cluster yang terbentuk. Dengan menggunakan metode

subspace clustering, dua cluster yang terbentuk pada Gambar 2-3 diharapkan dapat diperoleh

karena teknik clustering ini dapat menemukan cluster dengan subspace yang berbeda dalam

dataset. Berdasarkan strategi pencariannya algoritma susbsapce clustering dapat

dikatagorikan ke dalam dua kategori yaitu metode top down search iterative dan metode

bottom up search grid based. Algoritma MAFIA termasuk algoritma yang menggunakan

strategi metode bottom up search grid based.

Lemma 1 (monotonicity):

Jika kumpulan titik S merupakan cluster dalam ruang dimensi–k maka S juga merupakan

bagian suatu cluster dalam ruang proyeksi dimensi-(k-1) Penjelasan:

Suatu cluster C yang berdimensi-k memasukkan titik yang jatuh di dalam gabungan

dense unit berdimensi-k yang masing-masing memiliki selectivity minimal. Proyeksi setiap

unit u dalam C harus memiliki selectivity minimal agar bersifat padat. Karena semua unit

dalam cluster terhubung, maka proyeksinya juga terhubung. Artinya, proyeksi titik dalam

cluster C yang berdimensi-k juga berada dalam cluster yang sama pada proyeksi dimensi (k-

1). Algoritma diproses level demi level. Pertama-tama, menentukan calon dense unit

berdimensi 1 dengan melakukan pass over data. Setelah menentukan dense unit berdimensi-

k-1, calon dense unit berdimensi-k ditentukan dengan menggunakan prosedur candidate

generation. Algoritma berhenti jika tidak ada dense unit yang dibangkitkan. Prosedur

candidat generation menyatakan Dk-1 sebagai kumpulan dense unit berdimensi (k-1).

Prosedur ini mengembalikan superset kumpulan calon dense unit berdimensi-k yang akan di

bandingkan dengan density treshold apakah layak atau tidak digunakan sebagai penentu

cluster.

Berbeda dengan association rule mining dan classification dimana kelas data telah

ditentukan sebelumnya, clustering melakukan penge-lompokan data tanpa berdasarkan kelas

data tertentu. Bahkan clustering dapat dipakai untuk memberikan label pada kelas data yang

belum diketahui itu. Karena itu clustering sering digolongkan sebagai metode unsupervised

Page 6: Cluster-Database

learning. Prinsip dari clustering adalah memaksimalkan kesamaan antar anggota satu kelas

dan meminimumkan kesamaan antar kelas/cluster.

Clustering dapat dilakukan pada data yan memiliki beberapa atribut yang dipetakan

sebagai ruang multidimensi. Banyak algoritma clustering memerlukan fungsi jarak untuk

mengukur kemiripan antar data, diperlukan juga metode untuk normalisasi bermacam atribut

yang dimiliki data. Beberapa kategori algoritma clustering yang banyak dikenal adalah

metode partisi dimana pemakai harus menentukan jumlah k partisi yang diinginkan lalu

setiap data dites untuk dimasukkan pada salah satu partisi, metode lain yang telah lama

dikenal adalah metode hierarki yang terbagi dua lagi : bottom-up yang menggabungkan

cluster kecil menjadi cluster lebih besar dan top-down yang memecah cluster besar menjadi

cluster yang lebih kecil.

Kelemahan 3 metode ini adalah bila bila salah satu penggabungan/pemecahan

dilakukan pada tempat yang salah, tidak dapat didapatkan cluster yang optimal. Pendekatan

yang banyak diambil adalah menggabungkan metode hierarki dengan metode clustering

lainnya seperti yang dilakukan oleh Chameleon. Akhir-akhir ini dikembangkan juga metode

berdasar kepadatan data, yaitu jumlah data yang ada di sekitar suatu data yang sudah

teridentifikasi dalam suatu cluster. Bila jumlah data dalam jangkauan tertentu lebih besar dari

nilai ambang batas, data-data tsb dimasukkan dalam cluster. Kelebihan metode ini adalah

bentuk cluster yang lebih fleksibel. Algoritma yang terkenal adalah DBSCAN.

Cluster digunakan untuk mendapatkan high availability dan scalability.

Pada high available cluster, dapat digunakan failover database cluster, dimana hanya

ada satu node yang aktif melayani user, sedangkan node lainnya standby. Storage yang

digunakan mempunyai koneksi ke setiap node pada cluster, sehingga jika primary node mati,

database engine, listener process, dan logical host ip address akan dijalankan pada secondary

node tanpa perlu menunggu operating system boot, sehingga downtime dapat diminimalisasi.

High availability mempunyai standard uptime 99.999 persen, atau hanya boleh mati selama 5

menit dalam setahun. Beberapa contoh software yang dapat digunakan untuk membuat HA

cluster adalah Sun Cluster dan Veritas Cluster.

Pada scalable cluster, digunakan produk Oracle RAC, dimana setiap node aktif

melayani user, sehingga diperoleh performa yang semakin baik dengan menggunakan lebih

Page 7: Cluster-Database

banyak node. Sun cluster dapat digunakan sampai 16 node, sedangkan Veritas Storage

Foundation for Oracle RAC bisa sampai 32 node. Jika ada node yang mati, tentu akan

menurunkan performa, namun tidak terjadi down time. Pada scalable cluster, seluruh node

dapat terhubung secara langsung ke shared storage, namun dapat juga tidak mempunyai

koneksi fisik ke storage, melainkan melalui private cluster transport.

Clustering

Clustering adalah proses mengelompokkan objek berdasarkan informasi yang

diperoleh dari data yang menjelaskan hubungan antar objek dengan prinsip untuk

memaksimalkan kesamaan antar anggota satu kelas dan meminimumkan kesamaan antar

kelas/cluster. Tujuannya menemukan cluster yang berkualitas dalam waktu yang layak.

Clustering dalam data mining berguna untuk menemukan pola distribusi di dalam sebuah data

set yang berguna untuk proses analisa data. Kesamaan objek biasanya diperoleh dari

kedekatan nilai-nilai atribut yang menjelaskan objek-objek data, sedangkan objek-objek data

biasanya direpresentasikan sebagai sebuah titik dalam ruang multidimensi.

Clustering merupakan suatu alat untuk analisa data, yang memecahkan permasalahan

penggolongan.

Obyek nya adalah untuk kasus pendistribusian (orang-orang, objek, peristiwa dll.) ke

dalam kelompok, sedemikian sehingga derajat tingkat keterhubungan antar anggota

cluster yang sama adalah kuat dan lemah antar anggota dari cluster yang berbeda.

Dengan Cara ini masing-masing cluster menguraikan, dalam kaitan dengan

kumpulan/koleksi data, class dimana milik anggota-anggotanya.

Cluster : Data item dikelompokkan menurut pilihan konsumen atau hubungan logis.

Sebagai contoh, data dapat dimaknakan untuk mengidentifikasi segmen pasar atau

ketertarikan konsumen.

Hasil dari analisis cluster mungkin berperan untuk definisi dari suatu rencana

penggolongan yang formal, seperti suatu taksonomi untuk binatang yang terkait,

serangga atau tumbuhan; atau menyarankan model statistik yang menguraikan

populasi; atau menandai aturan untuk menugaskan kasus yang baru ke class untuk

identifikasi dan tujuan yang diagnostik; atau menyediakan ukuran dari definisi,

ukuran dan perubahan dalam konsep sebelumnya yang tidak hanya luas. Bisnis

Page 8: Cluster-Database

apapun yang sedang anda lakukan, cepat atau lambat anda akan berhadapan dengan

suatu masalah penggolongan.

Algoritma Clustering berusaha untuk menemukan kelompok komponen secara

natural, berdasarkan pada beberapa kesamaan. Contoh di bawah ini memperagakan clustering

dari gembok yang jenisnya sama. Ada total 10 gembok yang memiliki tiga warna berbeda.

Kita tertarik untuk mengelompokkan gembok yang memiliki tiga warna dan bentuk yang

berbeda dalam tiga kelompok yang berbeda.

Gembok yang jenisnya sama dikelompokkan ke dalam suatu kelompok seperti terlihat di

bawah ini:

Sehingga, kita lihat bahwa clustering bermakna menggolongkan data atau membagi satuan

data yang besar ke dalam satuan data yang lebih kecil yang memiliki kesamaan. Algoritma

clustering tercakup dalam aplikasi BI2M. Lihat contoh dari penggunaan clustering dalam

BI2M.

Dengan menggunakan clustering, dapat diidentifikasi daerah yang padat, pola-pola

distribusi secara keseluruhan dan keterkaitan yang menarik antara atribut-atribut data. Dalam

data mining usaha difokuskan pada metode-metode penemuan untuk cluster pada basisdata

berukuran besar secara efektif dan efisien. Banyaknya pendekatan clustering menyulitkan

dalam menentukan ukuran kualitas yang universal. Namun, beberapa hal yang perlu

diperhatikan adalah input parameter yang tidak menyulitkan user, cluster hasil yang dapat

dianalisa, dan skalabilitas terhadap penambahan ukuran dimensi dan record dataset. Secara

garis besar ada beberapa kategori algoritma clustering yang dikenal yaitu:

a. Metode Partisi, dimana pemakai harus menentukan jumlah k partisi yang diinginkan

lalu setiap data dites untuk dimasukkan pada salah satu partisi sehingga tidak ada data

yang overlap dan satu data hanya memiliki satu cluster. Contohnya: algoritma K-

Means.

b. Metode Hierarki, yang menghasilkan cluster yang bersarang artinya suatu data dapat

memiliki cluster lebih dari satu. Metode ini terbagi menjadi dua yaitu buttom-up yang

Page 9: Cluster-Database

menggabungkan cluster kecil menjadi cluster lebih besar dan top-down yang

memecah cluster besar menjadi cluster yang lebih kecil. Kelemahan metode ini adalah

bila salah satu penggabungan/pemecahan dilakukan pada tempat yang salah, tidak

akan didapatkan cluster yang optimal. Contohnya: Agglomerative (FINDIT,

PROCLUS), Divisive Hierarchical Clustering (CLIQUE, MAFIA, ENCLUE).

Analisis Cluster (Lanjutan)

Clustering dan segmentasi sebenarnya mempartisi database, karena itu setiap partisi atau

group adalah sama menurut kriteria atau metrik tertentu. Jika pengukuran kesamaan tersedia,

maka terdapat sejumlah teknik untuk membentuk cluster. Kebanyakan aplikasi2 data mining

menggunakan clusteing menurut similarity (kesamaan), contohnya segmentasi basis klien.

Clustering menurut optimasi dari sekumpulan fungsi-fungsi digunakan pada analisis data,

misalnya ketika mensetting tarif asuransi klien dapat disegmentasi menurut sejumlah

parameter. Contoh aplikasi :

– Perangkat ‘stand-alone’ : explore data distribution

– Langkah preprocessing untuk algoritma lain

– Pengenalan pola, analisis data spasial, pengenalan citra, market research, WWW, …

– clustering dokumen2

– clustering data log web untuk mendapatkan group dengan pola akses yang sama

Penggelompokkan data ke cluster2

– Data yang sama satu sama lain berada pada cluster yang sama

– Yang tidak sama berada pada cluster lain

– ‘Unsupervised learning’: klas2 yang belum ditentukan

Page 10: Cluster-Database

Clustering Yang Baik

Intraclass similarity (Kesamaan di dalam klas) yang tinggi dan interclass similarity

(kesamaan antar klas) yang rendah bergantung pada pengukuran kesamaan

Kemampuan untuk mendapatkan beberapa atau semua pola yang tersembunyi

Kebutuhan Clustering

Scalability : Kemampuan mengerjakan atribut2 dari berbagai tipe

Penemuan clusters dengan bentuk yang tidak tentu

Kebutuhan minimal untuk pengetahuan domain untuk menentukan parameter input

Dapat menerima noise dan outlier

Tidak mengindahkan susunan record dari input

Dimensi yang tinggi

Menyatu dengan batasan yang dispesifikasikan oleh user

Interpretability and usability

Tipe-tipe Data pada Clustering

Variabel2 berskala interval

Variabel biner

Variabel nominal, ordinal dan rasio

Variable2 dari berbagai tipe variable

Kategori Pendekatan Clustering

Algoritma Partisi

Mempartisi objek2 ke dalam k cluster

Realokasi objek2 secara iteratif untuk memperbaiki clustering

Algoritma Hirarkis

– Agglomerative: setiap objek merupakan cluster, gabungan dari cluster-cluster

membentuk cluster yang besar

– Divisive: semua objek berada dalam suatu cluster, pembagian cluster tersebut

membentuk cluster2 yang kecil

Metode berbasis densitas

– Berbasis koneksitas dan fungsi densitas

– Noise disaring, kemudian temukan cluster2 dalam bentuk sembarang

– Metode berbasis grid

– Kuantisasi ruang objek ke dalam struktur grid

Berbasis Model

– Gunakan model untuk menemukan keadaan data yang baik

Page 11: Cluster-Database

Contoh Clustering

Terdapat Database Foodmart2000 dengan OLAP Cube Sales. Kita tertarik untuk

menemukan 3 segmen pelanggan dari toko Foodmart dalam rangka menciptakan

suatu program untuk menawarkan manfaat yang berbeda untuk pelanggan yang

tergantung pada karakteristik pribadi mereka. Tujuannya adalah untuk meningkatkan

kesetiaan mereka terhadap toko tsb. Kita akan menggunakan algoritma clustering di

database Foodmart2000 dimana segmen pelanggan ada di OLAP cube sales dalam

tiga kategori yang berdasarkan pada informasi berikut: Jenis kelamin, status

perkawinan, Pendapatan tahunan, Pendidikan, Kartu Anggota, dan Penjual toko.

Langkah 1 Ketika kita akan menggolongkan pelanggan, kita harus memilih Customer

sebagai kasus pada halaman yang pertama dari OLAP Data Mining Wizard.

Langkah 2– pada langkah ini kita memilih karakteristik yang akan diproses oleh

algoritma

tsb. Pada

basis

cluster

mereka

yang akan

dibuat.

Pada tugas

saat ini

kita

tertarik

akan Jenis

kelamin

pelanggan/Customers’ Gender, Status Perkawinan/marital status,

pendidikan/education, Kartu anggota/Member Card, Pendapatan tahunan/yearly

income dan penjual toko, itu sebabnya mengapa kita memilihnya.

Page 12: Cluster-Database

Tentukan banyaknya cluster = 3

Hasil

Page 13: Cluster-Database