Ferdy Ant | Makes Different with Your Own: Perbandingan MySQL Dengan SQL SERVER

Perbandingan MySQL Dengan SQL SERVER

Perbandingan MySQL Dengan SQL SERVER MySQL

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database manajemen 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 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 closed source atau 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.

Sebuah sistem manajemen basisdata relasional atau dalam bahasa Inggrisnya dikenal sebagai relational database management system (RDBMS) adalah sebuah program komputer (atau secara lebih tipikal adalah seperangkat program komputer) yang didisain untuk mengatur/memanajemen sebuah basisdata sebagai sekumpulan data yang disimpan secara terstruktur, dan melakukan operasi-operasi atas data atas permintaan penggunanya. Contoh penggunaan DBMS ada banyak sekali dan dalam berbagai bidang kerja, misalnya akuntansi, manajemen sumber daya manusia, dan lain sebagainya. Meskipun pada awalnya DBMS hanya dimiliki oleh perusahaan-perusahaan berskala besar yang memiliki perangkat komputer yang sesuai dengan spesifikasi standar yang dibutuhkan (pada saat itu standar yang diminta dapat dikatakan sangat tinggi) untuk mendukung jumlah data yang besar, saat ini implementasinya sudah sangat banyak dan adaptatif dengan kebutuhan spesifikasi data yang rasional sehinggal dapat dimiliki dan diimplementasikan oleh segala kalangan sebagai bagian dari investasi perusahaan.

Multi-user adalah istilah dalam sistem operasi atau perangkat lunak aplikasi yang memperbolehkan akses oleh beberapa pengguna dalam waktu bersamaan ke sistem operasi atau aplikasi tersebut. Istilah lawannya yaitu single-user mengacu kepada suatu sistem operasi yang hanya bisa digunakan oleh satu pengguna setiap saat.

Selain itu MySQL juga memiliki beberapa keistimewaan, antara lain :

Portability : MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.

Open Source : MySQL didistribusikan secara open source (gratis), dibawah lisensi GPL sehingga dapat digunakan secara cuma-cuma.

Multiuser : MySQL dapat digunakan oleh beberapa user 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.

Column types : MySQL memiliki tipe kolom yang sangat kompleks, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain

Command dan functions : MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam query.

Security : MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta password terenkripsi.

Scalability dan limits : MySQL mampu menangani database dalam skala besar, dengan jumlah 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.

Connectivity : MySQL dapat melakukan koneksi dengan client menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).

Localisation : MySQL dapat mendeteksi pesan kesalahan pada client dengan menggunakan lebih dari dua puluh bahasa. Meskipun demikian, bahasa Indonesia belum termasuk didalamnya.

Interface : MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).

Clients dan tools : MySQL dilengkapi dengan berbagai tool yang dapat digunakan untuk administrasi database, dan pada setiap tool yang ada disertakan petunjuk online.

Struktur table : MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan database lainnya semacam PostgreSQL ataupun Oracle.

SQL SERVER

Microsoft SQL Server adalah sebuah sistem manajemen basis data relasional (RDBMS) produk Microsoft. Bahasa kueri utamanya adalah Transact-SQL yang merupakan implementasi dari SQL standar ANSI/ISO yang digunakan oleh Microsoft dan Sybase. Umumnya SQL Server digunakan di dunia bisnis yang memiliki basis data berskala kecil sampai dengan menengah, tetapi kemudian berkembang dengan digunakannya SQL Server pada basis data besar.

Microsoft SQL Server dan Sybase/ASE dapat berkomunikasi lewat jaringan dengan menggunakan protokol TDS (Tabular Data Stream). Selain dari itu, Microsoft SQL Server juga mendukung ODBC (Open Database Connectivity), dan mempunyai driver JDBC untuk bahasa pemrograman Java. Fitur yang lain dari SQL Server ini adalah kemampuannya untuk membuat basis data mirroring dan clustering.

Dengan menerapkan prinsip database server, seluruh pengolahan data mulai dari pencarian, update, penghapusan, penambahan, sampai pada query yang komplek dilakukan di komputer server, sehingga selain kredibilitas data yang terjaga juga ada pembagian beban kerja antara komputer client dan komputer server data.

Sehingga fungsi komputer client hanya sebagai media input dan output data saja, selebihnya ditangani oleh server dengan memakai bahasa query terstruktur atau dikenal dengan Structured Query Language (SQL), bahasa inilah yang digunakan oleh komputer client untuk berkomunikasi dengan komputer server data mulai dari permintaan data, update, menghapus dlsb.

