4 Trik Memilih Database untuk Aplikasi💾

Trik memilih database ini penulis buat untuk memudahkan Anda sebagai programmer/developer untuk memilih database yang cocok untuk aplikasi Anda. Pemilihan database untuk aplikasi ini sangat penting, karena akan memengaruhi perkembangan aplikasi ke depannya.

Biasanya Anda akan menggunakan database seperti MySQL atau SQL Server untuk aplikasi Anda, tetapi apa database tersebut cocok untuk ukuran aplikasi Anda?

Trik Memilih Database sesuai Environment

Trik memilih database yang paling tepat yaitu berdasarkan environment atau lingkungan program yang akan digunakan. Sesuai dengan target sistem yang akan digunakan, penulis membuat tabel untuk memilih database yang cocok untuk aplikasi.

FiturSQL Server ExpressSQL Server LocalDBMySQLSQLite
EnvironmentClient-ServerStandaloneClient-ServerStandalone
Ukuran instalasi> 2GB~300MB~280MB~3MB
Deployment kepada ClientSulitTidak perlu konfigurasiSulitTidak perlu konfigurasi
Jenis instalasiFull packageSide-by-sideFull package dan side-by-sideEmbedded

Environment

  1. Client-Server, pada sistem ini, terdapat komputer server dan client yang saling berkomunikasi. Server bertindak sebagai pusat basis data dan kontrol, sedangkan client bertindak sebagai antarmuka antara pengguna dan aplikasi. Contoh sistem ini adalah billing warnet, aplikasi rumah sakit, server pulsa.
  2. Standalone, pada sistem ini, aplikasi hanya digunakan pada satu komputer atau tidak perlu adanya server. Contoh sistem ini adalah aplikasi akuntansi (ACCURATE), aplikasi absensi offline.

Jika Anda ingin membuat aplikasi yang akhirnya akan dibuat setup/installer yang akan diberikan kepada user (sekali install langsung pakai), maka Anda perlu memilih versi database standalone, karena lebih mudah untuk dibuat setup/installer. Untuk aplikasi yang digunakan untuk sebuah badan/perusahaan dimana pengguna aplikasi tersebut terdapat banyak user, maka Anda perlu memilih versi database client-server, untuk menangani data secara terpusat (sentralisasi).

Ukuran Instalasi

Anda perlu memperhitungkan ukuran engine database Anda untuk didistribusikan kepada user. Anda dan user pastinya tidak mau membuat setup/installer dengan ukuran yang besar padahal aplikasi utamanya kecil. Disini ukuran engine aplikasi juga menjadi pertimbangan jenis database apa yang perlu Anda gunakan.

Deployment kepada Client

Deployment kepada client berarti bagaimana database tersebut harus disetting terlebih dahulu sebelum dapat digunakan, misalnya dengan menggunakan setup/installer.

  1. Untuk database dengan skala besar, konfigurasi seperti pembuatan database, tabel-tabel, relasi, stored procedure, dan lain-lain harus dilakukan terlebih dahulu, baik secara manual maupun menggunakan skrip.
  2. Untuk database dengan skala kecil, konfigurasi tidak diperlukan, karena database bisa di-embed langsung kedalam aplikasi, sehingga proses deployment lebih cepat dan efisien.

Jenis Instalasi

Penulis membedakan jenis instalasi menjadi tiga, sesuai dengan edisi dari engine database yang disediakan oleh provider.

  1. Full package, jenis instalasi ini berarti engine database diinstall penuh pada komputer. Versi ini termasuk semua tool yang digunakan pada proses development dan maintenance yang hanya dilakukan oleh developer. Misalnya: SQL Server Express dan MySQL.
  2. Side-by-side, jenis instalasi ini berarti engine database diinstall penuh pada komputer, tetapi fitur untuk development dan maintenance tidak tersedia untuk user. Jenis instalasi ini cocok digunakan untuk aplikasi standalone. Contohnya SQL Server LocalDB, versi SQL Server ini hanya menginstall engine SQL Server, sedangkan database sudah di-embed pada aplikasi (tidak perlu setting database). Contoh lain adalah MySQL No Install, versi ini hanya menginstall service MySQL tetapi tidak dengan databasenya (masih perlu setting database).
  3. Embedded, jenis instalasi ini tidak menginstall apapun pada sistem. Engine database sudah di-embed pada aplikasi, misalnya melalui file DLL. Versi ini sangat ringan dan tidak perlu setting sama sekali.

Penutup

Berdasarkan penjelasan di atas, penulis dapat merangkum beberapa poin di atas sebagai berikut.

  • Jika aplikasi bersifat client-server dan perlu DBMS dengan semua fitur (tabel, view/query, stored procedure, migrations, maintenance, dll), gunakan SQL Server atau MySQL.
  • Jika aplikasi bersifat standalone dan perlu DBMS dengan semua fitur (tabel, view/query, stored procedure, migrations, maintenance, dll), gunakan SQL Server LocalDB.
  • Jika aplikasi bersifat standalone dan tidak memerlukan semua fitur DBMS (tabel, view/query, tanpa stored procedure, migrations, maintenance, dll), gunakan SQLite.
Infografis Memilih Database untuk Aplikasi

Trik di atas dibuat oleh penulis dilihat dari sudut pandang deployment for clients. Apabila Anda ingin membuat aplikasi skala menengah-besar, Anda perlu memperhitungkan faktor lain seperti replication dan migration pada server dan tidak lagi berfokus pada deployment untuk user, melainkan berfokus pada service untuk user.

Referensi

  1. Nixon, Jerry. 2012. SQL Express v LocalDB v SQL Compact Edition (https://blogs.msdn.microsoft.com/jerrynixon/2012/02/26/sql-express-v-localdb-v-sql-compact-edition/). Diakses 9 Juni 2018.