Monday, 11 July 2011

MYSQL


Jika Anda memiliki pengalaman dengan database relasional, Anda mungkin pernah mendengar tentang MySQL: MySQL memiliki kinerja tinggi, sistem manajemen database relasional yang multiuser saat ini merupakan standar untuk aplikasi perangkat lunak database pada Web.
Dirancang sekitar tiga prinsip dasar kecepatan, stabilitas, dan kemudahan penggunaan dan tersedia secara bebas di bawah Lisensi GNU General Public. MySQL sering disebut sebagai “database yang paling populer di dunia open-source” oleh perusahaan induknya, MySQL AB. Statistik resmi menunjukkan lebih dari lima juta situs yang menciptakan, menggunakan, dan menyebarkan aplikasi berbasis MySQL, dengan sekian kali lipat setiap harinya. Kita mungkin pernah mendengar tentang beberapa pelanggan MySQL: yang akrab dengan nama-nama seperti Yahoo!, Google, Cisco, NASA, dan HP

1. Sejarah

Kisah MySQL tidak selalu mengenai tingkat pertumbuhan yang meroket dan peringkat tinggi kepuasan pengguna, namun. MySQL memiliki sejarah yang menarik. Kembali ke tahun 1979, ketika Michael “Monty” Widenius menciptakan sebuah sistem database bernama UNIREG untuk perusahaan Swedia TcX. UNIREG tidak bekerja untuk TcX karena masalah kinerja, dan selanjutnya TcX mulai mencari alternatif. Mereka mencoba mSQL, sebuah pesaing DBMS yang diciptakan oleh David Hughes, tetapi ketika upaya ini juga gagal, pendekatan baru pun disebut-sebut. Dengan demikian, Widenius memutuskan untuk membuat server database baru yang disesuaikan dengan kebutuhan tertentu, tapi berdasarkan API mSQL (untuk menyederhanakan aplikasi). Akhirnya sistem ini bisa selesai dan dirilis ke kelompok kecil di bulan Mei 1996, menjadi MySQL 1.0.
Beberapa bulan kemudian, MySQL 3.11 memperlihatkan rilis publik pertama berbentuk distribusi biner untuk Solaris. Berikutnya diikuti segera oleh source dan binaries Linux, sebuah komunitas pengembang yang antusias dan bersahabat, ditambah dengan kebijakan perizinan berbasis GPL. Seperti MySQL yang tumbuh populer, TcX menjadi MySQL AB, yang merupakan sebuah perusahaan swasta yang saat ini sebagai pemilik tunggal dari kode sumber (source code) dan merek dagang server MySQL. MySQL AB bertanggung jawab untuk pemeliharaan, pemasaran, dan pengembangan lebih lanjut dari server database MySQL dan produk terkait. Saat ini, MySQL tersedia untuk berbagai platform, termasuk Linux, MacOS, dan Windows.

2. Fitur

Sejarah pembangunan MySQL selalu ditandai dengan fokus pada atribut yang paling penting dari sebuah RDBMS yang baik: kecepatan dan stabilitas. Hal ini menghasilkan sebuah sistem yang melebihi kebanyakan pesaingnya tanpa mengorbankan kehandalan atau kemudahan penggunaan, sehingga mendapatkan sebuah basis setia pengembang, administrator, dan pengguna di seluruh dunia.
Bagian berikut menjelaskan fitur MySQL yang paling menarik.

a. Kecepatan

Dalam RDBMS, kecepatan waktu yang digunakan untuk mengeksekusi query dan mengembalikan hasil ke pemanggil-adalah segalanya. MySQL memperoleh skor yang tinggi pada parameter ini, dengan kinerja yang lebih baik dari hampir semua pesaingnya, termasuk sistem komersial seperti Microsoft SQL Server dan DB2 IBM. MySQL menggunakan arsitektur terangkai penuh; pengoptimalan khusus untuk tugas-tugas yang kompleks seperti penggabungan (join) dan pengindeksan, sebuah cache query, yang meningkatkan kinerja tanpa perlu pemrograman khusus oleh pengguna, dan kemampuan untuk menggunakan mesin penyimpanan (storage engine) yang berbeda pada basis tabel, sehingga pengguna dapat mencampur dan mencocokkan kumpulan fitur yang berbeda menguras performa maksimal dari sistem.

b. Keandalan

