ANALISIS & EKSPLORASi MYSQL ENTERPRISE EDITION Oleh, Bagus Satrio U. PH L2F009066 Jurusan Teknik Elektro Fakultas Teknik Universitas Diponegoro Semarang ABSTRAK MySQL yang terkenal pada dunia sistem managemen basis data gratis, pada penggunaan yang memiliki jumlah data meningkat, akan semakin kewalahan, yang kemudian berusaha ditutupi dengan MySQL edisi berbayar, yaitu MySQL Enterprise Edition. Apa saja yang akan ditemukan pada MySQL Enterprise Edition, pada praktek dunia nyata. akan dibahas pada laporan Fitur yang akan dilaporkan diawali dari fitur - fitur berbasis aplikasi software yang menunjang MySQL, plugin, dan pengembangan dari fitur yang sudah ada pada MySQL yang tidak berbayar. Keyword: MySQL, Enterprise, Max, Database, DBMS, RDBMS, Basis Data I.
Pendahuluan MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL 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 kasuskasus dimana penggunaannya tidak cocok dengan penggunaan GPL. MySQL Community Edition adalah versi gratis dari MySQL. Tersedia dibawah lisensi GNU GPL (General Public License) dan didukung oleh komunitas open source yang aktif. Lalu, MySQL Standard Edition adalah versi paling dasar dari MySQL, memiliki fitur yang sama dengan Community Edition namun dilengkapi
dengan lisensi dari Oracle dan Layanan Premier dari Oracle, seperti sudah dijelaskan sebelumnya. Sedangkan, MySQL Enterprise Edtion merupakan MySQL dengan sekumpulan fitur tingkat lanjut, dan layanan teknis untuk bisa mencapai kemampuan tertinggi dari MySQL, baik dari segi scalability, security, reliability, dan uptime dari MySQL. MySQL Enterprise mengurangi resiko dan ongkos dalam mengembangkan aplikasi MySQL yang vital. II.
Perbandingan Edisi MySQL Secara garis besar, MySQL sendiri terbagi menjadi 3 edisi, yang memiliki beberapa keunggulan baik dari segi fungsionalitas dan finansial. Setiap edisi dari MySQL tentu memiliki segmen pengguna tersendiri.
Berikut adalah perbandingan edisi MySQL secara garis besar:
Berlangganan Awal / 1-4 Socket Server / Tahun Layanan Premier Oracle (hanya versi berbayar) Layanan 24x7 Layanan Insiden Tak Terbatas Pengetahuan Dasar Rilis, Bug Fix, Patch, Update untuk Perawatan MySQL Consultative Support Fitur MySQL MySQL Database Server MySQL Connector MySQL Replication MySQL Partitioning MySQL Workbench SE MySQL Enterprise Monitor MySQL Enterprise Backup MySQL Enterprise Thread Pool Sertifikasi Oracle Linux Sertifikasi Oracle VM Sertifikasi Oracle Solaris Sertifikasi Oracle GoldenGate Sertifikasi Oracle Fusion Middleware Sertifikasi Oracle Secure Backup Sertifikasi Oracle Database Firewall
MySQL Standard / Community Edition $ 2.000 (Oracle License) / FREE (GPL)
MySQL Enterprise Edition $ 5.000
✓ ✓ ✓ ✓ ✓
✓ ✓ ✓ ✓ ✓
✓ ✓ ✓
✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
✓
✓ ✓ ✓
Tabel 4.1 Perbandingan edisi MySQL
III. Eksplorasi Fitur MySQL Enterprise Edition MySQL Enterprise dilengkapi dengan beberapa fitur yang membedakannya dengan versi MySQL lain. Secara singkat, fitur - fitur yang membedakan MySQL Enterprise Edition adalah: • MySQL Enterprise Monitor •
MySQL Workbench
•
MySQL Enterprise Backup
•
MySQL Thread Pool
•
MySQL Partitioning
•
MySQL Replication
A.
MySQL Enterprise Monitor
Gambar 1 Tampilan dashboard MySQL Enterprise Monitor MySQL Enterprise Monitor merupakan aplikasi yang memonitor MySQL server secara berkelanjutan dan memberi peringatan tentang masalah - masalah pada server. MySQL Enterprise Monitor merupakan aplikasi web yang ditempatkan dalam keamanan dari firewall. Terdiri dari Service Manager terpusat dan Service Agent ringan yang terpasang pada setiap MySQL Server yang termonitor. Pada tampilan dashboard di atas, tingkat kesehatan dari database
MySQL bisa dipantau. MySQL session, connection, dan replication latency juga termonitor.
Gambar 2 Tampilan MySQL Query Analyzer Tampilan di atas merupakan tampilan dari MySQL Query Analyzer, yang berfungsi untuk mengecek Query yang telah dieksekusi pada database MySQL. Dengan MySQL Query Analyzer pengguna dapat melihat kecepatan eksekusi dan efisiensi dari Query yang dieksekusi.
Gambar 3 Tampilan MySQL Replication Monitor Tampilan di atas merupakan tampilan MySQL Replication Monitor, yang sesuai namanya bisa berfungsi untuk mendapatkan visibilitas dari topologi replikasi secara langsung.
B.
MySQL Workbench
memberikan warna highlight pada syntax, memperbolehkan penggunaan kembali SQL snippet, dan menampilkan history eksekusi SQL, semua bertujuan mempermudah penggunaan.
Gambar 4 Tampilan MySQL Workbench Home MySQL Workbench merupakan perangkat lengkap berbasis visual untuk perancangan dan pengembangan database. MySQL Workbench merupakan perangkat yang powerful namun mudah digunakan. MySQL Workbench dapat melakukan aksesnya ke seluruh server database yang terhubung pada server pool. Pada tampilan MySQL Workbench Home yang ditampilkan pada gambar di atas, MySQL memiliki 3 fungsi inti, yaitu SQL Development, Data Modelling, dan Server Administration.
Gambar 5 Tampilan MySQL Workbench SQL Editor Tampilan di atas merupakan tampilan menu SQL Editor dari MySQL Workbench yang digunakan untuk digunakan untuk membuat, menjalankan dan mengoptimalkan query SQL secara visual. Untuk gambaran, SQL editor dapat
Gambar 6 Tampilan MySQL Workbench Visual Database Design Tampilan di atas merupakan tampilan dari menu Visual Database Design, yang sesuai namanya dapat secara visual mengatur, mendesain, dan memodelkan database. Visual Database Design juga menyediakan semua yang dibutuhkan untuk membuat model EER, juga terdapat fitur untuk melakukan change management dan dokumentasi yang biasanya memakan waktu cukup lama.
Gambar 7 Tampilan MySQL Workbench Administration Tampilan di atas merupakan tampilan menu Adminstration, yang dapat digunakan untuk melakukan administrasi MySQL dan mendapat visibilitas dari database secara visual. Adminstration bisa digunakan untuk
konfigurasi server, administrasi user, dan melihat tingkat kesehatan database. C.
MySQL Enterprise Backup MySQL Enterprise Backup merupakan aplikasi resmi dari MySQL untuk melakukan Backup, Restore, dan Compress database. MySQL Enterprise Backup menjalankan backup dengan tidak memblokir MySQL database, biarpun MySQL dalam keadaan Online tanpa menghambat query dan update. Constant Point-In Time Recovery pada MySQL Enterprise Backup membuat restore bisa dilakukan lagi, pada poin waktu tertentu secara spesifik. Dengan menggunakan backup dan binlog, restore juga bisa melakukan roll forward recovery pada transaksi tertentu. MySQL Enterprise Backup dapat mengkompresi file backup, mengurangi ukuran dari 70% hingga 90% dari ukuran aslinya.
Gambar 8 Tampilan MySQL Enterprise Backup pada Workbench D.
MySQL Thread Pool MySQL Thread Pool merupakan plugin yang terintegrasi pada MySQL Enterprise Edition (MySQL Advanced Commercial Database) yang menyediakan threadhandling model yang didesain untuk mengurangi overhead pada saat mengatur koneksi client dan thread eksekusi. Thread-handling model biasa pada MySQL Server mengeksekusi
statemen menggunakan satu thread per client. Sehingga semakin banyak client, kinerja semakin menurun. Plugin MySQL Thread pool mengimplementasikan cara lain untuk meningkatkan kinerja server dengan mengatur secara efisien eksekusi thread untuk banyak client. Thread pool dapat memperbaiki beberapa masalah yang ditemui pada model satu thread per client: • Terlalu banyak thread stack membuat CPU cache hampir tak berguna pada saat menerima beban besar. Thread pool mempromosikan thread stack untuk meminimalisasikan jejak penggunaan CPU cache. •
Dengan terlalu banyak thread berjalan paralel, overhead pada context switch juga tinggi, tugas berat kemudian dibebankan pada scheduler sistem operasi. Thread pool mengatur thread yang aktif untuk menjaga ke-pararel-an pada MySQL server ada pada tingkatan yang masih sanggup dikelola dan tepat untuk server host dimana MySQL dieksekusi.
•
Terlalu banyak transaksi berjalan paralel meningkatkan permintaan resource. Thread pool mengatur kapan transaksi berjalan untuk memastikan transaksi tidak terlalu banyak berjalan secara paralel.
Berikut adalah hasil benchmark MySQL dengan Thread Pool dan tanpa Thread Pool:
Gambar 9 Benchmark Sysbench OLTP Read/Write
MySQL dengan Thread Pool memberikan 20x lipat scalability lebih baik, dibanding tanpa Thread Pool, pada kasus Read/Write.
Gambar 10 Benchmark Sysbench OLTP Read Only MySQL dengan Thread Pool memberikan 3x lipat scalability lebih baik, dibanding tanpa Thread Pool, pada kasus Read Only. Testing Platform: • MySQL 5.5.16 • Oracle Linux 6.1, Unbreakable Kernel 2.6.32 • 2 sockets, 24 cores, 2 X 12-core • Intel(R) Xeon(R) X5670 2.93GHz CPUs • 72GB DDR3 RAM • 2 X LSI SCSI Disk (MR9261-8i) (597GB) E.
MySQL Partitioning MySQL Enterprise dilengkapi fitur Partitioning, berfungsi untuk meningkatkan kinerja dabatase dan mempermudah pengaturan database yang besar. MySQL mendukung horizontal partitioning, dimana setiap baris database dibagi menjadi data set yang lebih kecil dan didistribusikan pada beberapa direktori. Partitioning meningkatkan performa query karena data set lebih kecil bisa diakses dengan operasi spesifik pada data set tersebut, ketimbang operasi pada satu tabel besar. Partisi bisa dibagi ke beberapa drive fisik untuk kemudian partisi diakses secara bersamaan dari drive fisik berbeda untuk meningkatkan
kecepatan, prinsipnya mirip dengan data stripe pada server storage.
Gambar 11 Tampilan MySQL Partitioning pada MySQL Workbench Tampilan di atas merupakan menu partitioning pada MySQL Workbench yang bisa digunakan untuk melakukan partitioning saat pembuatan table. Partitioning bisa dilakukan dengan: HASH, LINEAR HASH, KEY, LINEAR KEY, RANGE, LIST. F.
MySQL Replication Dengan MySQL Replication, beban data didistribusikan pada server farm MySQL, sehingga penambahan kapasitas bisa dengan mudah dilakukan dengan penambahan server. Pada saat Master server offline, maka secara otomatis Slave server dipromosikan untuk menggantikan Master yang tentu saja menghilangkan downtime pada MySQL server. IV. Analisis MySQL Enterprise Edition Pada dasarnya MySQL Enterprise Edition dan edisi lain memiliki dasar sama, yaitu MySQL. MySQL Enterprise Edition sebenarnya adalah MySQL dengan dukungan yang diprioritaskan, baik dari versi MySQL database, software tambahan, layanan, dan plugin / addon yang membuat MySQL lebih fungsional, tentu dengan membayar beberapa uang. Dari sisi software bundling tambahan, sudah dijelaskan sebelumnya terdapat MySQL Workbench, Enterprise Monitor dan Enterprise Backup. Ketiga software
bundling tersebut merupakan perangkat yang powerful dan fungsional, fungsi utama software software tersebut bukan sekedar memperkuat dan memperlancar kinerja MySQL, namun juga mempermudah pengoperasian dan perawatan. Ketiga software bundling tersebut memberikan fasilitas untuk mempermudah dan menghemat waktu dalam perawatan database, dengan juga meminimalisir terjadinya downtime. Dari sisi plugin, terdapat Oracle VM Template, dan Thread Pool. Kedua plugin tersebut memiliki fungsi yang berbeda dengan software bundling yang dibahas sebelumnya, plugin-plugin tersebut berfungsi untuk meningkatkan performa MySQL, tanpa harus memperkuat dari segi hardware. Kedua plugin memiliki fungsi utama untuk memperkuat dan memperlancar kinerja database, meminimalisir downtime, terutama saat traffic pengguna tinggi. Fungsi lain yang ditambahkan adalah Partitioning. Biarpun Partitioning dikenal sebagai salah satu kunci database yang baik, namun fungsi Partitioning terotomatisasi hanya bisa didapatkan di MySQL Enterprise. Partitioning sendiri merupakan salah satu metode normalasi, yang biarpun bisa dilakukan secara manual saat pengelolaan table, akan memakan waktu dan tidak akan bisa sebaik partitioning terotomatisasi. Fungsi lain yang diperkuat adalah Replication. Replication sudah tersedia di semua edisi MySQL, namun pada MySQL Enterprise, fungsi ini diperkuat dari sisi kemudahan operasional. Dengan bundling software Enterprise Monitor dan Workbench, Replication bisa dikelola dengan lebih mudah daripada menggunakan cara
manual yang biasa digunakan pada MySQL edisi lain. Selain dari bentuk nyata software bundling, plugin dan database MySQL, pengguna MySQL Enterprise Edition juga mendapatkan layanan premier 24 jam dari Oracle, baik dukungan teknis nyata maupun layanan by phone. Update terbaru software-software MySQL dari Oracle juga akan jauh lebih awal bisa didapatkan daripada edisi lain. Setelah mengulas apa saja yang didapatkan di MySQL Enterprise Edition, tentu saja perlu diperhatikan juga apa yang harus diberikan untuk mendapatkannya, yaitu biaya $5.000 per tahun operasional. Kesimpulannya, MySQL Enterprise Edition adalah opsi untuk pengguna yang memerlukan performa lebih dari MySQL-nya, tanpa perlu melakukan penggantian dari segi hardware maupun MySQL sendiri, dengan pengorbanan biaya operasional. Karena pada dasarnya semua edisi MySQL tetaplah MySQL, bukan DBMS yang berbeda sama sekali.
DAFTAR PUSTAKA .2010.”Object Oriented Database” dalam nilaimahandika.blogspot.c om. http://nilamahandika.blogs pot.com/2010/06/objectoriented-database.html. Dikunjungi : Maret 2012. .2010.”Pengertian Database” dalam blog.ub.ac.id/okyprima. http://blog.ub.ac.id/okypri ma/2010/10/19/database/. Dikunjungi : Maret 2012. .2010.”Document Oriented Database” dalam bambangpdp.wordpress.co m. http://bambangpdp.wordpr ess.com/2010/03/06/docum ent-oriented-database-dierlang-apache-couchdb/. Dikunjungi : Maret 2012. .2010.”Relational DBMS” dalam agiptek.com. http://www.agiptek.com/in dex.php/pemograman/53database/131-relationaldatabase-managementsystems-.html. Dikunjungi : Maret 2012. .2010.”MySQL in the Enterprise” dalam mysqlintheenterprise.com. http://mysqlintheenterprise. com/. Dikunjungi : Maret 2012. .2012.”Database” dalam en.wikipedia.org. http://en.wikipedia.org/wik i/Database. Dikunjungi : Maret 2012. .2012.”MySQL” dalam en.wikipedia.org.
http://en.wikipedia.org/wik i/MySQL. Dikunjungi : Maret 2012. .2012.”MySQL Official Site” dalam mysql.com. http://mysql.com. Dikunjungi : Maret 2012. BIODATA PENULIS Bagus Satrio U. selaku penulis, dilahirkan 18 Mei 1991, di Semarang sebagai anak ke 3 dari 4 bersaudara. Penulis menempuh pendidikan di TK H Isriati Semarang, SD H Isriati Semarang, SLTP N 3 Semarang, SMAN 3 Semarang, dan kemudian melanjutkan pendidikannya ke jenjang lebih tinggi pada tahun 2009 di Teknik Elektro Universitas Diponegor, melalui jalur SNMPTN. Di Teknik Elektro Undip, penulis mengambil konsentrasi Informatika Komputer. Penulis telah aktif di Himpunan Mahasiswa Elektro selama 2 tahun dan sekarang aktif pada biro konsentrasi.
Dosen Pembimbing
Ir. Kodrat IS, MT. NIP 196310281993031002