• RSS
  • Delicious
  • Digg
  • Facebook
  • Twitter
  • Linkedin
  • Youtube

Dari sekian banyak Database Storage Engine, ada 5 engine yang paling banyak digunakan yaitu Ms. Access, MySql, SQL Server, Postgre dan Oracle. Semuanya mempunyai kelebihan dan kelemahan masing-masing. Di sini saya akan menjelaskan sedikit menyenai perbedaan di antara ke-5 nya. Walaupun belum pernah mencoba menggunakan SQL Server, Postgre dan Oracle, tapi Penulis berusaha mencari sumber dari berbagai artikel yang sudah terbaca. Jadi, kalau ada kekurangan mohon dimengerti dan dimaklumi.


1. Ms. ACCESS
Ms. Access adalah Database Storage Engine buatan dari Microsoft yang menempel di produk Microsoft Office. Untuk instalasinya membutuhkan space di hardisk yang lumayan gedhe. Engine ini hanya bisa dijalankan di lingkup sistem operasi Windows saja. Kapasitas datanya sangat terbatas sehingga hanya cocok jika diaplikasikan untuk small system ato home bisnis. Untuk keamananya tidak begitu bisa dihandalkan walaupun sudah mengenal konsep relationship.


Kelebihan dan Kekurangan Ms. Access :
  • Microsoft Access kurang begitu bagus jika diakses melalui jaringan sehingga aplikasi-aplikasi yang digunakan oleh banyak pengguna cenderung menggunakan solusi sistem manajemen basis data yang bersifat klien atau server.
  • Salah satu keunggulan Microsoft Access dilihat dari perspektif programmer adalah kompatibilitasnya dengan bahasa pemrograman Structured Query Language (SQL). Para pengguna dapat mencampurkan dan menggunakan kedua jenis bahasa tersebut (VBA dan Macro) untuk memprogram form dan logika dan juga untuk mengaplikasikan konsep berorientasi objek.