Transact-SQL adalah jenis bahasa untuk basis data SQL yang dikeluarkan oleh perusahaan Microsoft dan Sybase. Pada sistem berbasis Microsoft, T-SQL ini diimplementasikan pada perangkat lunak Microsoft SQL Server, sedangkan pada sistem berbasis Sybase, bahasa Transact-SQL ini dipakai pada perangkat lunaknya yang bernama Adaptive Server Enterprise dan Sybase SQL Server.

Seperti bahasa dalam kebanyakan basis data SQL, T-SQL ini mempunyai beberapa fitur:
bahasa kendali alir (control flow) variabel lokal pemrosesan matematis, string, tanggal (date), dll perbaikan perintah DELETE dan UPDATE.

Kata kunci (keyword) yang dipakai meliputi perintah BEGIN dan END, BREAK, CONTINUE, GOTO, IF dan ELSE, RETURN, WAITFOR, serta WHILE. Beberapa contoh dari penggunaan bahasa T-SQL ini adalah:

IF DATEPART(dw, GETDATE()) = 7 OR DATEPART(dw, GETDATE()) = 1
PRINT 'It is the weekend.'
ELSE
PRINT 'It is a weekday.'

Untuk perintah lebih dari satu baris, maka blok dengan awal BEGIN dan akhiran END harus dipakai seperti contoh ini:

IF DATEPART(dw, GETDATE()) = 7 OR DATEPART(dw, GETDATE()) = 1
BEGIN
PRINT 'It is the weekend.'
PRINT 'Get some rest!'
END
ELSE
BEGIN
PRINT 'It is a weekday.'
PRINT 'Get to work!'
END

Tipe suatu variable biasanya dinyatakan dengan perintah DECLARE:

DECLARE @Counter INT
SET @Counter = 10
WHILE @Counter > 0
BEGIN
PRINT 'The count is ' + CONVERT(VARCHAR(10), @Counter)
SET @Counter = @Counter - 1
END

Suatu variable @ArticleCount dapat diberi nilai awal dengan jumlah baris COUNT yang terdapat pada table Articles, sebagai berikut:

DECLARE @ArticleCount INT
SELECT @ArticleCount = COUNT(*) FROM Articles
INSERT
PERBANDINGAN MYSQL DENGAN SQL SERVER TERLETAK PADA:



Platform perbandingan

SQL Server hanya bekerja pada platform berbasis Windows, termasuk Windows 9x, Windows NT, Windows 2000 dan Windows CE.

MySQL mendukung semua platform, termasuk platform berbasis Windows, AIX-berbasis sistem, sistem HP-UX, Linux Intel, Sun Solaris dan sebagainya.

Perbandingan dalam Software Pendukung UNTUK MYSQL


UNTUK SQL SERVER



Kinerja perbandingan


Sangat sulit untuk membuat perbandingan antara kinerja SQL Server dan MySQL. Kinerja database Anda agak tergantung dari pengalaman database pengembang dan database administrator daripada dari database's selular. Anda dapat menggunakan kedua RDBMS untuk membangun sistem stabil dan efisien. Namun, dimungkinkan untuk menentukan khas transaksi, yang digunakan dalam sistem kontrol inventarisasi, sistem reservasi maskapai penerbangan dan sistem perbankan. Setelah menetapkan khas transaksi ini, kita dapat menjalankan mereka di bawah sistem manajemen database yang berbeda bekerja pada berbagai platform hardware dan software.
SQL Server dan MySQL
Di sini Anda dapat menemukan beberapa SQL Server dan MySQL batas:



Perbandingan MySQL dengan SQL Server Dalam beberapa hal lain:

Jika kita sering membuat program database dengan perintah yang kita simpan didalam database seperti stored procedure, function, atau trigger kadang terdapat perbedaan bahasa pemrogramman antara di MySQL dengan SQL Server. Berikut kita akan membahas beberapa perbedaan antara aplikasi database tersebut.

Untuk parameter di dalam SQL Server selalu menggunakan awalan ‘@’, sedangkan pada MySQL kita dapat mengidentifikasikan parameter dengan karakter apapun dan kita bahkan dapat membuat parameter local tanpa mendeklarasikannya terlebih dahulu, yaitu dengan menambahkan karakter “@” pada awalan parameter yang dibuat.

