Arsitektur Database: Pengertian, Fungsi, dan Tingkatan
Konsep arsitektur database adalah penggunaan bahasa pemrograman dalam mendesain jenis perangkat lunak yang dibutuhkan secara spesifik untuk perusahaan. Fokusnya adalah pada desain dan juga pengembangan sekaligus implementasi dan pemeliharaan program komputer. Program tersebut menyimpan serta mengatur informasi untuk berbagai jenis bisnis.
Intinya, arsitektur database mengembangkan dan mengimplementasikan perangkat lunak dalam rangka memenuhi kebutuhan pengguna. Melalui database architecture, sistem manajemen basis data atau DBMS akan diintegrasikan dengan aplikasi yang dibutuhkan. Arsitek database perlu membuat keputusan yang akan mengubah cara pembuatan aplikasi saat mendesain arsitektur basis data.
Fungsi Arsitektur Database
Para arsitek database memerlukan database untuk menyimpan data saat mendesain aplikasi modern. Cara merancang solusi perangkat lunak yang menggunakan database sangat banyak. Hal ini bergantung pada bagaimana aplikasi dari arsitek tersebut akan menggunakan data ini.
Hal pertama yang harus dilakukan arsitek database adalah menentukan jenis database yang ingin digunakan. Database terdiri dari database terpusat (centralized) atau terdesentralisasi (decentralized). Aplikasi situs yang paling sering ditemukan di dunia maya menggunakan database terpusat. Sedangkan database terdesentralisasi digunakan di situs data base dengan arsitektur berbeda, seperti blockchain.
Desain DBMS tergantung pada arsitekturnya, baik itu terpusat atau terdesentralisasi, atau bahkan hierarkis. Arsitektur DBMS dapat dilihat sebagai single tier atau multi-tier.
Kenali Tingkatan Arsitektur Database
Terkait dengan arsitektur basis data, maka pengaplikasiannya meliputi beberapa tingkatan. Tingkatan tersebut adalah:
-
1-tier architecture
Dalam 1-tier architecture, database dan aplikasi apa pun yang saling berinteraksi tersimpan di satu server atau perangkat. Cara ini merupakan cara tercepat untuk mengakses data karena tidak ada penundaan jaringan yang terlibat. Pada aplikasi single-tier, aplikasi dan database berada pada perangkat yang sama.
Contoh 1-tier architecture adalah aplikasi seluler yang memanfaatkan Realm dan database seluler sumber terbuka oleh MongoDB yang berfungsi sebagai database lokal, baik aplikasi maupun database beroperasi di perangkat seluler pengguna.
-
2-tier architecture
2-tier architecture terdiri dari banyak klien yang terhubung langsung ke database. Jenis arsitektur ini umum dikenal dengan istilah client-server architecture. Jenis ini umum ditemukan saat aplikasi desktop terhubung ke database tunggal yang di hosting di server database lokal. Salah satu contohnya adalah customer relationship management internal yang terhubung ke database Access.
-
3-tier architecture
Mayoritas aplikasi web modern sudah menggunakan 3-tier architecture. Klien terhubung ke back end yang nantinya terhubung ke database. Penggunaan 3-tier architecture memiliki tingkat fleksibilitas tinggi. Pertama, faktor keamanan, di mana koneksi database akan tetap terbuka rear-end untuk mengurangi risiko diretas.
Keuntungan kedua adalah skalabilitas. Pasalnya, setiap lapisan beroperasi secara independen, di mana hal ini lebih mudah untuk skalasi bagian aplikasi. Deployment yang lebih cepat juga menjadi keunggulan 3-tier architecture karena terdapat beberapa tingkatan yang memudahkan pemisahan masalah serta praktik terbaik cloud-native. Hal ini termasuk proses pengiriman berkelanjutan yang lebih canggih.
Pengaplikasian 3-tier architecture dalam Database Modern
Database modern saat ini menggunakan arsitektur database ANSI-SPARC. Tipe ini memiliki tiga level yang terdiri dari:
1. Tingkat Fisik (Physical Level)
Level ini adalah yang terendah dan dikenal sebagai tingkat internal. Tingkat fisik menggambarkan bagaimana data yang sebenarnya tersimpan dalam database. Pada level terendah, data tersimpan di hard drive eksternal yang berbentuk bit pada level yang tinggi diatasnya. Hal ini sama dengan penyimpanan data di dalam file dan folder. Tingkat ini juga terkait dengan teknik kompresi dan enkripsi.
2. Tingkat Konseptual (Conceptual Level)
Tingkat ini berada pada tingkat yang lebih tinggi dan dikenal sebagai tingkat logis. Tingkatan ini mendeskripsikan bagaimana database muncul ke pengguna secara konseptual dengan bentuk keterkaitan antara berbagai tabel data.
3. Tingkat Eksternal (External Level)
Level tertinggi ini merupakan level yang paling dekat dengan pengguna . Level eksternal hanya menampilkan konten database yang relevan kepada pengguna dalam bentuk tampilan, namun tidak ada data lain yang muncul. Jadi, pengguna yang berbeda dapat melihat database sebagai tampilan yang berbeda sesuai kebutuhan masing-masing.
Selain arsitektur database ANSI-SPARC, salah satu bentuk 3-tier architecture modern adalah MongoDB Atlas. Jenis ini memiliki tiga lapis aplikasi tier yaitu:
4. Database Tier
Pada lapisan ini, database berada bersamaan dengan bahasa pemrosesan kuerinya. Data yang disimpan dalam database MongoDB Atlas dihosting di cloud publik atau beberapa cloud, jika diperlukan. Lapisan ini berfungsi menjaga supaya data tetap dapat diakses oleh lapisan aplikasi sekaligus menjalankan kueri secara efisien.
5. Application (Middle) Tier
Tingkat aplikasi ini bertugas untuk berkomunikasi dengan database. Tingkat aplikasi ini memastikan akses aman ke data. API pengguna berada pada lapisan ini dalam aplikasi web modern. Aplikasi back-end yang dirancang dengan Node.js atau bahasa pemrograman lain dengan driver asli membuat permintaan ke database sebelum informasi diteruskan kembali ke klien. Lapisan ini berada di tengah tengah dan menjadi mediator antara database dan pengguna akhir.
6. User (Presentation) Tier
Lapisan terakhir ini adalah aplikasi UI yang berinteraksi langsung dengan pengguna. Pada kasus aplikasi stack MERN atau MEAN, maka aplikasi presentasi ini menjadi ujung depan JavaScript yang dibangun dengan React atau Angular. Aplikasi ini dapat memunculkan beberapa tampilan database.
Intinya, 3-tier architecture dalam arsitektur database digunakan sebagian besar aplikasi web modern. Namun, terdapat alternatif topologi lain seperti jenis database yang berupa instance tersendiri atau tanpa server. Hal ini bergantung pada prediksi model penggunaan arsitek database.
Ingin tahu lebih lanjut dengan detail terkait dengan arsitektur database? Kuliah saja di BINUS ONLINE, kampus dengan metode online learning terbaik untuk masa depan yang cerah.
Comments :