BAB II - Teori Dasar

12
 BAB II DASAR TEORI 2.1. Pengenalan Sistem Operasi Linux   Linux adalah salah satu jenis sistem operasi yang sering dipakai oleh jutaan orang di dunia.  Linux pertama kali diciptakan oleh Linus Torvalds pada tahun 1991.  Linux merupakan sistem operasi yang mengadopsi dari unix maka linux sangat stabil sebagai server. Dengan ketersediaan  source code  Linux maupun program-program yang berlisensi GPL (General Public Lisence), setiap orang memiliki keleluasaan tinggi untuk melakukan optimisasi terhadap  server   Linux yang dibuat sehingga tidak ada ketergantungan kepada suatu vendor tertentu. Berbagai aplikasi seperti web server,  firewall, dan database dapat berjalan dengan  baik di linux.  Linux  juga dapat dijadikan sebagai node pada sistem cluster. Sistem high- availability (HA) yang hampir menjadi keharusan untuk perusahaan-perusahaan besar juga telah tersedia perangkat lunaknya.  2.2. Dasar Sistem Cluster  Saat ini dapat dikatakan bahwa sumber utama perubahan teknologi komputer adalah Internet. Banyak sekali masalah yang terjadi dalam lingkup internet dan harus dijawab dengan efisien dan efektif. Masalah utama yang terjadi bukan lagi cara transfer data dalam jumlah besar, tetapi masalah utama yang terjadi adalah cara menganalisa dan memproses data tersebut. Terdapat beberapa metode untuk menjawab masalah untuk menganalisa dan memproses data yang besar dengan optimal. Super komputer yang embedded  seperti  BlueGene dan Sun Fire banyak sekali digunakan sebagai solusi, tetapi solusi tersebut membutuhkan biaya yang tinggi. Clustering  adalah solusi yang cukup ekonomis untuk membuat sistem komputer yang digunakan untuk menganalisa dan memproses data dengan optimal dan efisien. Dalam dunia komputasi, cluster ing adalah gabungan dari beberapa komputer yang  bekerja sama untuk menghasilkan output  dari masalah tertentu yang diberikan ( input ) dimana developer  sistem tersebut diharuskan membagi kerja ke setiap anggota gabungan komputer secara manual. Secara umum, salah satu karakteristik utama komputer  cluster  adalah konsep single entity dimana kumpulan banyak komputer yang menjadi komputer cluster  dipandang

description

Loadbalancer and mysql cluster Teory