Pada SQL Server kita dapat mengetikan perintah
‘DECLARE v1 [datatype], v2 [datatype], v3 [datatype]’
tetapi pada MySQL kita harus mengetikan perintah
‘DECLARE v1 [datatype]; DECLARE v2 [datatype]; DECLARE v3 [datatype]’
SQL Server tidak perlu mengetikan perintah ‘BEGIN … END’ untuk batasan sebuah Stored Procedure atau Function. Tetapi dalam MySQL kita perlu mengetikan perintah ‘BEGIN … END’ untuk Stored Procedure atau Function yang memiliki lebih dari satu baris perintah.
Contoh:
DELIMITER$
CREATE PROCEDURE proc1(id int)
BEGIN
[statement 1];
[statement 2];
END$
DELIMITER;

Pada SQL Server kita tidak perlu mengetikan karakter ‘;’ (titik koma) pada setiap akhir perintah. Tetapi pada MySQL membutuhkan karakter ‘;’ pada setiap akhir perintah, karena MySQL merupakan aplikasi console yang membutuhkan pembatas untuk setiap perintah yang dituliskan menjadi pembatas dengan perintah yang lainnya dalam satu Procedure atau Function.

SQL Server memiliki fungsi ‘SET NOCOUNT’ dan ‘@@ROWCOUNT’ untuk memperoleh jumlah row hasil execute. Sedangkan pada MySQL tidak memiliki perintah untuk ‘SET NOCOUNT’, tetapi memiliki fungsi ‘row_count()’ untuk mendapatkan jumlah row hasil execute dari query delete, insert, atau update, ‘found_rows()’ untuk mendapatakan jumlah row hasil execute dari query select.

SQL Server memiliki perintah perulangan ‘WHILE … BEGIN’. Sedangkan MySQL memiliki perintah perulangan ‘WHILE … DO’.

SQL Server dapat menggunakan perintah ‘SELECT’ atau ‘SET’ untuk mengisi data ke variable.
Contoh:
DECLARE @v1 int, @v2 int
SELECT @v1 = 10, @v2 = 20

Sedangkan MySQL hanya dapat menggunakan perintah ‘SET’ untuk mengisi data ke variable.
Contoh:
DECLARE v1 int;
DECLARE v2 int;
SET v1 = 10;
SET v2 = 20;

Kesimpulan
Adalah tidak benar bahwa SQL Server adalah lebih baik daripada MySQL atau sebaliknya. Kedua produk dapat digunakan untuk membangun sistem stabil dan efisien dan stabilitas dan efektivitas Anda dan aplikasi database agak tergantung dari pengalaman database pengembang dan database administrator daripada dari database's selular.
Tetapi SQL Server memiliki beberapa keunggulan dibandingkan dengan MySQL dan sebaliknya.

SQL Server Keunggulan:
• SQL Server memegang bagian atas kinerja TPC-C dan harga / kinerja hasil.
• SQL Server adalah umumnya diterima sebagai lebih mudah untuk menginstal, menggunakan dan mengelola.
• Transact-SQL adalah lebih berkuasa daripada bahasa dialek MySQL.

MySQL Keunggulan:
MySQL mendukung semua platform, tidak hanya yang berbasis platform Windows.
• MySQL kurang memerlukan sumber daya hardware.
• Anda dapat menggunakan MySQL tanpa pembayaran di bawah dengan GNU General Public License.

Daftar Pustaka:
http://www.microsoft.com/indonesia/compare/sqlserver/perbandingan_sqlserver_mysql.aspx http://id.wikipedia.org/wiki/MySQL http://id.wikipedia.org/wiki/Sql_server http://id.wikipedia.org/wiki/Sistem_manajemen_basis_data_relasional http://id.wikipedia.org/wiki/Multi-user http://www.gealgeol.com/2008/02/11/selintas-sejarah-ms-sql-server.html http://id.wikipedia.org/wiki/Transact-SQL http://heng-line.com/?p=43

1 komentar:

Anonymous said...

nice paper. nanya dong, bagaimana membuat timestamp di mysql? dan bagaimana menghubungkan dua database di mysql (dengan trigger/store procedure)? please .. beri sedikit pencerahan, mau buat data warehouse dengan mysql nih ... thanks sebelumnya.

Copyright © 2008 - Ferdy Ant | Makes Different with Your Own - is proudly powered by Blogger
Smashing Magazine - Design Disease - Blog and Web - Dilectio Blogger Template