Pendahuluan
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.
MySQL adalah sebuah implementasi dari sistem manajemen basisdata relasional (
RDBMS) yang didistribusikan secara gratis dibawah
lisensi GPL
(General Public License). Setiap pengguna dapat secara bebas
menggunakan MySQL, namun dengan batasan perangkat lunak tersebut tidak
boleh dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya
merupakan turunan salah satu konsep utama dalam basisdata yang telah
ada sebelumnya;
SQL
(Structured Query Language). SQL adalah sebuah konsep pengoperasian
basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data,
yang memungkinkan pengoperasian data dikerjakan dengan mudah secara
otomatis.
Kehandalan suatu sistem basisdata (
DBMS)
dapat diketahui dari cara kerja pengoptimasi-nya dalam melakukan proses
perintah-perintah SQL yang dibuat oleh pengguna maupun program-program
aplikasi yang memanfaatkannya. Sebagai peladen basis data, MySQL
mendukung operasi basisdata transaksional maupun operasi basisdata
non-transaksional. Pada modus operasi non-transaksional, MySQL dapat
dikatakan unggul dalam hal unjuk kerja dibandingkan perangkat lunak
peladen basisdata kompetitor lainnya. Namun demikian pada modus
non-transaksional tidak ada jaminan atas reliabilitas terhadap data yang
tersimpan, karenanya modus non-transaksional hanya cocok untuk jenis
aplikasi yang tidak membutuhkan reliabilitas data seperti aplikasi
blogging berbasis web (
wordpress),
CMS, dan sejenisnya. Untuk kebutuhan sistem yang ditujukan untuk bisnis
sangat disarankan untuk menggunakan modus basisdata transaksional,
hanya saja sebagai konsekuensinya unjuk kerja MySQL pada modus
transaksional tidak secepat unjuk kerja pada modus non-transaksional.
Keistimewaan MySQL
MySQL memiliki beberapa keistimewaan, antara lain :
- Portabilitas. MySQL dapat berjalan stabil pada berbagai
sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server,
Solaris, Amiga, dan masih banyak lagi.
- Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis.
- Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
- 'Performance tuning', MySQL memiliki kecepatan yang
menakjubkan dalam menangani query sederhana, dengan kata lain dapat
memproses lebih banyak SQL per satuan waktu.
- Ragam tipe data. MySQL memiliki ragam tipe data yang sangat
kaya, seperti signed / unsigned integer, float, double, char, text,
date, timestamp, dan lain-lain.
- Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).
- Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.
- 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.
- Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
- Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien
dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian,
bahasa Indonesia belum termasuk di dalamnya.
- Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
- 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.
- Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle.
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.
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{{}}
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.
Akusisi Oleh Sun dan Oracle
Pada tanggal 16 Januari 2008 Sun Microsystems, Inc mengumumkan aksi
korporasi - akuisisi terhadap MySQL AB sehingga menjadikan Sun sebagai
salah satu perusahaan dengan produk platform open source terbesar
seperti
Java,
OpenSolaris dan akhirnya MySQL.
Berselang setahun kemudian, tepatnya pada tanggal 20 April 2009
giliran Oracle melakukan akusisi terhadap Sun Microsystems. Sejak saat
itu berkembang isu Oracle - yang memiliki produk database yang
berkompetisi dengan MySQL - akan mematikan MySQL. Namun sampai sejauh
ini hal tersebut belum terbukti.