Ferdy Ant | Makes Different with Your Own: Unix
Showing posts with label Unix. Show all posts
Showing posts with label Unix. Show all posts

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

Baca Selengkapnya...

Sistem operasi

Sistem operasi

Kalau sistem komputer terbagi dalam lapisan-lapisan, maka Sistem Operasi adalah penghubung antara lapisan hardware dan lapisan software. Lebih jauh daripada itu, Sistem Operasi melakukan semua tugas-tugas penting dalam komputer, dan menjamin aplikasi-aplikasi yang berbeda dapat berjalan secara bersamaan dengan lancar. Sistem Operasi menjamin aplikasi software lainnya dapat menggunakan memori, melakukan input dan output terhadap peralatan lain, dan memiliki akses kepada sistem file. Apabila beberapa aplikasi berjalan secara bersamaan, maka Sistem Operasi mengatur skedule yang tepat, sehingga sedapat mungkin semua proses yang berjalan mendapatkan waktu yang cukup untuk menggunakan prosesor (CPU) serta tidak saling mengganggu.
Dalam banyak kasus, Sistem Operasi menyediakan suatu pustaka dari fungsi-fungsi standar, dimana aplikasi lain dapat memanggil fungsi-fungsi itu, sehingga dalam setiap pembuatan program baru, tidak perlu membuat fungsi-fungsi tersebut dari awal.

Sistem Operasi secara umum terdiri dari beberapa bagian:

  1. Mekanisme Boot, yaitu meletakkan kernel ke dalam memory
  2. Kernel, yaitu inti dari sebuah Sistem Operasi
  3. Command Interpreter atau shell, yang bertugas membaca input dari pengguna
  4. Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain
  5. Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrol mereka.

Sebagian Sistem Operasi hanya mengizinkan satu aplikasi saja yang berjalan pada satu waktu, tetapi sebagian besar Sistem Operasi baru mengizinkan beberapa aplikasi berjalan secara simultan pada waktu yang bersamaan. Sistem Operasi seperti itu disebut sebagaiMulti-tasking Operating System. Beberapa Sistem Operasi berukuran sangat besar dan kompleks, serta inputnya tergantung kepada input pengguna, sedangkan Sistem Operasi lainnya sangat kecil dan dibuat dengan asumsi bekerja tanpa intervensi manusia sama sekali. Tipe yang pertama sering disebut sebagai Desktop OS, sedangkan tipe kedua adalah Real-Time OS

Layanan inti umum

Seiring dengan berkembangnya Sistem Operasi, semakin banyak lagi layanan yang menjadi layanan inti umum. Kini, sebuah OS mungkin perlu menyediakan layanan network dan koneksitas internet, yang dulunya tidak menjadi layanan inti umum. Sistem Operasi juga perlu untuk menjaga kerusakan sistem komputer dari gangguan program perusak yang berasal dari komputer lainnya, seperti virus. Daftar layanan inti umum akan terus bertambah.

Program saling berkomunikasi antara satu dengan lainnya dengan Antarmuka Pemrograman Aplikasi, Application Programming Interface atau disingkat dengan API. Dengan API inilah program aplikasi dapat berkomunikasi dengan Sistem Operasi. Sebagaimana manusia berkomunikasi dengan komputer melalui Antarmuka User, program juga berkomunikasi dengan program lainnya melalui API.

Walaupun demikian API sebuah komputer tidaklah berpengaruh sepenuhnya pada program-program yang dijalankan diatas platform operasi tersebut. Contohnya bila program yang dibuat untuk windows 3.1 bila dijalankan pada windows 95 dan generasi setelahnya akan terlihat perbedaan yang mencolok antara window program tersebut dengan program yang lain.

Sistem Operasi saat ini

Sistem operasi-sistem operasi utama yang digunakan komputer sistem umum (termasuk PC, komputer personal) terbagi menjadi 3 kelompok besar:

  1. Keluarga Microsoft Windows - yang antara lain terdiri dari Windows Desktop Environment (versi 1.x hingga versi 3.x), Windows 9x (Windows 95, 98, dan Windows ME), dan Windows NT (Windows NT 3.x, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, dan Windows Vista yang akan dirilis pada tahun 2007)).
  2. Keluarga Unix yang menggunakan antarmuka sistem operasi POSIX, seperti SCO UNIX, keluarga BSD (Berkeley Software Distribution), GNU/Linux, MacOS/X (berbasis kernel BSD yang dimodifikasi, dan dikenal dengan nama Darwin) dan GNU/Hurd.
  3. Mac OS, adalah sistem operasi untuk komputer keluaran Apple yang biasa disebutMac atau Macintosh. Sistem operasi yang terbaru adalah Mac OS X versi 10.4 (Tiger). Awal tahun 2007 direncanakan peluncuran versi 10.5 (Leopard).

Sedangkan komputer Mainframe, dan Super komputer menggunakan banyak sekali sistem operasi yang berbeda-beda, umumnya merupakan turunan dari sistem operasi UNIX yang dikembangkan oleh vendor seperti IBM AIX, HP/UX, dll.

Proses

Prosesor mengeksekusi program-program komputer. Prosesor adalah sebuah chip dalam sistem komputer yang menjalankan instruksi-instruksi program komputer. Dalam setiap detiknya prosesor dapat menjalankan jutaan instruksi.

Program adalah sederetan instruksi yang diberikan kepada suatu komputer. Sedangkanproses adalah suatu bagian dari program yang berada pada status tertentu dalam rangkaian eksekusinya. Di dalam bahasan Sistem Operasi, kita lebih sering membahasproses dibandingkan dengan program. Pada Sistem Operasi modern, pada satu saat tidak seluruh program dimuat dalam memori, tetapi hanya satu bagian saja dari program tersebut. Sedangkan bagian lain dari program tersebut tetap beristirahat di media penyimpan disk. Hanya pada saat dibutuhkan saja, bagian dari program tersebut dimuat di memory dan dieksekusi oleh prosesor. Hal ini sangat menghemat pemakaian memori.

Beberapa sistem hanya menjalankan satu proses tunggal dalam satu waktu, sedangkan yang lainnya menjalankan multi-proses dalam satu waktu. Padahal sebagian besar sistem komputer hanya memiliki satu prosesor, dan sebuah prosesor hanya dapat menjalankan satu instruksi dalam satu waktu. Maka bagaimana sebuah sistem prosesor tunggal dapat menjalankan multi-proses? Sesungguhnya pada granularity yang sangat kecil, prosesor hanya menjalankan satu proses dalam satu waktu, kemudian secara cepat ia berpindah menjalankan proses lainnya, dan seterusnya. Sehingga bagi penglihatan dan perasaan pengguna manusia, seakan-akan prosesor menjalankan beberapa proses secara bersamaan.

Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga merubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).

Status Proses

Jenis status yang mungkin dapat disematkan pada suatu proses pada setiap sistem operasi dapat berbeda-beda. Tetapi paling tidak ada 3 macam status yang umum, yaitu:

  1. Ready, yaitu status dimana proses siap untuk dieksekusi pada giliran berikutnya
  2. Running, yaitu status dimana saat ini proses sedang dieksekusi oleh prosesor
  3. Blocked, yaitu status dimana proses tidak dapat dijalankan pada saat prosesor siap/bebas

http://id.wikipedia.org/wiki/Sistem_operasi

Baca Selengkapnya...

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