2. MY SQL
MySQL dikembangkan oleh sebuah perusahaan Swedia bernama MySQL AB, yang kala itu bernama TcX DataKonsult AB, sejak sekitar 1994–1995, meski cikal bakal kodenya bisa disebut sudah ada sejak 1979. Tujuan mula-mula TcX membuat MySQL pada waktu itu juga memang untuk mengembangkan aplikasi Web untuk klien—TcX adalah perusahaan pengembang software dan konsultan database. Kala itu Michael Widenius, atau “Monty”, pengembang satu-satunya di TcX, memiliki aplikasi UNIREG dan rutin ISAM yang dibuat sendiri dan sedang mencari antarmuka SQL untuk ditempelkan di atasnya. Mula-mula TcX memakai mSQL, atau “mini SQL” (akan kita kunjungi nanti). Barangkali mSQL adalah satu-satunya kode database open source yang tersedia dan cukup sederhana saat itu, meskipun sudah ada Postgres (juga akan dibahas sesaat lagi). Namun ternyata, menurut Monty, mSQL tidaklah cukup cepat maupun fleksibel. Versi pertama mSQL bahkan tidak memiliki indeks. Setelah mencoba menghubungi David Hughes—pembuat mSQL—dan ternyata mengetahui bahwa David tengah sibuk mengembangkan versi dua, maka keputusan yang diambil Monty yaitu membuat sendiri mesin SQL yang antarmukanya mirip dengan mSQL tapi memiliki kemampuan yang lebih sesuai kebutuhan. Lahirlah MySQL.
Nama MySQL (baca: mai és kju él) tidak jelas diambil dari mana. Ada yang bilang ini diambil dari huruf pertama dan terakhir nama panggilan Michael Widenius, Monty. Ada lagi yang bilang kata My diambil dari nama putri Monty, yang memang diberi nama My—karena Monty memang aslinya seorang Finlandia. Tapi sebetulnya kalau source code MySQL dilirik, prefiks my memang sudah terbubuhi di mana-mana—prefiks ini sering menjadi prefiks umum kalau seseorang membuat kode kustom tersendiri untuk sesuatu. Kalau Anda betul-betul penasaran mana yang benar, mungkin bisa bertanya langsung kepada Monty.
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. Sejak dari sebelum 3.22 dan awal 3.23, MySQL terus dikritik praktisi database maupun penggunanya mengenai tidak adanya fasilitas transaksi (COMMIT dan ROLLBACK). Pengembang MySQL menyarankan penggunaan LOCK TABLES untuk mengatasi masalah update atomik, tapi ini tentu saja bukan pengganti transaksi, karena tidak adanya kemampuan membatalkan efek perubahan di tengah jalan. Di seri 3.23-lah MySQL mulai memiliki kemampuan transaksi, row-level locking, dan foreign key constraint. Meski beberapa fasilitas popular lainnya masih belum ada—seperti subselek, view, dan trigger—ini sudah direncanakan dan akan mulai ditambahkan di seri 4.x.

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. MySQL memang memiliki arsitektur yang memungkinkan tiap tabel ditangani oleh handler yang berbeda. Handler ini menerima perintah akses dan modifikasi dari lapisan MySQL yang lebih atas dan mewujudkannya secara fisik dari dan ke disk. Tabel tipe MyISAM merupakan tabel yang lebih cepat dari tabel ISAM, karena pola aksesnya telah disesuaikan dan dioptimasi untuk pola akses SQL. Selain itu MyISAM mendukung indeks pada kolom bertipe TEXT dan BLOB, serta mendukung tipe indeks FULLTEXT. Tabel tipe BerkeleyDB, atau BDB, menggunakan database embedded BerkeleyDB yang sudah terkenal itu untuk memanfaatkan kemampuan transaksinya. Sejak memiliki handler BDB, MySQL naik statusnya menjadi database yang ACID compliant, sesuatu yang amat penting bagi keamanan data. Namun BerkeleyDB tidaklah terlalu optimal untuk sebuah database SQL, sehingga akhirnya sebuah perusahaan Finlandia Innobase Oy membuat handler table baru bagi MySQL yang menggunakan database embedded InnoDB-nya—kala itu bernama Innobase, namun berganti nama karena masalah trademark produk Innobase yang sudah ada sebelumnya.
InnoDB membuat MySQL menarik karena peningkatan kecepatan dan kemampuan tambahan yang dimungkinkannya. Pertama-tama, InnoDB memiliki fitur transaksi dengan sistem multiversi. Artinya, jika sebuah klien memulai transaksi, maka perubahan yang dilakukan klien tersebut tidak akan terlihat oleh klien lain. Klien lain akan melihat kondisi tabel sebelum transaksi. Barulah jika transaksi oleh klien pertama dicommit, perubahan ini menjadi terlihat di semua klien lain. Bandingkan ini dengan tabel BDB misalnya, di mana klien yang ingin mengakses sebuah tabel yang sedang dipakai dalam sebuah transaksi akan diblok. Dengan kata lain, multiversi menghindari bloking yang tidak perlu. Ini ditambah lagi dengan row-level locking yang disediakan InnoDB, sehingga mempertinggi konkurensi dan mencegah terlalu banyak bloking. Handler tabel MySQL yang lain hanya mendukung table-level locking, sehingga sebuah klien hanya bisa memblok dengan tingkat granulasi tabel dan berpotensi memblok banyak klien lain yang ingin mengakses tabel yang sama. PostgreSQL dan beberapa database komersial sudah memiliki kemampuan-kemampuan ini. Berkat InnoDB, MySQL pun kini memiliki keduanya. Selain itu, InnoDB menambahkan foreign key constraint, sesuatu yang sering didambakan pengguna MySQL karena bisa menyederhanakan logika pemrograman dan menjaga kekonsistenan database mereka.
Sebetulnya babak baru pengembangan MySQL—yaitu saat MySQL dirilis sebagai produk open source sejati—dimulai saat perusahaan kecil MySQL AB ini menjalin kerja sama dengan sebuah perusahaan database Amerika bernama Progress Software di tahun 2000. Progress membantu meyakinkan Monty dkk agar mengganti lisensi produk MySQL menjadi GPL. Selain itu, Progress juga memasuki bisnis open source dengan membentuk NuSphere, yang akan menjual distribusi MySQL khusus. Model bisnis mengemas software open source nampaknya cukup laik di mata Progress, melihat kesuksesan distro-distro Linux dan perusahaan seperti Red Hat. Karena itu Progress juga berencana menyuntikkan dana hingga $2,5 juta dolar kepada MySQL AB, dengan tujuan agar MySQL bisa menjadi lebih baik lagi. Satu lagi, Nusphere juga akan membuat table handler baru bernama Gemini, yang didasarkan pada software database Progress. Gemini akan menambahkan row-level locking dan transaksi pada MySQL.


Database Storage Engine ini banyak digunakan oleh programmer apalagi oleh web developer karena sifatnya yang free. Untuk yang expert sudah ada yang bayar. Kemampuannya sudah bisa diandalkan, mempunyai kapasitas yang cukup mumpuni sekitar 60.000 tabel dengan jumlah record mencapai 5.000.000.000 bahkan untuk yang terbaru sudah lebih. Keamanan datanya cukup aman walaupun tidak sehebat Postgre apalagi Oracle. Engine ini multiplatform sehingga mampu diaplikasikan di berbagai sistem operasi. My Sql cocok diaplikasikan diaplikasi kelas kecil dan menengah. Kelebihan paling utama engine ini adalah kecepatannya.