Tentang keandalan, MySQL adalah sempurna. RDBMS MySQL telah diuji dan disertifikasi untuk digunakan dalam volume tinggi, seperti pada aplikasi misi khusus oleh beberapa organisasi terbesar di dunia, termasuk NASA, HP, dan Yahoo! Karena MySQL memiliki akar dalam komunitas open source, setiap rilis baru biasanya diuji oleh pengguna di seluruh dunia, pada sistem operasi yang berbeda dan dalam kondisi operasi yang berbeda, untuk memastikan apakah MySQL benar-benar bebas kesalahan (bug) sebelum disertifikasi untuk digunakan.

c. Keamanan

Keamanan adalah dianggap penting saat berhadapan dengan database multiuser, dan pengembang MySQL telah melakukan perawatan untuk memastikan bahwa MySQL sangat aman. MySQL dilengkapi dengan sistem kontrol dan hak akses yang canggih untuk mencegah pengguna yang tidak sah mengakses sistem. Sistem ini, diimplementasikan sebagai hierarki berjenjang lima yang istimewa, MySQL memungkinkan administrator untuk melindungi akses ke data sensitif menggunakan kombinasi skema otentikasi pengguna dan berbasis host. Pengguna dapat dibatasi untuk melakukan operasi hanya pada database atau field-field tertentu, dan MySQL bahkan mungkin untuk mengontrol jenis query pengguna dapat berjalan, pada database, tabel, atau tingkat field.

d. Skalabilitas dan Portabilitas

MySQL dapat menangani database yang sangat besar dan kompleks tanpa penurunan kinerja yang berarti. Tabel seukuran beberapa gigabyte berisi ratusan ribu record yang tidak biasa, dan situs web MySQL itu sendiri mengaku sanggup menampung database dengan 50 juta record. Dan sekali mengisi data pada tabel, kita dapat memindahkan data tersebut dari satu platform ke yang lain tanpa ada kesulitan. MySQL tersedia untuk sistem operasi UNIX dan non-UNIX, termasuk Linux, Solaris, FreeBSD, OS / 2, MacOS , dan Windows 95, 98, Me, 2000, XP, dan NT. MySQL berjalan pada bermacam arsitektur komputer, termasuk x86 Intel, Alpha, SPARC, PowerPC, dan IA64, dan mendukung konfigurasi hardware yang berbeda, dari mesin 386 yang lawas ke mesin Pentium yang terbaru.

e. Penggunaan yang mudah

Kebanyakan RDBMSs komersial membayang-bayangi, dengan antarmuka perintah baris yang samar dan ratusan parameter yang beragam. Meskipun menyadari bahwa antarmuka yang kompleks menyebabkan total biaya kepemilikan dari sebuah RDBMS bertambah. Tim pengembang MySQL telah bersusah payah agar MySQL mudah untuk digunakan, dikelola, dan dioptimalkan. Sebuah antarmuka perintah baris (command-line) SQL sederhana merupakan antarmuka utama pengguna ke server; pengguna dengan bakat visual lebih bisa menggunakannya, jika tidak berbakat dapat menggunakan Control Center MySQL atau Administrator MySQL. Dua klien GUI yang dikembangkan oleh MySQL AB untuk penggunaan dan administrasi MySQL. Sejumlah alat bantu berbasis browser lainnya juga tersedia. Aplikasi didukung dengan baik oleh manual yang rinci, komunitas pengembang berpengalaman, serta beberapa buku dan tutorial yang sangat baik.

f. Kesesuaian dengan Standar yang ada

MySQL 4.0 mendukung sebagian besar fitur penting standar ANSI SQL-99, dengan dukungan fitur-fitur yang hilang akan ditambah pada versi berikutnya. MySQL juga memperluas standar ANSI dengan fungsi-fungsi buatan sendiri dan jenis data yang dirancang untuk meningkatkan portabilitas dan menyediakan fungsi yang ditingkatkan. MySQL 4.0 mendukung sekumpulan karakter penting (termasuk Latin, Big5, dan kumpulan karakter Eropa), dengan dukungan Unicode yang penuh yang akan ditambahkan untuk versi masa depan.

g. Dukungan Aplikasi yang Luas

MySQL memamerkan API untuk bahasa pemrograman yang berbeda, sehingga memungkinkan untuk menulis aplikasi database-driven (aplikasi yang bergantung pada database) sesuai pilihan bahasa yang digunakan.

h. Mudahnya Perizinan

