2. 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?
4. • 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.
5. 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.
6. max_connections
max_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
7. 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.
8. 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.
9. 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.
10. 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.
11. 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.
12. 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.
13. 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.
14. 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_con
nections
15. 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.
16. 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
17. 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
18. DESAIN SISTEM
* MySQL-A ~ MANAGEMENT SERVER (NDB MGM)
* MySQL-B ~ NODE 1 ~ DATABASE SERVER
* MySQL-C ~ NODE 2 ~ DATABASE SERVER
MySql Cluster
19. 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.
20. 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
23. 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
25. To be continue ….............
Source : http://infokomtek.com/berita-it/tuning-mysql-dengan-
etcmycnf-file
26. 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
27. 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
28. 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