Skip to content Skip to sidebar Skip to footer

MySQL. Software database relasi dengan kecepatan luar biasa





1. Pengertian MySQL

MySQL adalah sebuah implementasi dari sistem manajemen basisdata relasional (RDBMS) yang didistribusikan secara gratis di bawah lisensi GPL (General Public License). Setiap pengguna dapat secara bebas menggunakan MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam basisdata yang telah ada sebelumnya; SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.
Kehandalan suatu sistem basisdata (DBMS) dapat diketahui dari cara kerja pengoptimasi-nya dalam melakukan proses perintah-perintah SQL yang dibuat oleh pengguna maupun program-program aplikasi yang memanfaatkannya. Sebagai peladen basis data, MySQL mendukung operasi basisdata transaksional maupun operasi basisdata non-transaksional. Pada modus operasi non-transaksional, MySQL dapat dikatakan unggul dalam hal unjuk kerja dibandingkan perangkat lunak peladen basisdata kompetitor lainnya. Namun pada modus non-transaksional tidak ada jaminan atas reliabilitas terhadap data yang tersimpan, karenanya modus non-transaksional hanya cocok untuk jenis aplikasi yang tidak membutuhkan reliabilitas data seperti aplikasi blogging berbasis web (wordpress), CMS, dan sejenisnya. Untuk kebutuhan sistem yang ditujukan untuk bisnis sangat disarankan untuk menggunakan modus basisdata transaksional, hanya saja sebagai konsekuensinya unjuk kerja MySQL pada modus transaksional tidak secepat unjuk kerja pada modus non-transaksional.

2. Sejarah MySQL

MySQL pada awalnya diciptakan pada tahun 1979, oleh Michael "Monty" Widenius, seorang programmer komputer asal Swedia. Monty mengembangkan sebuah sistem database sederhana yang dinamakan UNIREG yang menggunakan koneksi low-level ISAM database engine dengan indexing. Pada saat itu Monty bekerja pada perusahaan bernama TcX di Swedia.
TcX pada tahun 1994 mulai mengembangkan aplikasi berbasis web, dan berencana menggunakan UNIREG sebagai sistem database. Namun sayangnya, UNIREG dianggagap tidak cocok untuk database yang dinamis seperti web.
TcX kemudian mencoba mencari alternatif sistem database lainnya, salah satunya adalah mSQL (miniSQL). Namun mSQL versi 1 ini juga memiliki kekurangan, yaitu tidak mendukung indexing, sehingga performanya tidak terlalu bagus.
Dengan tujuan memperbaiki performa mSQL, Monty mencoba menghubungi David Hughes (programmer yang mengembangkan mSQL) untuk menanyakan apakah ia tertarik mengembangkan sebuah konektor di mSQL yang dapat dihubungkan dengan UNIREG ISAM sehingga mendukung indexing. Namun saat itu Hughes menolak, dengan alasan sedang mengembangkan teknologi indexing yang independen untuk mSQL versi 2.
Dikarenakan penolakan tersebut, David Hughes, TcX (dan juga Monty) akhirnya memutuskan untuk merancang dan mengembangkan sendiri konsep sistem database baru. Sistem ini merupakan gabungan dari UNIREG dan mSQL (yang source codenya dapat bebas digunakan). Sehingga pada May 1995, sebuah RDBMS baru, yang dinamakan MySQL dirilis.
David Axmark dari Detron HB, rekanan TcX mengusulkan agar MySQL di ‘jual’ dengan model bisnis baru. Ia mengusulkan agar MySQL dikembangkan dan dirilis dengan gratis. Pendapatan perusahaan selanjutnya di dapat dari menjual jasa “support” untuk perusahaan yang ingin mengimplementasikan MySQL. Konsep bisnis ini sekarang dikenal dengan istilah Open Source.
Pada tahun 1995 itu juga, TcX berubah nama menjadi MySQL AB, dengan Michael Widenius, David Axmark dan Allan Larsson sebagai pendirinya. Titel “AB” di belakang MySQL, adalah singkatan dari “Aktiebolag”, istilah PT (Perseroan Terbatas) bagi perusahaan Swedia.

3. Kelebihan dan kekurangan MySQL

