Fit 23 mysql

28
High Availability MySql High Availability MySql MySQL AB: Creators of MySQL DB

Transcript of Fit 23 mysql

Page 1: Fit 23 mysql

High Availability MySqlHigh Availability MySql

MySQL AB: Creators of MySQL DB

Page 2: Fit 23 mysql

Merupakan aplikasi RDBMS Opnsource

Dioptimalkan untuk kecepatan, kehandalan dan beban tinggi – dengan fitur lebih banyak.

Sangat baik, didukung dan didokumentasikan - mudah untuk menginstal, mengkonfigurasi dan mengelola

Banyak digunakan di seluruh dunia

Rendah biaya kepemilikan - Dual-berlisensi di bawah lisensi GPL dan Komersial

Apa dan mengapa Mysql?

Page 3: Fit 23 mysql

Bagaimana Optimalisai Mysql?

• Tuning• Replication• Clustering

Page 4: Fit 23 mysql

• Menghindari kegagalan• redundansi dan failover• Skalabilitas

Mengapa ?

Aplikasi-aplikasi database dituntut untuk mampu melayani banyak akses data. Karena memang 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.

Page 5: Fit 23 mysql

Tuning Mysql ?

Untuk mengoptimalisasi server dengan trafic tinggi, paling tidak ada 3 titik yang harus diperhatikan. Apache, MySQL, Aplikasi itu sendiri. Sebenarnya ada banyak titik lagi yang harus di optimalisasi, tapi dengan tuning 3 hal diats sudah cukup signifikan membuat laju komputer server bekerja di trafic tinggi.

Optimalisasi MySQL biasanya hanya terpusat di file /etc/mysql/my.cnf. Yang cukup penting adalah setting variable max_connections, key_buffer dan table_cache.

Page 6: Fit 23 mysql

max_connectionsmax_connections adalah maksimum sambungan yang dapat dilakukan dalam waktu sekaligus, kalau website anda sangat sibuk, semakin besar tentunya akan semakin bagus, akan tetapi sudah pasti bahwa karena resource server akan semakin banyak dipakai maka CPU atau memory anda akan semakin termakan oleh proses mysql.Karena itu, nilai max_connections dapat anda sinkronkan dengan besar memory anda dan akses maksimum Apache anda, di MaxClient. Tidak ada artinya anda perbesar akan tetapi MaxClient di Apache anda sangat kecil

Tuning Mysql

Page 7: Fit 23 mysql

Tuning Mysql

query_cache_size

Apabila MySQL anda sibuk dan selalu mengulang-ulang query yang sama, maka settting query_cache_size anda perlu anda perhatikan. query_cache_size akan menyimpan query yang berulang, sehingga akan mempercepat kerja MySQL anda untuk query yang sama. Karena query yang sebelumnya disimpan dalam memory cache.

Page 8: Fit 23 mysql

Tuning Mysql

key_buffer_size

Data base menggunakan key index. Karena itu apabila index ini tersimpan dalam satu memori secara utuh, maka sudah tentu proses MySQL anda akan semakin cepat mendapatkan hasil dari query yang diinginkan. Secara ideal semua index akan bagus tersimpan dalam memory ini, akan tetapi anda perlu juga melihat kemampuan kapasitas memory anda.

Page 9: Fit 23 mysql

Tuning Mysql

table_cache

Apabila MySQL anda banyak menggunakan table query, maka besar memori ini juga perlu anda perhatikan. Karena akan mempercepat proses query yang berhubungan dengan table. Default memory ini adalah 64Kb.

Page 10: Fit 23 mysql

Tuning Mysql

sort_buffer

Jika MySQL anda memiliki query atau operasi myisamchk atau sort ? Maka option ini sangat penting untuk diperhatikan. Dengan memasang buffer yang besar tentunya anda akan melakukan sorting secara besar juga. Nah sudah pasti sorting anda akan semakin cepat selesai.

Page 11: Fit 23 mysql

Tuning Mysql

read_rnd_buffer_size

read_rnd_buffer_size digunakan setelah kita melakukan sorting. Yaitu untuk memproses row dari query sorting yang telah kita lakukan. Apabila query anda sering memakai ORDER BY, maka option ini perlu anda perhatikan.Anda dapat menghitung besar buffer ini dengan logika 1 MB adalah 1KB, jadi apabila memory server anda adalah 1GB, maka anda dapat mengesetnya sebesar 1MB.

Page 12: Fit 23 mysql

Tuning Mysql

thread_cache

Apabila server kita sibuk dengan banyaknya query dan memerlukan respon yang sangat cepat, maka thread_cache adalah option yang perlu kita perhatikan. Tetapi semakin besar nilai ini, akan semakin tinggi load CPU.

Page 13: Fit 23 mysql

Tuning Mysql