Kelebihan :
  • Dapat bekerja di beberapa platform yang berbeda, seperti LINUX, Windows, MacOS dll.
  • Dapat dikoneksikan pada bahasa C, C++, Java, Perl, PHP dan Python.
  • Memiliki lebih banyak type data seperti : signed/unsigned integer yang memiliki panjang data sebesar 1,2,3,4 dan 8 byte, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET dan tipe ENUM.
  • Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY. Mendukung terhadap fungsi penuh ( COUNT ( ),COUNT (DISTINCT), AVG ( ), STD ( ), SUM ( ), MAX ( ) AND MIN ( ) ).
  • Mendukung terhadap LEFT OUTHER JOIN dengan ANSI SQL dan sintak ODBC.
  • Mendukung ODBC for Windows 95 (dengan source program). Semua fungsi ODBC 2.5 dan sebagainya. Sebagai contoh kita dapat menggunakan Access untuk connect ke MySQL server.
  • Menggunakn GNU automake, autoconf, dan LIBTOOL untuk portabilitas.
  • Kita dapat menggabungkan beberapa table dari database yang berbeda dalam query yang sama.
  • Ditulis dengan menggunakan bahasa C dan C++. Diuji oleh compiler yang sangat jauh berbeda.
  • Privilege (hak) dan password sangat fleksibel dan aman serta mengujinkan ‘Host-Based’ Verifikasi.
  • Open Source dan gratis didownload.
  • Lebih hemat resource memory (dibandingkan database lain).


Kekurangan :
  • Untuk koneksi ke bahasa pemrograman visual seperti visual basic, delphi, dan foxpro, mysql kurang support, karena koneksi ini menyebabkan field yang dibaca harus sesuai dengan koneksi dari program visual tersebut, dan ini yang menyebabkan mysql jarang dipakai dalam program visual.
  • Data yang ditangani belum begitu besar.



3. ORACLE
Man this is a great database. Database Storage Engine ini bisa menyimpan data sampai ukuran tera byte, dan database oracle juga meyediakan yg gratisan versi home edition untuk sekedar yg ingin belajar oracle aja sedangkan untuk versi enterprisenya kita harus bayar. sejauh yg saya tahu dalam pengalaman saya, untuk bagian query-nya oracle tetap menggunakan standard bahasa SQL. Oralce bisa digunakan diberbagai platform seperti unix,windows, atau yg lainnya.
untuk masalah keamanan oracle bisa dibilang baik. untuk masalah perfomance oracle kebanyakan bermain di harddisk jadi kalau anda ingin menggunakan oracle anda harus menyediakan space harddisk yg cukup besar. untuk backup oracle mempunyai extensi sendiri namanya file DMP.

Kelebihan :
  • Ketika kita mengakses database dan kemudian ada kejadian seperti listrik mati misalnya maka data yang sudah kita simpan tidak rusak/hilang.
  • Database Clusters, dengan menggunakan teknologi Real Application Clusters (RAC). Salah satu fungsi dari RAC adalah memberikan perlindungan terhadap kelangsungan data dalam perusahaan sehingga apabila terjadi crash pada salah satu server database, maka tidak akan mempengaruhi kinerja perusahaan. Hal ini disebabkan karena teknologi RAC memungkinkan untuk membuat beberapa database server menjadi seolah-olah satu database server, sehingga apabila ada database server yang down, kinerja database server tersebut akan di-take over oleh server-server yang lain.
  • Row-Level Locking, fitur ini dapat melakukan lock tidak hanya pada table-level saha, akan tetapi dimungkinkan untuk melakukan lock lebih jauh lagi sampai pada row-level. Sehingga user-user dapat melakukan akses data dalam suatu tabel secara bersamaan, lebih cepat dan lebih akurat.
  • Data Partitioning, Oracle memungkinkan kita untuk melakukan partisi ke suatu tabel maupun indeks. Hal ini akan dapat meningkatkan kemampuan kita untuk dalam melakukan manajemen data.
  • Oracle OLAP (Integrated Online Analytical Processing), Oracle memiliki fungsi OLAP (yang sebelumnya hanya dapat kita temui pada OLAP database) yang terintegrasi dengan baik ke dalam relational database, sehingga kita tidak memerlukan database lain selain Oracle itu sendiri.
  • Oracle Data Mining & Data Warehousing, fitur ini memberikan kemudahan bagi perusahaan yang ingin men-develop aplikasi Business Intellegent yang bertujuan untuk membantu eksekutif perusahaan dalam menentuksan strategi perusahaan berdasarkan analisis data yang di-generate oleh Oracle Data Mining.
  • Virtual Private Database, fitur ini memberikan dan meningkatkan fleksibilitas jaminan security sampai pada row-level security. Hal ini akan membuat aplikasi kita menjadi semakin aman sewaktu kita melakukan transaksi melalui Internet.
  • Intelegent Self-Managing, untuk para DBA, fitur ini akan membuat proses database tuning dan database manajemen menjadi lebih mudah.
  • Flashback Query, fitur ini memungkinkan kita untuk melihat status data kita mundur beberapa waktu (flash back) sampai batas yang kita tentukan, sehingga apabila terjadi kesalahaan data pada waktu yang lalu, maka kita dapat melakukan koreksi tanpa harus melakukan database recovery.