Transcript of BAB II - Teori Dasar

  • 5/28/2018 BAB II - Teori Dasar

    1/12

    BAB II

    DASAR TEORI

    2.1.Pengenalan Sistem Operasi LinuxLinux adalah salah satu jenis sistem operasi yang sering dipakai oleh jutaan orang

    di dunia. Linux pertama kali diciptakan oleh Linus Torvalds pada tahun 1991. Linux

    merupakan sistem operasi yang mengadopsi dari unix maka linux sangat stabil sebagai

    server. Dengan ketersediaan source codeLinuxmaupun program-program yang berlisensi

    GPL (General Public Lisence), setiap orang memiliki keleluasaan tinggi untuk melakukan

    optimisasi terhadap serverLinux yang dibuat sehingga tidak ada ketergantungan kepada

    suatu vendor tertentu.

    Berbagai aplikasi seperti web server,firewall,dan databasedapat berjalan dengan

    baik di linux.Linux juga dapat dijadikan sebagai node pada sistem cluster. Sistem high-

    availability(HA) yang hampir menjadi keharusan untuk perusahaan-perusahaan besar juga

    telah tersedia perangkat lunaknya.

    2.2.Dasar Sistem ClusterSaat ini dapat dikatakan bahwa sumber utama perubahan teknologi komputer

    adalah Internet. Banyak sekali masalah yang terjadi dalam lingkup internet dan harus

    dijawab dengan efisien dan efektif. Masalah utama yang terjadi bukan lagi cara transfer

    data dalam jumlah besar, tetapi masalah utama yang terjadi adalah cara menganalisa dan

    memproses data tersebut.

    Terdapat beberapa metode untuk menjawab masalah untuk menganalisa dan

    memproses data yang besar dengan optimal. Super komputer yang embedded seperti

    BlueGene dan Sun Fire banyak sekali digunakan sebagai solusi, tetapi solusi tersebut

    membutuhkan biaya yang tinggi. Clustering adalah solusi yang cukup ekonomis untuk

    membuat sistem komputer yang digunakan untuk menganalisa dan memproses data dengan

    optimal dan efisien.

    Dalam dunia komputasi, clustering adalah gabungan dari beberapa komputer yang

    bekerja sama untuk menghasilkan output dari masalah tertentu yang diberikan (input)

    dimana developer sistem tersebut diharuskan membagi kerja ke setiap anggota gabungan

    komputer secara manual.

    Secara umum, salah satu karakteristik utama komputerclusteradalah konsepsingle

    entity dimana kumpulan banyak komputer yang menjadi komputer cluster dipandang

  • 5/28/2018 BAB II - Teori Dasar

    2/12

    BAB II DASAR TEORI

    5

    IMPLEMENTASI LOAD BALANCING WEB SERVER DAN

    MYSQL CLUSTER UNTUK MENJAMIN HIGH

    AVAILABILITY PADA WEBSITE

    sebagai satu kesatuan sistem tunggal. Hal ini berarti bahwa developer tidak perlu lagi

    mengatur pembagian proses yang diberikan untuk didistribusikan ke masing-masing mesin

    dalam sistem clustertersebut, tetapi developercukup mendapatkan gambaran bahwa hasil

    dari proses yang diberikan si user dikerjakan oleh single sistem. Bagaimana pun juga,

    developerperlu mengetahui informasi pengolahan data oleh sistem clustertersebut.

    Dari definisi umum di atas, banyak sekali macam konfigurasi untuk sistem cluster.

    Berdasarkan konsep tersebut penulis dalam tugas akhir ini akan mengimplementasikan

    load balancing dan MySQL Cluster

    2.3.LoadBalancingLoad balancing adalah suatu metode untuk mendistribusikan beban kepada

    beberapaserver sehingga beban kerja menjadi lebih ringan. Ini bertujuan agar waktu rata-

    rata mengerjakan tugas akan rendah dan menaikkan utilitas prosesor.

    Load balancing dapat diimplementasikan dengan hardware khusus, software

    maupun gabungan keduanya. Konfigurasi standar yang ada memberi gambaran bahwa satu

    mesin ditempatkan diantara client dan server, mesin ini disebut sebagai director karena

    tugasnya adalah memberikan balancing pada requestdari clientkeserver.

    Sebuah load balanceradalah perangkat jaringan yang dipasang diantara clientdan

    server, bekerja sebagai gerbang untuk melayani request dari client. Load balancer

    mengimplementasikan beberapa metode penjadwalan yang akan menentukan ke arah

    servermana requestdari clientakan diteruskan.

    Gambar 2.1 Skema Sistem Load balancing

    Beberapa keuntungan yang diperoleh dari teknik load balancingsebagai berikut:

    a. Flexibil ity :Server tidak lagi menjadi inti sistem dan resource utama, tetapi menjadibagian dari banyakserveryang membentuk cluster. Hal ini berarti bahwa performa per

    unit dari cluster tidak terlalu diperhitungkan, tetapi performa cluster secara

  • 5/28/2018 BAB II - Teori Dasar

    3/12

    BAB II DASAR TEORI

    6

    IMPLEMENTASI LOAD BALANCING WEB SERVER DAN

    MYSQL CLUSTER UNTUK MENJAMIN HIGH

    AVAILABILITY PADA WEBSITE

    keseluruhan. Sedangkan untuk meningkatkan performa dari cluster, server atau unit

    baru dapat ditambahkan tanpa mengganti unit yang lama.

    b. Scalabil ity : Sistem tidak memerlukan desain ulang seluruh arsitektur sistem untukmengadaptasikan sistem tersebut ketika terjadi perubahan pada komponen sistem.

    c. Secur ity : Untuk semua trafik yang melewati load balancer, aturan keamanan dapatdimplementasikan dengan mudah. Dengan private network digunakan untuk real

    servers, alamatIPnya tidak akan diakses secara langsung dari luar sistem cluster.

    d. High-availabil ity : Load balancerdapat mengetahui kondisi real serverdalam sistemsecara otomatis, jika terdapat real serveryang mati maka akan dihapus dari daftar real

    server, dan jika real server tersebut kembali aktif maka akan dimasukkan ke dalam

    daftar real server. Load balancer juga dapat dikonfigurasi redundant dengan load

    balanceryang lain.

    2.4.L inux Vir tual Server2.4.1. Pengertian Linux Vir tual Server

    Linux virtual server (LVS) adalah alternatif utama open-source yang

    menyediakan solusi untuk membuat sistem load balancing. Seperti yang ditulis

    di home site linux virtual serverProject,Linux virtual server(LVS) adalah a

    highly scalable and highly available server built on a cluster of realservers,

    with the load balancer running on the Linux operating sistem

    Maksud dari real servers adalah mesin komputer yang benar-benar

    melayani requestyang ada.Real serverdapat dihubungkan menggunakan LAN

    maupun WAN yang berkecepatan tinggi. Dan mesin yang menjadi ujung

    tombak cluster server adalah director, yaitu berupa single server yang

    menghubungkan real server dengan client dari intranet maupun internet

    (sistem di luar cluster).2.4.2. Komponen L inux Vir tual Server

    Linux virtual server terdiri dari tiga komponen utama yang

    menyusunnya, yaitu

    a. DirectorDalam tugas akhir ini terdapat dua komputer yang dijadikan directoryang

    terdiri dari aktif directordan standby director. Directorberfungsi sebagai

    load balancer. Dimana load balancer merupakan komputer paling depan

  • 5/28/2018 BAB II - Teori Dasar

    4/12

    BAB II DASAR TEORI

    7

    IMPLEMENTASI LOAD BALANCING WEB SERVER DAN

    MYSQL CLUSTER UNTUK MENJAMIN HIGH

    AVAILABILITY PADA WEBSITE

    pada sistem server cluster yang terhubung secara langsung dengan client.

    Load balancer menjalankan IPVS yang mengimplementasikan teknik IP

    load balancing di dalam kernel linux. Untuk menjamin high availability,

    pada director harus diinstall aplikasi heartbeat. Heartbeat akan selalu

    memonitor keadaan aktif director, ketika aktif director mengalami

    kegagalan heartbeat akan langsung menggantikan aktif director dengan

    standby director. Untuk dapat menambahkan layanan-layanan apa saja

    yang mampu diberikan oleh sistem cluster dan meneruskan requestkepada

    real server yang aktif pada director harus diinstall aplikasi IP Virtual

    Server Administrator (IPVSADM). Director atau load balancer juga

    berfungsi untuk memonitor keadaan real server sehingga bisa diketahui

    status setiap real server sedang hidup atau mati. Untuk memonitor real

    server tersebut aplikasi yang digunakan adalah ldirectord. Selain itu

    ldirectord juga berfungsi untuk menentukan algoritma penjadwalan yang

    digunakan oleh sistem cluster.

    b. Real ServerReal serveradalah beberapa server aktual yang menjalankan layanan pada

    sistem cluster. Dalam tugas akhir ini diimplementasikan dua real server

    dengan layanan yang diberikan adalah http. Aplikasi yang harus diinstall

    pada kedua real server adalah webserver. Webserver berfungsi untuk

    melayani http requestdari client. Jumlah komputer pada real server dapat

    ditambah sesuai dengan kebutuhan.

    c. Shared StorageAda dua metode penyimpanan data pada sistem cluster. Metode shared

    disk clusterdan metode shared nothing cluster. Pada metode shared diskclusterdata disimpan pada hard diskyang sama. Sedangkan pada metode

    shared nothing cluster data disimpan pada masing-masing real server

    dimana kedua node melakukan sinkronisasi. Untuk metode shared disk

    cluster aplikasi yang bisa digunakan adalah NFS (Network Filesystem

    Sharing). Aplikasi yang dapat digunakan untuk metode shared nothing

    cluster adalah MySQL Cluster.

  • 5/28/2018 BAB II - Teori Dasar

    5/12

    BAB II DASAR TEORI

    8

    IMPLEMENTASI LOAD BALANCING WEB SERVER DAN

    MYSQL CLUSTER UNTUK MENJAMIN HIGH

    AVAILABILITY PADA WEBSITE

    2.4.3. Cara Kerja Li nux Vir tual Server

    Gambar 2.2 Skema Sistem L inux Vir tual Server

    Saat requestA datang dari clientke director, request tersebut akan di

    teruskan ke salah satu real-server tertentu. Dan semua paket yang ada

    hubungan dengan request A akan diproses oleh virtual server sampai

    sinkronisasi FIN dari koneksi TCP atau connection timeout, tergantung pada

    idle time maksimum untuk sebuah koneksi. Pemilihan real server untuk

    melayani requestbaru dari clientditentukan oleh aturan yang diterapkan dan

    algoritma penjadwalan yang ada.

    Perangkat lunak LVS diimplementasikan di kernelLinux yang sudah

    ter-patchpada mesin yang akan dijadikan directoruntuk memperoleh performa

    yang optimal. Walaupun patch dilakukan, LVS akan berfungsi jika dikompilasi

    ulang dalam kernel maupun dikompilasi sebagai modul kernel.

    Directoryang digunakan umumnya adalah sebuah routerdengan table

    routing yang diatur khusus untuk kegunaan LVS. Tabel routing tersebut

    mengijinkan request dari banyak client untuk mengakses layanan yang

    disediakan oleh LVS dan meneruskan request tersebut ke real server. Perlu

    diketahui bahwa directortidak memilikisocket listener untukserviceportyang

    berasosiasi dengan layanan yang diredirect ke real server.

    2.5.NetworkAddressTranslationPengalamatan menggunakan IPv4 yang terbatas menjadi permasalahan dalam

    jaringan internet. Apabila setiap orang masuk pada jaringan internet dan setiap orang

  • 5/28/2018 BAB II - Teori Dasar

    6/12

    BAB II DASAR TEORI

    9

    IMPLEMENTASI LOAD BALANCING WEB SERVER DAN

    MYSQL CLUSTER UNTUK MENJAMIN HIGH

    AVAILABILITY PADA WEBSITE

    memiliki lebih dari satu buah perangkat yang dapat digunakan seperti telepon genggam,

    PC, maupun laptop. Masing-masing perangkat tersebut membutuhkan identitas atau alamat

    yang unik. Sehingga dengan perkembangan internet yang sangat pesat, tidak mustahil

    dalam waktu dekat alokasi alamatIPv4akan habis. Salah satu cara sementara yang dapat

    digunakan untuk mengatasi masalah tersebut yaitu dengan menerapkan teknologi NAT

    (NetworkAddressTranslation).

    NAT merupakan suatu mekanisme translasi yang memetakan satu alamat IP

    publik menjadi beberapa alamatIPlokal, sehingga meski terdapat banyak perangkat dalam

    jaringan lokal tetapi akan tampak sebagai satu alamat IP publik. Untuk itu perlu suatu

    gatewayyang akan menghubungkan jaringan lokal dengan jaringan internet.

    Proses pertukaran data antara jaringan lokal dan jaringan internet pada metode

    NAT dapat dilihat pada ilustrasi berikut :

    Client dalam jaringan lokal

    membuat koneksi dengan host

    B yang berada di jaringan

    internet.

    Gateway akan menerima data

    dari clientkemudian mengecek

    translasi alamat publik/global

    pada tabel NAT. Jika terdapat

    beberapa client yang datang

    bersamaan maka masing-

    masing akan ditranslasikanpada alamat global yang sama

    tetapi berbeda alamat port.

  • 5/28/2018 BAB II - Teori Dasar

    7/12

    BAB II DASAR TEORI

    10

    IMPLEMENTASI LOAD BALANCING WEB SERVER DAN

    MYSQL CLUSTER UNTUK MENJAMIN HIGH

    AVAILABILITY PADA WEBSITE

    Gateway akan mengganti

    alamat IP client lokal, misal

    10.1.1.1 menjadi alamat IP

    global 192.168.2.2 dan

    meneruskan paket kepada

    tujuan, yakniHostB.

    Host B pada jaringan internet

    menerima paket dan merespon

    client dengan alamat yang

    diketahui yaitu 192.168.2.2

    Ketika paket balasan kembali

    diterima oleh gateway, lalu

    akan dicari pada tabel NAT

    alamat IP global dan alamat

    port yang sesuai dengan

    catatan saat pengiriman paket.

    Kemudian gateway akan

    mentranslasikan alamat IP

    global tersebut menjadi alamatIPlokal, misal 10.1.1.1, sesuai

    dengan catatan pada tabel NAT,

    dan meneruskan paket kepada

    client. Client akan menerima

    paket dan memprosesnya.

    Hal-hal sebagai pertimbangan dalam implementasi NAT yaitu keuntungan dan

    kerugian metode NAT yang dapat dilihat pada Tabel 2.2berikut.

  • 5/28/2018 BAB II - Teori Dasar

    8/12

    BAB II DASAR TEORI

    11

    IMPLEMENTASI LOAD BALANCING WEB SERVER DAN

    MYSQL CLUSTER UNTUK MENJAMIN HIGH

    AVAILABILITY PADA WEBSITE

    Tabel 2.1 Keuntungan dan Kerugian Menggunakan NAT

    Keuntungan Kerugian

    Menghemat alamatIPglobal yang legal Translasi memerlukan delay switching

    Meminimalisir terjadinya bentrok alamatIP Aplikasi tertentu tidak dapat berjalan

    Meningkatkan fleksibilitas Tidak dapat dilacak end-to-endIP

    Menghindari proses readdressingsaat terjadi

    perubahan jaringan

    2.6.Algoritma PenjadwalanBeberapa jenis algoritma penjadwalan yang dapat diterapkan pada sistem linux

    virtual serverpada proses distribusi requestkepada real server, antara lain yaitu :

    1. Round Robin (rr), yaitu algoritma penjadwalan yang memperlakukan semua realserversama menurut jumlah koneksi atau waktu respon.

    2. Weighted Round Robin(wrr), penjadwalan ini memperlakukan real serverdengankapasitas proses yang berbeda. Masing-masing real server dapat diberi bobot

    bilangan integeryang menunjukkan kapasitas proses, dimana bobot awal adalah 1.

    3. Least Connection (lc), merupakan algoritma penjadwalan yang mengarahkankoneksi jaringan pada server aktif dengan jumlah koneksi yang paling sedikit.

    Penjadwalan ini termasuk salah satu algoritma penjadwalan dinamik, karena

    memerlukan perhitungan koneksi aktif untuk masing-masing real server secara

    dinamik. Metode penjadwalan ini baik digunakan untuk melancarkan

    pendistribusian ketika requestyang datang banyak.

    4. Weighted Least Connection (wlc), merupakan sekumpulan penjadwalan leastconnectiondimana dapat ditentukan bobot kinerja pada masing-masing real server.

    Serverdengan nilai bobot yang lebih tinggi akan menerima persentase yang lebih

    besar dari koneksi-koneksi aktif pada satu waktu. Bobot pada masing-masing real

    serverdapat ditentukan dan koneksi jaringan dijadwalkan pada masing-masing real

    serverdengan persentase jumlah koneksi aktif untuk masing-masing server sesuai

    dengan perbandingan bobotnya (bobot awal adalah 1).

    5. Locality Based Least Connection (lblc), metode penjadwalan yang akanmendistribusikan lebih banyak requestkepada real serveryang memiliki koneksi

  • 5/28/2018 BAB II - Teori Dasar

    9/12

    BAB II DASAR TEORI

    12

    IMPLEMENTASI LOAD BALANCING WEB SERVER DAN

    MYSQL CLUSTER UNTUK MENJAMIN HIGH

    AVAILABILITY PADA WEBSITE

    kurang aktif. Algoritma ini akan meneruskan semua request kepada real server

    yang memiliki koneksi kurang aktif tersebut sampai kapasitasnya terpenuhi.

    6. Destination Hashing (dh), merupakan algortima penjadwalan statik yang dapatmeneruskan request dari client kepada satu real server tertentu sesuai dengan

    layanan yang diminta. Terdapat suatu tabel hashberisi alamat tujuan dari masing-

    masing real serverbeserta layanan yang tersedia pada setiap real server.

    7. Source Hashing (sh), hampir sama dengan metode destination hashingtetapi padametode ini tabel berisi mengenai informasi alamat asal paket yang dikirimkan oleh

    client.

    Menurut Yong Meng Teo dan Rassul Ayani dalam jurnalnya yang berjudul

    Comparation of Load Balancing Strategies on Cluster-based Web Servers diantara

    algoritma penjadwalan tersebut yang memiliki kemampuan paling optimal untuk beban

    menengah ke atas adalah weight least connetion. Selain itu algoritma weight least

    connection lebih cepat dibanding round robindan relatif lebih mudah diimplementasikan.

    2.7.Database ClusterDatabase adalah sebuah koleksi dari data yang saling berelasi, dimana data tersebut

    disimpan pada komputer sedemikian hingga sebuah program komputer dapat berinteraksi

    dan menggunakan data yang disimpan tersebut untuk menyelesaikan masalah ataupun

    menjawab pertanyaan (Elmasri 1994). Data perlu disimpan dalam suatu database untuk

    keperluan penyediaan informasi lebih lanjut. Data didalam database perlu diorganisasikan

    sedemikian rupa sehingga informasi yang terkandung didalamnya mudah diakses.

    Database merupakan komponen utama sistem informasi karena semua informasi

    untuk pengambilan keputusan berasal dari data di database. Pengelolaan database yang

    buruk dapat mengakibatkan ketidaktersediaan data penting yang digunakan untukmenghasilkan informasi yang diperlukan dalam pengambilan keputusan.

    Database clustering adalah kumpulan dari beberapa server yang berdiri sendiri

    yang kemudian bekerjasama sebagai suatu sistem tunggal (Hodges, 2007). Saat ini aplikasi

    database semakin berkembang, baik dalam hal kegunaan, ukuran, maupun kompleksitas.

    Hal ini secara langsung berdampak pada server database sebagai penyedia layanan

    terhadap akses database, konsekuensi dari semua itu adalah beban database server akan

    semakin bertambah berat dan mengakibatkan kurang optimalnya kinerja dari server

  • 5/28/2018 BAB II - Teori Dasar

    10/12

    BAB II DASAR TEORI

    13

    IMPLEMENTASI LOAD BALANCING WEB SERVER DAN

    MYSQL CLUSTER UNTUK MENJAMIN HIGH

    AVAILABILITY PADA WEBSITE

    tersebut. Oleh karena itu diperlukan perancangan yang tepat dan handal dalam membangun

    database server. Database pada masa sekarang ini dituntut agar dapat berjalan dengan

    cepat, mempunyai kehandalan dan keseterdiaan yang tinggi, dengan clustering database

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

    mesin yang menyimpan data tersebutdianggap 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 terganggu karena mesin lain akan menggantikan

    fungsi mesin tersebut. Kemampuan clusteringmemungkinkan sebuah database tetap hidup

    dalam waktu yang lama. Berikut ini contoh dari arsitektur database cluster.

    a. Shared Di sk Clusters

    Arsitektur shared disk clusters menggunakan server-server independent dan

    berbagi sebuah sistem penyimpanan tunggal. Setiap server mempunyai prosesor dan

    memori sendiri, tetapi berbagi disk resources. Implementasi utama dari shared-disk

    clustering adalah bukan untuk scalability. Shared-disk clustering ini diimplementasikan untuk

    availability dan menambah node cadangan sebagaifailover node.

    Gambar 2.3Shared Disk Clusters

    b. Shared Nothing Cluster

    Dalam arsitetur shared nothing cluster, tiap server dalam cluster menangani

    prosesor, memori, storage, record locks dan transaksi yang terpisah dan melakukan

    koordinasi dengan server lain melalui jaringan dengan menggunakan highspeed, low-

  • 5/28/2018 BAB II - Teori Dasar

    11/12

    BAB II DASAR TEORI

    14

    IMPLEMENTASI LOAD BALANCING WEB SERVER DAN

    MYSQL CLUSTER UNTUK MENJAMIN HIGH

    AVAILABILITY PADA WEBSITE

    latency interconnect technology. Dalam proses permintaan data suatu node harus

    mengirimkan pesan ke node yang lain yang memiliki data yang diakses. Hal ini juga

    dilakukan saat koordinasi data yang dilakukan pada node yang lain seperti insert, select,

    update dan delete. Berbeda dengan shared disk, shared nothing didisain untuk high

    availability danscalability.

    Gambar 2.4 Shared Nothing

    2.8.MySQL ClusterMySQL Cluster merupakan sebuah tipe basis data (database) yang dapat

    beroperasi dalam ukuran data yang besar. 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-nodepenyimpanan 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. Data yang

    disimpan di dalam node-node penyimpanan pada MySQL Cluster dapat di mirror

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

  • 5/28/2018 BAB II - Teori Dasar

    12/12

    BAB II DASAR TEORI

    15

    IMPLEMENTASI LOAD BALANCING WEB SERVER DAN

    MYSQL CLUSTER UNTUK MENJAMIN HIGH

    AVAILABILITY PADA WEBSITE

    individual dengan tidak ada dampak lain dari sejumlah transaksi dihentikan karena

    kegagalan proses transaksi.

    Di dalam konfigurasi mysql cluster itu sendiri terdapat tiga node cluster, ketiga

    node cluster itu adalah:

    a. Management node (ndb_mgmd process)

    b. Data node (ndbd process)

    c. SQL node (mysqld process)

    Ketiga node tersebut dapat dilihat di gambar berikut

    Gambar 2.5Node dalam MySQL Cluster

    2.9. High Availability dan Scalability

    High availability dapat diartikan sebuah sistem, komponen atau layanan yang

    bersifat kontinu dalam jangka waktu panjang dengan kemampuan untuk menjaga stabilitas

    proses dalam sistem ketika salah satu komponen dari sistem rusak. Inti dari high

    availability adalah mengeliminasi kesalahan sistem. Sedangkan sistem dengan high

    scalability tidak memerlukan desain ulang seluruh arsitektur sistem untuk

    mengadaptasikan sistem tersebut ketika terjadi perubahan pada komponen sistem.

    Berdasarkan definisi tersebut, maka tidak mungkin ada sistem yang hanya

    memiliki karakter high availability maupun high scalability. Dua-duanya digunakan pada

    sistem load balancinguntuk mendapatkan kualitas yang baik.