1.1. SEJARAH
MySQL adalah sebuah perangkat
lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS
yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh
dunia. MySQL AB membuat MySQL tersedia
sebagai perangkat lunak gratis
dibawah lisensi GNU General Public License (GPL), tetapi
mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana
penggunaannya tidak cocok dengan penggunaan GPL.
Tidak sama
dengan proyek-proyek seperti Apache, dimana perangkat lunak dikembangkan oleh
komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya
masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak
cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia
yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael
"Monty" Widenius.
1.2. Relational Database
Management System (RDBMS)
MySQL adalah
Relational Database Management System (RDBMS) yang
didistribusikan secara gratis dibawah lisensi GPL (General Public
License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh
dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya merupakan
turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured Query
Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk
pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data
dikerjakan dengan mudah secara otomatis. Keandalan suatu sistem database (DBMS)
dapat diketahui dari cara kerja optimizer-nya dalam melakukan proses
perintah-perintah SQL, yang dibuat oleh user maupun program-program
aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul
dibandingkan database server lainnya dalam query data. Hal ini terbukti untuk
query yang dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali
lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan
Interbase.
1.3. Keistimewaan MySQL
MySQL memiliki beberapa keistimewaan, antara lain :
1. Portabilitas. MySQL dapat berjalan stabil pada
berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server,
Solaris, Amiga, dan masih banyak lagi.
2. Open Source.MySQL
didistribusikan secara open source, dibawah lisensi GPL sehingga dapat
digunakan secara cuma-cuma.
3. 'Multiuser'. MySQL dapat
digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah
atau konflik.
4. 'Performance tuning'. MySQL
memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan
kata lain dapat memproses lebih banyak SQL per satuan waktu.
5. Jenis Kolom. MySQL memiliki tipe kolom yang
sangat kompleks, seperti signed / unsigned integer, float, double, char, text,
date, timestamp, dan lain-lain.
6. Perintah dan Fungsi. MySQL memiliki operator dan fungsi
secara penuh yang mendukung perintah Select dan Where dalam perintah (query).
7. Keamanan. MySQL memiliki beberapa lapisan sekuritas
seperti level subnetmask,
nama host, dan
izin akses user dengan sistem perizinan yang mendetail serta sandi
terenkripsi.
8.
Skalabilitas
dan Pembatasan. MySQL
mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records)
lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu
batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
9.
Konektivitas. MySQL dapat melakukan koneksi
dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
10. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada
klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun
demikian, bahasa Indonesia belum termasuk di dalamnya.
11. Antar
Muka. MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan
bahasa pemrograman dengan menggunakan fungsi API (Application
Programming Interface).
12. Klien
dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool)yang dapat
digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada
disertakan petunjuk online.
13. Struktur
tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani
ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL
ataupun Oracle.
1.4.
Bahasa pemrograman
Terdapat
beberapa API (Application
Programming Interface) tersedia yang memungkinkan aplikasi-aplikasi komputer
yang ditulis dalam berbagai bahasa pemrograman untuk dapat mengakses basis
data MySQL antara lain: bahasa pemrograman C, C++, C#, bahasa pemrograman
Eiffel, bahasa
pemrograman Smalltalk, bahasa pemrograman Java, bahasa pemrograman Lisp, Perl, PHP, bahasa pemrograman Python, Ruby, REALbasic dan Tcl. Sebuah antarmuka ODBC memanggil MyODBC yang memungkinkan setiap
bahasa pemrograman yang mendukung ODBC untuk berkomunikasi dengan basis data MySQL. Kebanyakan
kode sumber MySQL dalam ANSI C.
1.5. Penggunaan
MySQL sangat populer dalam aplikasi
web seperti MediaWiki (perangkat lunak yang dipakai Wikipedia dan
proyek-proyek sejenis) dan PHP-Nuke dan berfungsi sebagai
komponen basis data dalam LAMP. Popularitas sebagai aplikasi web dikarenakan kedekatannya
dengan popularitas PHP,
sehingga seringkali disebut sebagai Dynamic Duo. Text dicoret{{}}
1.6. Administrasi
Untuk melakukan
administrasi dalam basis data MySQL, dapat menggunakan modul yang sudah
termasuk yaitu command-line (perintah:
mysql
dan mysqladmin
). Juga dapat diunduh dari situs MySQL yaitu
sebuah modul berbasis grafik (GUI): MySQL Administrator dan MySQL Query Browser. Selain itu terdapat juga sebuah perangkat lunak
gratis untuk administrasi basis data MySQL berbasis web yang sangat populer
yaitu phpMyAdmin. Untuk perangkat lunak untuk administrasi
basis data MySQL yang dijual secara komersial antara lain: MySQL front, Navicat
dan EMS SQL Manager for MySQL.VMWare merupakan software untuk virtual machine (mesin virtual). Fungsinya adalah untuk menjalankan banyak sistem operasi dalam satu perangkat keras dan untuk menjalankan aplikasi yang ditujukan untuk system operasi lainnya. Fungsi lainnya adalah untuk mempelajari suatu sistem operasi baik ketika pada proses pembelajaran atau ketika proses pengembangan sistem operasi.
Istilah
Virtual Machine (VM) sendiri mulai dikenalkan oleh IBM ketika meluncurkan
sistem operasi mainframenya pada tahun 1965-an. Diperkenalkan untuk sistem
S/370 dan S/390 dan disebut sebagia sistem operasi VM/ESA. Sehingga sering
menimbulkan kebingungan antara penamaan produk atau penamaan mekanisme. Banyak
orang yang menyebut, walau memiliki mekanisme virtual machine tetapi bila bukan
dari sistem IBM tersebut, maka tidak disebut dengan Virtual Machine. Pada
penjelasan ini, diambil kesimpulan bahwa istilah virtual machine adalah suatu
jenis mekanisme virtualisasi suatu mesin di atas mesin lainnya. Jadi bukan
jenis produk dari salah satu vendor dengan nama Virtual Machine.
VMWare
memungkinkan bebarapa sistem operasi dijalankan pada satu mesin PC tunggal
secara bersamaan. Hal ini dapat dilakukan tanpa melakukan partisi ulang dan
boot ulang. Pada mesin virtual yang disediakan akan dijalankan sistem operasi
sesuai dengan yang diinginkan. Dengan cara ini maka pengguna dapat memboot
suatu sistem operasi (misal Linux) sebagai host operating system (sistem
operasi tuan rumah) dan lalu menjalankan sistem operasi lainnya misal MS
Windows. Sistem operasi yang dijalankan di dalam host operating system
rumah dikenal dengan guest operating system (sistem operasi tamu)
Ada
3 jenis VMWare, yaitu :
- VMWare Workstation adalah software untuk virtual machine yang compatible dengan komputer Intel x86. Software ini memungkinkan pemakai untuk membuat satu atau lebih virtual machine dan menjalankannya secara serempak. Masing-masing virtual machine dapat menjalankan guest operating system-nya sendiri seperti Linux, Windows, BSD, dan lain-lain. Tetapi software ini tidak dapat menjalankan virtual machine yang dibuat oleh produk VMWare yang lain.
- VMWare Server sebenarnya memiliki sistem kerja yang sama dengan VMWare Workstation. Tetapi dibandingkan dengan VMWare Workstation, VMWare Server mempunyai kelebihan yaitu dapat menjalankan virtual machine yang dibuat oleh produk VMWare yang lain. VMWare Server juga dapat menjalankan virtual machine yang dibuat oleh Microsoft Virtual PC.
- VMWare Player adalah software yang digunakan untuk menjalankan virtual machine yang dibuat oleh produk VMWare lainnya. Tetapi software ini tidak dapat mebuat virtual machine sendiri.
Akan
tetapi VMWare tidak mendukung Fire Wire, juga tidak menyediakan pendukung
seperti USB 2.0 devices akan tetapi VMWare membuat USB 2.0 devices pada host
operating system terdeteksi pada guest operating system sebagai USB 1.1
devices. VMWare sebenarnya hanyalah menyediakan 3D hardware acceleration
karena bersifat percobaan.
Pro
dan Kontra mengenai VMWare :
- Mengapa menggunakan VMWare?
- Satu alasan yang tepat untuk menggunakan VMWare adalah ketika kita diharuskan untuk menggunakannya. Sebagai contoh, saya sebagai tenaga pengajar mengenai koneksi jaringan dan keamanannya dengan menggunakan berbagai macam sistem operasi, yang mengharuskan saya menggunakan laptop dengan berbagai sistem operasi.
- VMWare akan membuat sebuah virtual machine yang bisa anda konfigurasikan bergantung dengan kebutuhan dan tidak bergantung dengan hardware yang ada pada komputer anda. Sebagai contoh, ia secara default membuat sebuah file sebesar 4 GByte pada harddisk untuk mengemulasikan drive pada mesin virtual. Oleh mesin virtual, file ini terlihat seperti sebuah drive SCSI, yang pada kenyataannya ini hanyalah sebuah file pada IDE drive. Juga secara default, ia menggunakan sebuah IDE CD drive seperti ... sebuah IDE CD drive. Walaupun anda bisa menyuruh virtual machine untuk menggunakannya sebagai sebuah SCSI drive, atau membuat sebuah image ISO CD-ROM sebagai sebuah drive dengan CD di dalamnya (misalnya untuk instalasi). Anda bisa menggunakan hardware yang sebenarnya tidak anda miliki, seperti tape drives.
- Anda juga bisa memiliki beberapa virtual machine yang berjalan pada satu waktu, dan membuat sebuah jaringan lokal pada komputer anda dengan berbagai sistem operasi yang berbeda. Ini baik untuk mencoba sebuah sistem operasi yang baru tanpa mempartisi ulang (menghapusnya kembali dapat dilakukan hanya dengan sekali klik); melihat bagaimana sistem operasi yang baru tersebut terintegrasi dengan jaringan anda yang sudah ada sebelumnya; menunjukkan kepada orang-orang bagaimana banyak sistem operasi saling terkoneksi dan terintegrasi dengan sebuah proyektor.
- Mengapa tidak menggunakan VMWare?
- Kecepatan. Bagaimanapun, kita membagi sebuah CPU kepada dua atau lebih sistem operasi. Walaupun permasalahan ini menjadi tidak serius jika kita menjalankan program-program biasa pada hanya satu sistem pada satu waktu. Suatu hal yang bagus pada sebuah sistem SMP untuk menjalankan VMWare dengan menggunakan satu CPU untuk tiap satu virtual machine ... walaupun tidak mungkin untuk melakukannya tanpa mendesain ulang keseluruhan kernel host operating system.
- Kecepatan, sekali lagi. Anda membutuhkan banyak sekali RAM untuk menjalankannya pada kecepatan yang biasa. Cobalah untuk menggunakan sedikitnya 128 MByte per sistem operasi, atau bersiaplah untuk swapping secara intensif. Ini mungkin menjadi permasalahan pada laptop (ingat bahwa harddisk pada laptop tidak dibuat untuk penggunaan intensif). Cobalah untuk tidak menggunakan swap sistem milik virtual machine.
- Kecepatan, untuk yang ketiga kalinya. Semua peripheral (drive, kartu jaringan) dibagi untuk masing-masing virtual machine. Sebagai contoh, pada sebuah komputer dengan dua buah virtual machine yang berjalan dan dengan banyak keberuntungan, tiap sistem mendapatkan sebuah bagian yang adil (sepertiga - ingat sistem host!) dari bandwidth. Hasil akhirnya dapat menjadi sangat lebih rendah, terutama tergantung dari desain dan efisiensi host operating system.
Hasil akhir dari semua ini telah ditemukan tentang VMWare sebagai sebuah konsep yang menarik karena dengan berbagai kekurangan yang dimilikinya, ia bisa berguna pada sebuah lingkungan pengembangan, untuk pemrograman atau untuk administrasi sistem.