Kekurangan : 
  • Penggunaan Oracle sangat memakan banyak biaya, mulai dari device sampai diperlukannya DBA yang handal.


4. POSTGRESQL
Postgres pada awalnya dikembangkan oleh mahasiswa dan staff programmer University of California, Berkeley, dibawah arahan Professor Michael Stonebraker. Sofware ini mulanya dinamai Postgres, tetapi karena banyak tambahan untuk fungsi fungsi SQL maka pada tahun 1995 namanya diganti Postgres95, dan sejak tahun 1996 nama yang digunakan hingga sekarang adalah PostgreSQL. Pada saat pertama dikembangkan postgres dianggap tidak memenuhi stardar ANSI-SQL92 -standar database berskala besar- , karena tujuannya hanya menjadikan postgres sebagai database yang mempunyai banyak feature dan keluwesan yang tinggi. Karena merasa mendapat tantangan postgres berusaha untuk memenuhi standar tersebut, dan akhirnya potsgres mampu juga untuk mencapai satndar ANSI-SQL. Tetapi yang lebih gila lagi ternyata kemampuan postgres melebihi standar ANSI_SQL, yang berarti kemampuan postgres melebihi database lain standar ANSI-SQL92 yang diantarannya adalah Oracle. Wajar jika Postgres dinobatkan Linux Award sebagai database pilihan dan menempatkan Oracle pada tembat ke-dua.



Perbedaan yang paling mendasar antara postgres dengan sistem relasional standar adalah, kemampuan postgres yang memungkinkan user untuk mendefinisikanSQL-nya sendiri, terutama untuk pembuatan function. Hal ini dimungkinkan karena informasi yang tersimpan pada postgres tidak hanya tabel dan kolom melainkan tipe, fungsi, car akses, dan informasi lain. Kesemuanya itu dihimpun dalam bentuk class yang memungkinkan user untuk merubahnya. Dengan model class ini postgres lebih mudah dikembangkan ditingkat user dan bisa mendefinisikan sebuah tabel sebagai turunan tabel lain. Dimana pada database konvensional hal itu hanya bisa dilakukan dengan mengganti source code nya atau menggunakan modul tambahan . Kelebihan lain dari postgres adalah dukungan antar muka dari berbagai bahasa pemrograman seperti Perl, PHP, C++, Phyton, Java dan masih banyak lagi. Postgres juga mempunayai kemampuan untuk membuat konektifitas dengan database lain seperti pgdump, Interbase, pgaccess dan hampir semua database pada Linux. Karena kemampuan itulah wajar jika bagi yang telah mencoba postgres menjadi kecanduan dan sulit untuk pindah ke database lain termasuk penulis. Saat ini postgres telah banyak digunakan oleh berbagai perusahaan besar, Rumah Sakit Pertamina adalah salah satu yang telah menggunakan Postgres.
PostgreSQL adalah sebuah object-relational database management system (ORDBMS) yang bersifat open source. PostgreSQL adalah database yang powerful dan tidak kalah dengan database komersil sekelasnya Oracle, Sybase maupun Informix. PostgreSQL yang mendukung standar SQL92 dan SQL99 ini juga mendukung bahasa pemrograman C, C++, Java, Tcl, Perl, Python, PHP, dst.
Database Storage Engine ini bersifat open source atau gratisan yg dikembangkan oleh berbagai developer didunia.Untuk sintax query postgre sql menggunakan ANSI SQL 89, 92 dan 99. untuk postgre sql sudah support joins, views, aggregasi.
PostgreSQL (www.PostgreSQL.org) didisain untuk skala besar, memiliki ciri berorientasi objek, namun tetap dapat digunakan layaknya RDBMS pada umumnya. Para pengembangnya (dulu) mengutamakan kelengkapan feature ketimbang dukungan penuh akan standar SQL.Dalam perjalanannya, kelebihan feature ini justru membuat Postgres semakin powerful dan membuatnya dapat disejajarkan dengan database besar lainnya seperti Oracle. Salah satu contoh standar SQL yang belum dipenuhi oleh PostgreSQL adalah referential integrity dan outer-join. Meski demikian, programmer Postgres tetap merencanakan untuk membuatnya memiliki standar SQL yang sudah ditetapkan. Fasilitas standar lain yang telah didukung adalah trigger dan function.
Function dalam PostgreSQL sangat unik karena PostgreSQL tidak menetapkan built-in language untuk penulisan function. PostgreSQL menyerahkan kepada pemakai untuk memilih sendiri bahasa yang diinginkan yang disebut Procedural Language. Pada saat deklarasi function, Anda harus menyebutkan bahasa yang digunakan. procedural language yang tersedia adalah pgSQL dan Tcl. Jadi script function yang dideklarasikan akan diterjemahkan oleh library yang bersangkutan (tergantung bahasa yang dipilih) untuk selanjutnya library tersebut melakukan koordinasi dengan library PostgreSQL.