RDBMS MySQL dilisensi di bawah GPL, dan pengguna bebas untuk download dan memodifikasi kode sumber (source code) aplikasi untuk kebutuhan mereka, dan untuk menggunakan kode tersebut untuk memperkuat aplikasi mereka tanpa mengeluarkan biaya. Kebijakan lisensi telah memicu popularitas MySQL. Menciptakan sebuah komunitas global yang aktif dan antusias dari pengembang dan pengguna MySQL. Komunitas ini memainkan peran aktif dalam menjaga agar MySQL selalu menjadi yang terdepan. baik oleh kegagalan pengujian perangkat lunak untuk keandalan pada jutaan instalasi di seluruh dunia maupun memperluas mesin inti (core engine) untuk selalu mengikuti teknologi akhir dan perkembangan terbaru.

Pengertian MySQL
MySQL adalah suatu perangkat lunak database relasi (Relational Database Management System atau RDBMS), seperti halnya ORACLE, Postgresql, MS SQL, dan sebagainya. MySQL AB menyebut produknya sebagai database open source terpopuler di dunia. Berdasarkan riset dinyatakan bahwa bahwa di platform Web, dan baik untuk kategori open source maupun umum, MySQL adalah database yang paling banyak dipakai. Menurut perusahaan pengembangnya, MySQL telah terpasang di sekitar 3 juta komputer. Puluhan hingga ratusan ribu situs mengandalkan MySQL bekerja siang malam memompa data bagi para pengunjungnya.
Fitur MySQL
Kalau di seri 3.22 MySQL mulai diadopsi banyak orang dan meningkat populasi penggunanya, maka di seri 3.23 dan 4.0-lah terjadi banyak peningkatan dari sisi teknologi. Ini tidak terlepas dari tuntutan pemakai yang semakin mengandalkan MySQL, namun membutuhkan fitur-fitur yang lebih banyak lagi.
Seri 3.23. Di seri 3.23 MySQL menambahkan tiga jenis tabel baru: pertama MyISAM, yang sampai sekarang menjadi tipe tabel default; kedua BerkeleyDB, yang pertama kali menambahkan kemampuan transaksi pada MySQL; dan ketiga InnoDB, primadona baru yang potensial.
Seri 4.x. Di seri yang baru berjalan hingga 4.0 tahap alfa ini, pengembang MySQL berjanji akan menjadikan MySQL satu derajat lebih tinggi lagi. Fitur-fitur yang sejak dulu diminta akan dikabulkan, seperti subselek (di 4.1), union (4.0), foreign key constraint (4.0 atau 4.1—meski InnoDB sudah menyediakan ini di 3.23.x), stored procedure (4.1), view (4.2), cursor (4.1 atau 4.2), trigger (4.1). MySQL AB tetap berdedikasi mengembangkan dan memperbaiki MySQL, serta mempertahankan MySQL sebagai database open source terpopuler.
Keunggulan MySQL
Penyebab utama MySQL begitu popular di kalangan Web adalah karena ia memang cocok bekerja di lingkungan tersebut. Pertama, MySQL tersedia di berbagai platform Linux dan berbagai varian Unix. Sesuatu yang tidak dimiliki Access, misalnya—padahal Access amat popular di platform Windows. Banyak server Web berbasiskan Unix, ini menjadikan Access otomatis tidak dapat dipakai karena ia pun tidak memiliki kemampuan client-server/networking.
Kedua, fitur-fitur yang dimiliki MySQL memang yang biasanya banyak dibutuhkan dalam aplikasi Web. Misalnya, klausa LIMIT SQL-nya, praktis untuk melakukan paging. Atau jenis indeks field FULLTEXT, untuk full text searching. Atau sebutlah kekayaaan fungsi-fungsi builtinnya, mulai dari memformat dan memanipulasi tanggal, mengolah string, regex, enkripsi dan hashing. Yang terakhir misalnya, praktis untuk melakukan penyimpanan password anggota situs.
Ketiga, MySQL memiliki overhead koneksi yang rendah. Soal kecepatan melakukan transaksi atau kinerja di kondisi load tinggi mungkin bisa diperdebatkan dengan berbagai benchmark berbeda, tapi kalau soal yang satu ini MySQL-lah juaranya. Karakteristik ini membuat MySQL cocok bekerja dengan aplikasi CGI, di mana di setiap request skrip akan melakukan koneksi, mengirimkan satu atau lebih perintah SQL, lalu memutuskan koneksi lagi. Cobalah melakukan hal ini dengan Interbase atau bahkan Oracle. Maka dengan load beberapa request per detik saja server Web/database Anda mungkin akan segera menyerah karena tidak bisa mengimbangi beban ini.

No comments:

Post a Comment