Hal paling mendasar yang menjadikan MySQL pilihan utama sebagai database yang digunakan adalah karena MySQL menggunakan Lisensi GPL dan multiplatform, sehingga lebih disukai para mahasiswa karena tidak membutuhkan biaya besar dalam membuat aplikasi serta tidak harus tergantung pada OS Windows ataupun Linux karena dapat dijalankan pada kedua OS tersebut dan beberapa OS lainnya. Tapi alasan tersebut tidaklah cukup untuk menjadikan MySQL sebagai RDBMS yang akan digunakan. Berikut keunggulan lain yang diberikan


  • Kelebihan
    • Berlisensi GPL dan MultiPlatform
    • Dapat diintegrasikan dalam beberapa bahasa pemrograman. Seperti .Net, Java, Phyton, Perl yang merupakan bahasa pemrograman yang paling dominan di kalangan programmer.
    • Mendukung ODBC untuk sistem operasi Windows sehingga bisa digunakan aplikasi yang berjalan diwindows.
    • Bisa dijalankan pada spesifikasi hardware yang rendah karena lebih hemat resource memory (dibandingkan database lain) sehingga mudah digunakan untuk bahan pembelajaran.
    • MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari 20 bahasa meskipun bahasa indonesia belum termasuk didalamnya.
  • Kekurangan
    • Banyak mengklaim kurang support terhadap pemrograman Visual/Desktop, sehingga sedikit yang menggunakan untuk aplikasi visual.
    • Karena berlisensi GPL sehingga sulit mendapatkan update untuk problem yang urgent, sehingga perusahaan skala menengah keatas lebih memilih RDBMS berlisensi dan disupport seperti Oracle dan MS SQL Server
    • Sangat diragukan dalam menangani data skala besar, karena ada beberapa opini yang pro dan kontra terhadap kemampuan MySQL terhadap pengolahan data yang besar.


4. Fitur yang ada di MySQL

Berikut Fitur serta kapabilitas yang dimiliki oleh MySQL:
  1. Unjuk kerja yang tinggi dalam memproses query sederhana, dalam arti dapat memproses lebih banyak SQL per satuan waktu.
  2. Memiliki lebih banyak tipe 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.
  3. Mendukung field yang dijadikan Index, dengan maksimal 32 index dalam satu tabel. *
  4. MYSQL memiliki beberapa lapisan keamanan, seperti subnetmask, nama host, dan izin akses user dengan sistem perijinan yang mendetail serta sandi/password terenkripsi.
  5. Konektivitas , MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP ,Unix soket (UNIX),atau Named Pipes(NT).
  6. Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik
  7. Command and function, MySQL memiliki fungsi dan operator secara penuh yang mendukung perintah select dan where dalam query.
  8. Structure Table, MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE dibandingkan DBMS lainnya.
  9. Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY. Mendukung terhadap fungsi penuh ( COUNT(),COUNT(), DISTINCT() AVG(), STD(), SUM(), MAX() dan MIN() )

5. Tipe Data MySql