tmp_table_size

tmp_table_size akan memberikan kesempatan kepada MySQL untuk menyimpan table ke dalam harddisk yang dianggap sebagai memory. Sudah tentu tmp_table_size akan memperlambat kecepatan MySQL. Apabila anda mempunyai memory yang minim dan kecepatan MySQL tidak begitu diperhitungkan, barangkali ini adalah option yang anda kehendaki.

Page 14: Fit 23 mysql

Menghitung Memory

Bagaimana cara menghitung memory yang diperlukan oleh MySQL dengan mudah ? Kita dapat menggunakan rumus sederhana berikut ini.

Memory=key_buffer+(sort_buffer_size+read_buffer_size)*max_connections

Page 15: Fit 23 mysql

MySql Cluster

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 menggunakan mesin penyimpanan cluster NDB yang mampu menjalankan beberapa MySQL Server di dalam sebuah cluster.

Page 16: Fit 23 mysql

MySql Cluster

Dengan MySQL Cluster dapat membagi pekerjaan database ke beberapa server, sehingga dalam menyelesaikan pekerjaannya, server menjadi lebih ringan. Secara otomatis beberapa server tersebut akan melakukan sincronisasi secara realtime melalui Server Database Manajemen.

Mysql cluster dapat bekerja dengan hardware/perangkat keras yang sangat murah,dan tidak membutuhkan perangkat keras dan lunak dengan spesifikasi khusus

Page 17: Fit 23 mysql

SYARAT YANG DIPERLUKAN :

* 3 PC Hardware : (1 pc) Management Server (2 pc) * User root dan password untuk instalasi dan konfigurasi. * Source mysql * Source mysql-proxy * Konektivitas jaringan (TCP/IP). * Tabel di buat harus ber-ENGINE=NDBCLUSTER

MySql Cluster

Page 18: Fit 23 mysql

DESAIN SISTEM

* MySQL-A ~ MANAGEMENT SERVER (NDB MGM) * MySQL-B ~ NODE 1 ~ DATABASE SERVER * MySQL-C ~ NODE 2 ~ DATABASE SERVER

MySql Cluster

Page 19: Fit 23 mysql

Replication

Dengan menggunakan replication memungkinkan didapatkan backup yang sempurna dari suatu database MySQL yang besar dan aktif tanpa melakukan penghentian dari server yang bersangkutan. Tanpa replikasi, backup akan memperlambat sistem dan ada kemungkinan data yang tidak konsisten, karena bisa saja satu tabel berubah sementara tabel lain yang berhubungan tidak berubah dan sedang di-backup.

Page 20: Fit 23 mysql

Metoda alternatif replikasi MySQL menjamin backup sempurna tanpa harus menghentikan server tiap hari.Untuk menjamin replikasi berjalan lancar, hanya diperlukan penambahan beberapa baris di file konfigurasi (yaitu my.cnf) pada server master dan server slave. Jika server masih baru, hanya diperlukan peng-copy-an database pada server master ke server slave. Kemudian mengaktifkan slave untuk mulai melakukan replikasi.

Replication

Page 21: Fit 23 mysql

Master with Slave

Master

Slave

Page 22: Fit 23 mysql

Master with Many Slaves

Slave SlaveSlave Slave Slave

Master

Page 23: Fit 23 mysql

High Profile User

NASA Yahoo: Finance, News in Asia & Europe, Sports... Slashdot.org, Freshmeat.net & Linux.com Nortel (InSight) / Ericsson / Alcatel / Telia / Nokia Motorola Compaq

Page 24: Fit 23 mysql

Free VS Pay

Page 25: Fit 23 mysql

To be continue ….............

Source : http://infokomtek.com/berita-it/tuning-mysql-dengan-etcmycnf-file

Page 26: Fit 23 mysql

MySQL dikembangkan sekitar tahun 1994 oleh sebuah perusahaan pengembang software dan konsultan database bernama MYSQL AB yang berada di Swedia. Waktu itu perusahaan tersebut masih bernama TcX DataKonsult AB, dan tujuan awal dikembangkannya MySQL adalah untuk mengembangkan aplikasi berbasis web pada client

Pendahuluan

Page 27: Fit 23 mysql

Replication

MySQL supports many sites that need high reliability

This is done by replicating the system to many machines

Examples of users are

Yahoo Finance (And other parts of Yahoo) Mobile.de (sells used cars in Germany, Over 270 Million

page views per month with 49 MySQL slaves) slashdot.org

Page 28: Fit 23 mysql

Replication Technology

The single Master keeps binary log of SQL commands that update data

Slaves connect to the master or another slave to read, and rerun the updates

In MySQL 4.0 the slaves use two threads

One to read the all queries One to actually do the updates

This makes sure that every slave has all data even if the master goes down while the slave is working on a slow query