Profile cover photo
Profile photo
Aji Kisworo Mukti
4,293 followers
4,293 followers
About
Aji Kisworo's posts

Post has attachment
Are you ready to became a Trooper? 

troop.cengkaruk.com

Kamis besok akan menghadiri #DevFestJogja2013

Post has attachment

Post has attachment
Send me to heaven! Aplikasi paling gokil :))

Post has shared content
Cara cepat membuat Index di MySQL. :: adakalanya kita perlu membuat index di sebuah table yang berukuran raksasa. Walaupun MySQL terkenal cepat, namun, begitu ukuran data sudah demikian besarnya, maka bahkan untuk sekedar membuat index pun ada triknya.

Kejadian barusan di salah satu client, membuat 1 (satu) buah index saja di sebuah table berukuran 17 GB sampai memakan waktu 12 jam. Padahal, dia perlu membuat 10 buah = 120 jam = 5 hari ! Hanya untuk membuat index.

Dengan cara berikut ini, kita bisa membuat 10 buah index untuk table ukuran 17 GB dengan jumlah data 145.000.000 itu dalam waktu 3 jam saja = peningkatan performa sampai 40x lipat (!)

Berikut rincian detailnya :

=================
USE database_client;

# buat database baru, 
# meng copy structure dari database aslinya
CREATE TABLE table_baru LIKE table_asli;

# ubah menjadi tipe MyISAM = proses pembuatan index nya lebih cepat
ALTER TABLE table_baru ENGINE = MyISAM;

# tambahkan berbagai index yang dibutuhkan
ALTER TABLE table_baru ADD INDEX (nama);
ALTER TABLE table_baru ADD INDEX (tanggal_lahir);
ALTER TABLE table_baru ADD INDEX (tempat_lahir);
ALTER TABLE table_baru ADD INDEX (jenis_kelamin);
ALTER TABLE table_baru ADD INDEX (telpon);
ALTER TABLE table_baru ADD INDEX (id1);
ALTER TABLE table_baru ADD INDEX (id2);
ALTER TABLE table_baru ADD INDEX (id3);
ALTER TABLE table_baru ADD INDEX (id4);
ALTER TABLE table_baru ADD INDEX (id5);

# penting : me non-aktif kan index, 
# sehingga proses INSERT berikut ini bisa berlangsung kencang
ALTER TABLE table_baru DISABLE KEYS;

# sedot data dari table_asli
### 145 juta record = 30 menit
INSERT INTO table_baru SELECT * FROM table_asli;

# aktifkan kembali index,
# maka otomatis MySQL akan mulai 
# membuat semua index yang kita definisikan di atas
### 145 juta record + 10 index = 3 jam
ALTER TABLE table_baru ENABLE KEYS;

### selesai
=================


Sebenarnya, ini saja tidak cukup. Perlu ada optimasi setting MySQL, agar prosesnya jadi bisa dipastikan berjalan cepat. 

Contoh : myisam_sort_buffer_size perlu berukuran cukup besar, agar proses sorting record (dalam membuat index ini) bisa dijalankan di RAM (dan bukannya lari ke disk). Juga, myisam_max_sort_file_size perlu berukuran cukup besar untuk menampung hasil proses sorting.

Setting selengkapnya untuk kondisi ini (145 juta record, 10 buah index) terlampir :

=================
key_buffer              = 256M
max_allowed_packet      = 16M

thread_stack            = 192K
thread_cache_size       = 64

max_connections        = 200
table_cache            = 2000
thread_concurrency     = 16

sort_buffer_size = 256K
join_buffer_size = 16M
read_rnd_buffer_size = 256K

tmp_table_size          = 256M
max_heap_table_size     = 256M

myisam_sort_buffer_size         = 4000M
myisam_max_sort_file_size       = 10000M
=================

Semoga bermanfaat, ketika suatu hari Anda tiba-tiba perlu melakukan hal yang serupa pula :-)

Bahan rujukan : http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html

Post has shared content
lao be ncau?
Tahukah kamu? Etnis Dompu yang merupakan salah satu dari 400+ etnis di nusantara merupakan etnis yang sangat terbuka terhadap pertemanan. Tidak diherankan, pembauran di Dompu sangat kental sejak jaman sebelum terbentuknya negara Indonesia. Bahkan, panji militernya saja serupa bintang david dan logo resmi kesultannya adalah liong. Saking pentingnya hubungan pertemanan bagi etnis Dompu, mereka memiliki empat belas bentuk kata yang berarti kawan. Jika kamu ke Dompu, biasanya etnis Dompu akan memanggilmu dengan salah satu bentuk kata tersebut dan diikuti dengan kalimat sapaan misalnya "lao be ncau?" yang artinya "kemana aja?"

Diurutkan berdasarkan tingkat keintiman, inilah dia:

14. Lenga
13. Angi
12. Soba
11. Kaso
10. Cina
9. Kwan (serapan melayu, "kawan". Lidah Dompu tidak mengenal huruf mati seperti bahasa Jepang sehingga N di akhir terdengar samar)
8. Kamra (SDA, kamerad)
7. Lako
6. Lakoseta
5. Ombaina
4. Langai ba dou
3. Tongge ba dou
2. Tota ba dou
1. Tota tongge rase ba dou lakoe


Jadi, biasanya teman Dompumu manggil kamu apa?

#mengenaldompubersamablek

Post has attachment

Post has attachment
Papua, gunung emas yang terjajah. Bagikan! agar semua rakyat indonesia tahu apa yang terjadi disana.

Post has attachment
Wait while more posts are being loaded