Tools yang tersedia cukup banyak dan sangat berguna seperti:
pgdump: konversi objek database menjadi script SQL
pgaccess: drag & drop-nya cukup menyenangkan
PostgreSQL didukung oleh banyak bahasa (atau Postgres mendukung banyak bahasa?), antara lain: C++, Java, Perl, Tcl, PHP3 dan Python. Library untuk ODBC dan JDBC juga telah tersedia, sehingga bahasa lainnya yang mendukung keduanya dapat mengakses PostgreSQL.






5. SQL SERVER


Microsoft SQL Server adalah sebuah sistem manajemen basis data relasional (RDBMS) produk Microsoft. Bahasa query 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. Pada versi sebelumnya, MS SQL Server 2000 terserang oleh cacing komputer SQL Slammer yang mengakibatkan kelambatan akses Internet pada tanggal 25 Januari 2003.

Database Storage Engine buatan Microsoft. Engine ini berbayar, akan tetapi Microsoft juga menyediakan yang versi gratisan (Express Edition). Karena buatan dari Bill Gates maka Engine ini hanya bisa dijalankan di sistem operasi Windows saja (monoplatform). Keamanan datanya sudah lumayan. Kapasitas penyimpanan datanya tidak mencapai Tera Byte, sehingga sudah mampu untuk diterapkan di aplikasi besar. SQL Server banyak bermain di Memori untuk processing. Untuk backup data Ms SQL banyak extensinya ada extensi .MDB, .BAK, .file. Kapasitas rollback dan recoverinya tidak masih kurang efektif.

  • SQL Server merupakan suatu relational database yang di desain untuk mendukung aplikasi dengan arsitektur Client/Server.
  • Informasi dipergunakan secara bersama-sama oleh beberapa pengguna (Users) yang menjalankan aplikasi di komputer local, atau komputer Client.
  • SQL Server mendukung sistem :


– 1-Tier System
• Contohnya aplikasi webmail di internet (yahoo)
• Data dan aplikasi tersimpan di Web Server, pengguna menjalankan aplikasi yang diambil dari Web Server (tidak terinstall di komputer lokal).


– 2-Tier Architecture (Client/Server)
• Contohnya program aplikasi kepegawaian yang dijalankan di satu/beberapa komputer, dan semua datanya disimpan di Server yang terpisah.
– Multitier System
• Contohnya aplikasi webmail di internet (yahoo)
• Data dan aplikasi tersimpan di Web Server, pengguna menjalankan aplikasi yang diambil dari Web Server (tidak terinstall di komputer lokal).

– 2-Tier Architecture (Client/Server)
• Contohnya program aplikasi kepegawaian yang dijalankan di satu/beberapa komputer, dan semua datanya disimpan di Server yang terpisah.


Microsoft SQL Server 2000 mampu memenuhi pelayanan database yang dibutuhkan oleh sistem yang besar.
Server yang besar bisa memiliki ribuan user yang terkoneksi ke SQL Server pada saat yang bersamaan.
SQL Server sebagai database server untuk keperluan sistem client/server dan Web Sites.
SQL Server database dibagi menjadi beberapa komponen logik seperti tabel, Views dan elemen lainnya yang tidak tidak terlihat oleh pengguna.
SQL Server database bisa terdiri dari dua atau lebih physical files :
Primary data files
Secondary data files 
Log files   



d-in4matika Templates

0 Comment:

Posting Komentar