MySql memiliki beberapa tipe data yang digunakan untuk menyimpan data sesuai dengan tipe data tersebut. Sebagai seorang database management, kita sepantasnya memahami tentang tipe data. karena kunci dari penyimpanan yang maksimal adalah di tipe data ini. jika sampai salah, hasilnya bisa fatal. Mungkin memang tidak begitu berpengaruh apabila data yang disimpan hanya sedikit. Namun akan sangat berpengaruh ketika data yang disimpan sudah ribuan. untuk menghalangi hal tersebut. alangkah baiknya apabila kita memahami tipe data. berikut merupakan tipe data di MySql :
  1. Tipe Data Numeric
    Tipe Data numeric merupakan tipe data yang menyimpan data berupa angka (nomer)
    No
    Nama
    Fungsi
    Jangkauan
    Ukuran
    1
    TINYINT
    Menyimpan data bilangan bulat positif dan negatif.
    -128 s/d 127
    1 byte (8 bit).
    2
    SMALLINT
    menyimpan data bilangan bulat positif dan negatif.
    : -32.768 s/d 32.767
    : 2 byte (16 bit).
    3
    MEDIUMINT
    menyimpan data bilangan bulat positif dan negatif.
    -8.388.608 s/d 8.388.607

    Ukuran : 3 byte (24 bit).

    4
    INT
    menyimpan data bilangan bulat positif dan negative
    -2.147.483.648 s/d 2.147.483.647
    4 byte (32 bit).
    5
    BIGINT
    menyimpan data bilangan bulat positif dan negatif.
    ± 9,22 x 1018

    8 byte (64 bit).
    6
    FLOAT
    menyimpan data bilangan pecahan positif dan negatif presisi tunggal
    -3.402823466E+38 s/d -1.175494351E-38, 0, dan
    1.175494351E-38 s/d 3.402823466E+38.

    4 byte (32 bit)
    7
    DOUBLE

    menyimpan data bilangan pecahan positif dan negatif presisi ganda.
    -1.79...E+308 s/d -2.22...E-308, 0, dan 2.22...E-308 s/d 1.79...E+308.
    8 byte (64 bit)
    8
    REAL
    menyimpan data bilangan pecahan positif dan negatif presisi ganda.
    -1.79...E+308 s/d -2.22...E-308, 0, dan 2.22...E-308 s/d 1.79...E+308.
    8 byte (64 bit).
    9
    DECIMAL
    menyimpan data bilangan pecahan positif dan negatif.
    -1.79...E+308 s/d -2.22...E-308, 0, dan 2.22...E-308 s/d 1.79...E+308.
    8 byte (64 bit).
    10
    NUMERIC
    menyimpan data bilangan pecahan positif dan negatif.
    -1.79...E+308 s/d -2.22...E-308, 0, dan 2.22...E-308 s/d 1.79...E+308.
    8 byte (64 bit).



  2. Tipe Data Date
    Tipe Data Date merupakan tipe data yang menyimpan data berupa tanggal dan waktu
    No
    Nama
    Fungsi
    Jangkauan
    Ukuran
    1
    DATE
    menyimpan data tanggal
    1000-01-01 s/d 9999-12-31 (YYYY-MM-DD)
    3 byte.
    2
    TIME
    menyimpan data waktu
    -838:59:59 s/d +838:59:59 (HH:MM:SS)
    3 byte
    3
    DATETIME
    menyimpan data tanggal dan waktu.
    '1000-01-01 00:00:00' s/d '9999-12-31 23:59:59'
    8 byte
    4
    YEAR
    menyimpan data tahun dari tanggal
    1900 s/d 2155
    1 byte



  3. Tipe Data String
    Tipe Data String merupakan tipe data yang menyimpan data berupa string (teks)
    No
    Nama
    Fungsi
    Jangkauan
    1
    CHAR
    menyimpan data string ukuran tetap.
    0 s/d 255 karakter
    2
    VARCHAR
    menyimpan data string ukuran dinamis.
    0 s/d 255 karakter (versi 4.1), 0 s/d 65.535
    3
    TINYTEXT
    menyimpan data text.
    0 s/d 255 karakter (versi 4.1), 0 s/d 65.535
    4
    TEXT
    menyimpan data text.
    0 s/d 65.535
    5
    MEDIUMTEXT
    menyimpan data text
    0 s/d 224 - 1 karakter
    6
    LONGTEXT
    menyimpan data text.
    0 s/d 232 - 1 karakter

  4. Tipe Data BLOOB
    Tipe Data BLOOB merupakan tipe data yang menyimpan data berupa biner
    No
    Nama
    Fungsi
    Jangkauan
    1
    BIT
    Menyimpan data biner.
    64 digit biner
    2
    TINYBLOB
    menyimpan data biner/ Gambar ukuran kecil
    255 byte
    3
    BLOB
    Menyimpan data biner/ Gambar
    4
    4
    MEDIUMBLOB
    Menyimpan data biner/ Gambar kuran sedang
    224-1 byte
    5
    LONGBLOB
    Menyimpan data biner/ Gambar ukuran besar
    232- 1 byte

  5. Tipe Data lain
    Selain tipe data diatas, MySQL juga menyimpan tipe data lain
    No
                 Nama
    Fungsi
    Jangkauan
    1
    ENUM
    enumerasi (kumpulan data).
    sampai dengan 65535 string.
    2
    SET
    combination (himpunan data).
    sampai dengan 255 string anggota




Post a Comment for "MySQL. Software database relasi dengan kecepatan luar biasa"