Database: Sejarah hingga Aplikasi

Dipublikasikan oleh Nadia Pratiwi

30 Mei 2024, 16.29

Sumber: pinterest

Dalam komputasi, database adalah kumpulan data yang terorganisir atau jenis penyimpanan data yang didasarkan pada penggunaan sistem manajemen basis data (DBMS), perangkat lunak yang berinteraksi dengan pengguna akhir, aplikasi, dan basis data itu sendiri untuk menangkap dan menganalisis data. DBMS juga mencakup fasilitas inti yang disediakan untuk mengelola database. Total keseluruhan dari database, DBMS, dan aplikasi terkait dapat disebut sebagai sistem database. Seringkali istilah “basis data” juga digunakan secara longgar untuk merujuk pada salah satu DBMS, sistem basis data atau aplikasi yang terkait dengan basis data.

Basis data kecil dapat disimpan di sistem file, sedangkan basis data besar di-host di cluster komputer atau penyimpanan awan. Desain database mencakup teknik formal dan pertimbangan praktis, termasuk pemodelan data, representasi dan penyimpanan data yang efisien, bahasa kueri, keamanan dan privasi data sensitif, dan masalah komputasi terdistribusi, termasuk mendukung akses bersamaan dan toleransi kesalahan.

Ilmuwan komputer dapat mengklasifikasikan sistem manajemen basis data menurut model basis data yang mereka dukung. Basis data relasional menjadi dominan pada tahun 1980-an. Model ini memodelkan data sebagai baris dan kolom dalam serangkaian tabel, dan sebagian besar menggunakan SQL untuk menulis dan menanyakan data. Pada tahun 2000-an, database non-relasional menjadi populer, yang secara kolektif disebut sebagai NoSQL, karena mereka menggunakan bahasa kueri yang berbeda.

Terminologi dan gambaran umum

Secara formal, “database” mengacu pada sekumpulan data terkait yang diakses melalui penggunaan “sistem manajemen basis data” (DBMS), yang merupakan sekumpulan perangkat lunak komputer terintegrasi yang memungkinkan pengguna untuk berinteraksi dengan satu atau beberapa basis data dan menyediakan akses ke semua data yang terkandung dalam basis data (meskipun mungkin ada batasan yang membatasi akses ke data tertentu). DBMS menyediakan berbagai fungsi yang memungkinkan pemasukan, penyimpanan, dan pengambilan informasi dalam jumlah besar serta menyediakan cara untuk mengatur bagaimana informasi tersebut diatur.

Karena hubungan yang erat di antara keduanya, istilah “basis data” sering digunakan secara umum untuk merujuk pada basis data dan DBMS yang digunakan untuk memanipulasinya.

Di luar dunia teknologi informasi profesional, istilah database sering digunakan untuk merujuk pada kumpulan data yang terkait (seperti spreadsheet atau indeks kartu) karena ukuran dan persyaratan penggunaan biasanya mengharuskan penggunaan sistem manajemen database.

DBMS yang ada saat ini menyediakan berbagai fungsi yang memungkinkan pengelolaan database dan datanya yang dapat diklasifikasikan ke dalam empat kelompok fungsional utama:

  • Definisi data - Pembuatan, modifikasi, dan penghapusan definisi yang mendefinisikan organisasi data.
  • Pembaruan - Penyisipan, modifikasi, dan penghapusan data aktual.
  • Pengambilan - Menyediakan informasi dalam bentuk yang dapat digunakan secara langsung atau untuk diproses lebih lanjut oleh aplikasi lain. Data yang diambil dapat disediakan dalam bentuk yang pada dasarnya sama dengan yang tersimpan dalam database atau dalam bentuk baru yang diperoleh dengan mengubah atau menggabungkan data yang ada dari database.
  • Administrasi - Mendaftarkan dan memantau pengguna, menegakkan keamanan data, memantau kinerja, menjaga integritas data, menangani kontrol konkurensi, dan memulihkan informasi yang telah rusak karena suatu peristiwa seperti kegagalan sistem yang tidak terduga.

Baik database maupun DBMS-nya sesuai dengan prinsip-prinsip model database tertentu. “Sistem basis data” secara kolektif mengacu pada model basis data, sistem manajemen basis data, dan basis data.

Secara fisik, server database adalah komputer khusus yang menyimpan database yang sebenarnya dan hanya menjalankan DBMS dan perangkat lunak terkait. Server database biasanya merupakan komputer multiprosesor, dengan memori yang besar dan susunan disk RAID yang digunakan untuk penyimpanan yang stabil. Akselerator database perangkat keras, yang terhubung ke satu atau lebih server melalui saluran berkecepatan tinggi, juga digunakan dalam lingkungan pemrosesan transaksi bervolume besar. DBMS ditemukan di jantung sebagian besar aplikasi database. DBMS dapat dibangun di sekitar kernel multitasking khusus dengan dukungan jaringan bawaan, tetapi DBMS modern biasanya mengandalkan sistem operasi standar untuk menyediakan fungsi-fungsi ini.

Karena DBMS terdiri dari pasar yang signifikan, vendor komputer dan penyimpanan sering mempertimbangkan persyaratan DBMS dalam rencana pengembangan mereka sendiri.

Database dan DBMS dapat dikategorikan menurut model database yang didukungnya (seperti relasional atau XML), jenis komputer yang digunakannya (dari cluster server hingga ponsel), bahasa kueri yang digunakan untuk mengakses database (seperti SQL atau XQuery), dan rekayasa internalnya, yang memengaruhi kinerja, skalabilitas, ketahanan, dan keamanan.

Sejarah

Ukuran, kemampuan, dan kinerja database dan DBMS masing-masing telah berkembang pesat. Peningkatan kinerja ini dimungkinkan oleh kemajuan teknologi di bidang prosesor, memori komputer, penyimpanan komputer, dan jaringan komputer. Konsep basis data dimungkinkan dengan munculnya media penyimpanan akses langsung seperti disk magnetik, yang tersedia secara luas pada pertengahan tahun 1960-an; sistem sebelumnya mengandalkan penyimpanan data secara berurutan pada pita magnetik. Perkembangan selanjutnya dari teknologi database dapat dibagi menjadi tiga era berdasarkan model atau struktur data: navigasi, SQL/relasional, dan post-relasional.

Dua model data navigasional awal yang utama adalah model hirarkis dan model CODASYL (model jaringan). Kedua model ini ditandai dengan penggunaan pointer (sering kali alamat disk fisik) untuk mengikuti hubungan dari satu record ke record lainnya.

Model relasional, pertama kali diusulkan pada tahun 1970 oleh Edgar F. Codd, berangkat dari tradisi ini dengan menegaskan bahwa aplikasi harus mencari data berdasarkan konten, bukan dengan mengikuti tautan. Model relasional menggunakan kumpulan tabel bergaya buku besar, masing-masing digunakan untuk jenis entitas yang berbeda. Baru pada pertengahan 1980-an, perangkat keras komputasi menjadi cukup kuat untuk memungkinkan penyebaran sistem relasional secara luas (DBMS plus aplikasi). Namun, pada awal 1990-an, sistem relasional mendominasi semua aplikasi pemrosesan data skala besar, dan pada tahun 2018, sistem ini tetap dominan: IBM Db2, Oracle, MySQL, dan Microsoft SQL Server adalah DBMS yang paling banyak dicari. Bahasa basis data yang dominan, SQL standar untuk model relasional, telah mempengaruhi bahasa basis data untuk model data lainnya.

Basis data objek dikembangkan pada tahun 1980-an untuk mengatasi ketidaknyamanan ketidaksesuaian impedansi objek-relasional, yang menyebabkan terciptanya istilah “post-relasional” dan juga pengembangan basis data objek-relasional hibrida. Generasi berikutnya dari database post-relasional pada akhir tahun 2000-an dikenal sebagai database NoSQL, yang memperkenalkan penyimpanan nilai kunci yang cepat dan database berorientasi dokumen.

Sebuah “generasi berikutnya” yang bersaing yang dikenal sebagai database NewSQL mencoba implementasi baru yang mempertahankan model relasional/SQL sambil bertujuan untuk menyamai kinerja NoSQL yang tinggi dibandingkan dengan DBMS relasional yang tersedia secara komersial.

Tahun 1960-an, DBMS navigasi

Pengenalan istilah basis data bertepatan dengan ketersediaan penyimpanan akses langsung (disk dan drum) dari pertengahan 1960-an dan seterusnya. Istilah ini mewakili kontras dengan sistem berbasis pita di masa lalu, yang memungkinkan penggunaan interaktif bersama daripada pemrosesan batch harian. Kamus Bahasa Inggris Oxford mengutip laporan tahun 1962 dari System Development Corporation of California sebagai yang pertama kali menggunakan istilah “basis data” dalam pengertian teknis tertentu.

Seiring dengan meningkatnya kecepatan dan kemampuan komputer, sejumlah sistem basis data untuk keperluan umum muncul; pada pertengahan tahun 1960-an, sejumlah sistem tersebut mulai digunakan secara komersial. Ketertarikan pada standar mulai tumbuh, dan Charles Bachman, penulis salah satu produk tersebut, Integrated Data Store (IDS), mendirikan Database Task Group di dalam CODASYL, kelompok yang bertanggung jawab atas pembuatan dan standarisasi COBOL. Pada tahun 1971, Database Task Group memberikan standar mereka, yang secara umum dikenal sebagai pendekatan CODASYL, dan segera sejumlah produk komersial berdasarkan pendekatan ini memasuki pasar.

Pendekatan CODASYL menawarkan aplikasi kemampuan untuk menavigasi di sekitar kumpulan data yang terhubung yang dibentuk ke dalam jaringan besar. Aplikasi dapat menemukan catatan dengan salah satu dari tiga metode:

  1. Penggunaan kunci utama (dikenal sebagai kunci CALC, biasanya diimplementasikan dengan hashing)
  2. Menavigasi hubungan (disebut set) dari satu record ke record lainnya
  3. Memindai semua catatan dalam urutan berurutan

Sistem yang lebih baru menambahkan pohon-B untuk menyediakan jalur akses alternatif. Banyak basis data CODASYL juga menambahkan bahasa kueri deklaratif untuk pengguna akhir (berbeda dengan API navigasi). Namun, database CODASYL sangat kompleks dan membutuhkan pelatihan dan upaya yang signifikan untuk menghasilkan aplikasi yang berguna.

IBM juga memiliki DBMS sendiri pada tahun 1966, yang dikenal sebagai Information Management System (IMS). IMS merupakan pengembangan perangkat lunak yang ditulis untuk program Apollo pada System/360. IMS secara umum memiliki konsep yang mirip dengan CODASYL, tetapi menggunakan hirarki yang ketat untuk model navigasi datanya, bukan model jaringan CODASYL. Kedua konsep ini kemudian dikenal sebagai basis data navigasi karena cara data diakses: istilah ini dipopulerkan oleh presentasi Turing Award tahun 1973 dari Bachman, The Programmer as Navigator. IMS diklasifikasikan oleh IBM sebagai basis data hirarkis. Basis data IDMS dan TOTAL [broken anchor] dari Cincom Systems diklasifikasikan sebagai basis data jaringan. IMS masih digunakan hingga tahun 2014.

Tahun 1970-an, DBMS relasional

Edgar F. Codd bekerja di IBM di San Jose, California, di salah satu kantor cabang mereka yang terutama terlibat dalam pengembangan sistem hard disk. Dia tidak senang dengan model navigasi dari pendekatan CODASYL, terutama kurangnya fasilitas “pencarian”. Pada tahun 1970, ia menulis sejumlah makalah yang menguraikan pendekatan baru untuk konstruksi basis data yang pada akhirnya berujung pada terobosan A Relational Model of Data for Large Shared Data Banks.

Dalam makalah ini, dia menjelaskan sistem baru untuk menyimpan dan bekerja dengan database besar. Alih-alih catatan disimpan dalam semacam daftar terkait dari catatan bentuk bebas seperti di CODASYL, ide Codd adalah untuk mengatur data sebagai sejumlah “tabel”, setiap tabel digunakan untuk jenis entitas yang berbeda. Setiap tabel akan berisi sejumlah kolom yang berisi atribut entitas. Satu atau lebih kolom dari setiap tabel ditetapkan sebagai kunci utama yang dengannya baris-baris tabel dapat diidentifikasi secara unik; referensi silang antar tabel selalu menggunakan kunci utama ini, bukan alamat disk, dan kueri akan menggabungkan tabel berdasarkan hubungan kunci ini, menggunakan seperangkat operasi berdasarkan sistem matematika kalkulus relasional (yang menjadi dasar model ini). Memisahkan data ke dalam sekumpulan tabel yang dinormalisasi (atau relasi) bertujuan untuk memastikan bahwa setiap “fakta” hanya disimpan satu kali, sehingga menyederhanakan operasi pembaruan. Tabel virtual yang disebut view dapat menyajikan data dengan cara yang berbeda untuk pengguna yang berbeda, tetapi view tidak dapat diperbarui secara langsung.

Codd menggunakan istilah matematika untuk mendefinisikan model: relasi, tupel, dan domain daripada tabel, baris, dan kolom. Terminologi yang sekarang sudah tidak asing lagi berasal dari implementasi awal. Codd kemudian mengkritik kecenderungan implementasi praktis yang menyimpang dari dasar-dasar matematis yang menjadi dasar model tersebut.

Dalam model relasional, catatan “dihubungkan” menggunakan kunci virtual yang tidak disimpan dalam database tetapi didefinisikan sesuai kebutuhan antara data yang terkandung dalam catatan.

Penggunaan kunci primer (pengidentifikasi berorientasi pengguna) untuk mewakili hubungan lintas tabel, daripada alamat disk, memiliki dua motivasi utama. Dari perspektif teknik, hal ini memungkinkan tabel untuk direlokasi dan diubah ukurannya tanpa reorganisasi basis data yang mahal. Tetapi Codd lebih tertarik pada perbedaan dalam semantik: penggunaan pengidentifikasi eksplisit membuatnya lebih mudah untuk mendefinisikan operasi pembaruan dengan definisi matematika yang bersih, dan juga memungkinkan operasi kueri untuk didefinisikan dalam hal disiplin yang sudah mapan dari kalkulus predikat orde satu; karena operasi ini memiliki sifat matematika yang bersih, maka menjadi mungkin untuk menulis ulang kueri dengan cara yang terbukti benar, yang merupakan dasar pengoptimalan kueri. Tidak ada kehilangan ekspresifitas dibandingkan dengan model hirarkis atau model jaringan, meskipun hubungan antar tabel tidak lagi eksplisit.

Pada model hirarkis dan jaringan, catatan diperbolehkan memiliki struktur internal yang kompleks. Sebagai contoh, riwayat gaji seorang karyawan dapat direpresentasikan sebagai “kelompok yang berulang” di dalam catatan karyawan. Dalam model relasional, proses normalisasi menyebabkan struktur internal seperti itu digantikan oleh data yang disimpan di beberapa tabel, yang hanya dihubungkan dengan kunci logis.

Sebagai contoh, penggunaan umum sistem database adalah untuk melacak informasi tentang pengguna, nama mereka, informasi login, berbagai alamat dan nomor telepon. Dalam pendekatan navigasi, semua data ini akan ditempatkan dalam satu record dengan panjang variabel. Dalam pendekatan relasional, data akan dinormalisasi ke dalam tabel pengguna, tabel alamat, dan tabel nomor telepon (misalnya). Catatan akan dibuat dalam tabel-tabel opsional ini hanya jika alamat atau nomor telepon benar-benar disediakan.

Selain mengidentifikasi baris/rekaman menggunakan pengenal logis daripada alamat disk, Codd mengubah cara aplikasi mengumpulkan data dari beberapa rekaman. Daripada mengharuskan aplikasi untuk mengumpulkan data satu per satu dengan menavigasi tautan, mereka akan menggunakan bahasa kueri deklaratif yang mengekspresikan data apa yang diperlukan, daripada jalur akses yang digunakan untuk menemukan data tersebut. Menemukan jalur akses yang efisien ke data menjadi tanggung jawab sistem manajemen basis data, bukan programmer aplikasi. Proses ini, yang disebut optimasi kueri, bergantung pada fakta bahwa kueri diekspresikan dalam bentuk logika matematika.

Makalah Codd diambil oleh dua orang di Berkeley, Eugene Wong dan Michael Stonebraker. Mereka memulai sebuah proyek yang dikenal sebagai INGRES dengan menggunakan dana yang telah dialokasikan untuk proyek basis data geografis dan para pemrogram mahasiswa untuk menghasilkan kode. Dimulai pada tahun 1973, INGRES mengirimkan produk uji coba pertamanya yang secara umum siap digunakan secara luas pada tahun 1979. INGRES mirip dengan System R dalam beberapa hal, termasuk penggunaan “bahasa” untuk akses data, yang dikenal sebagai QUEL. Seiring berjalannya waktu, INGRES beralih ke standar SQL yang baru muncul.

IBM sendiri melakukan satu uji coba implementasi model relasional, PRTV, dan satu produksi, Business System 12, keduanya sekarang sudah tidak diproduksi lagi. Honeywell menulis MRDS untuk Multics, dan sekarang ada dua implementasi baru: Alphora Dataphor dan Rel. Sebagian besar implementasi DBMS lain yang biasanya disebut relasional sebenarnya adalah DBMS SQL.

Pada tahun 1970, Universitas Michigan memulai pengembangan Sistem Manajemen Informasi MICRO berdasarkan model Data Set-Theoretic D.L. Childs. MICRO digunakan untuk mengelola kumpulan data yang sangat besar oleh Departemen Tenaga Kerja AS, Badan Perlindungan Lingkungan AS, dan para peneliti dari Universitas Alberta, Universitas Michigan, dan Universitas Negeri Wayne. Sistem ini berjalan pada komputer mainframe IBM menggunakan Michigan Terminal System. Sistem ini tetap diproduksi hingga tahun 1998.

Pendekatan terpadu

Pada tahun 1970-an dan 1980-an, ada upaya untuk membangun sistem basis data dengan perangkat keras dan perangkat lunak yang terintegrasi. Filosofi yang mendasari adalah bahwa integrasi semacam itu akan memberikan kinerja yang lebih tinggi dengan biaya yang lebih rendah. Contohnya adalah IBM System/38, penawaran awal Teradata, dan mesin basis data Britton Lee, Inc.

Pendekatan lain untuk dukungan perangkat keras untuk manajemen basis data adalah akselerator CAFS dari ICL, pengontrol disk perangkat keras dengan kemampuan pencarian yang dapat diprogram. Dalam jangka panjang, upaya-upaya ini umumnya tidak berhasil karena mesin basis data khusus tidak dapat mengimbangi perkembangan dan kemajuan pesat komputer tujuan umum. Oleh karena itu, sebagian besar sistem basis data saat ini adalah sistem perangkat lunak yang berjalan pada perangkat keras serba guna, menggunakan penyimpanan data komputer serba guna. Namun, ide ini masih dikejar dalam aplikasi tertentu oleh beberapa perusahaan seperti Netezza dan Oracle (Exadata).

Akhir tahun 1970-an, DBMS SQL

IBM mulai mengerjakan sistem prototipe yang secara longgar didasarkan pada konsep Codd sebagai System R pada awal tahun 1970-an. Versi pertama siap pada tahun 1974/5, dan pekerjaan kemudian dimulai pada sistem multi-tabel di mana data dapat dipecah sehingga semua data untuk sebuah catatan (beberapa di antaranya opsional) tidak harus disimpan dalam satu “potongan” besar. Versi multi-pengguna berikutnya diuji oleh pelanggan pada tahun 1978 dan 1979, di mana pada saat itu bahasa kueri standar - SQL - telah ditambahkan. Ide-ide Codd terbukti dapat diterapkan dan lebih unggul daripada CODASYL, mendorong IBM untuk mengembangkan versi produksi yang sebenarnya dari System R, yang dikenal sebagai SQL/DS, dan kemudian, Database 2 (IBM Db2).

Oracle Database Larry Ellison (atau lebih sederhananya, Oracle) dimulai dari rantai yang berbeda, berdasarkan makalah IBM tentang Sistem R. Meskipun implementasi Oracle V1 selesai pada tahun 1978, namun baru pada Oracle Versi 2 Ellison mengalahkan IBM ke pasar pada tahun 1979.

Stonebraker kemudian menerapkan pelajaran dari INGRES untuk mengembangkan database baru, Postgres, yang sekarang dikenal sebagai PostgreSQL. PostgreSQL sering digunakan untuk aplikasi global yang sangat penting (pendaftar nama domain .org dan .info menggunakannya sebagai penyimpan data utama mereka, seperti halnya banyak perusahaan besar dan lembaga keuangan).

Di Swedia, makalah Codd juga dibaca dan Mimer SQL dikembangkan pada pertengahan tahun 1970-an di Universitas Uppsala. Pada tahun 1984, proyek ini dikonsolidasikan menjadi sebuah perusahaan independen.

Model data lainnya, model entity-relationship, muncul pada tahun 1976 dan mendapatkan popularitas untuk desain database karena menekankan deskripsi yang lebih akrab daripada model relasional sebelumnya. Kemudian, konstruk entitas-hubungan dipasang kembali sebagai konstruk pemodelan data untuk model relasional, dan perbedaan antara keduanya menjadi tidak relevan.

Tahun 1980-an, di desktop

Tahun 1980-an mengantarkan era komputasi desktop. Komputer baru memberdayakan penggunanya dengan spreadsheet seperti Lotus 1-2-3 dan perangkat lunak basis data seperti dBASE. Produk dBASE sangat ringan dan mudah dipahami oleh pengguna komputer mana pun secara langsung. C. Wayne Ratliff, pencipta dBASE, menyatakan: “dBASE berbeda dengan program-program seperti BASIC, C, FORTRAN, dan COBOL karena banyak pekerjaan kotor yang telah dilakukan. Manipulasi data dilakukan oleh dBASE dan bukan oleh pengguna, sehingga pengguna dapat berkonsentrasi pada apa yang sedang dilakukannya, daripada harus mengotak-atik detail-detail kotor seperti membuka, membaca, dan menutup berkas, serta mengatur alokasi ruang."[19] dBASE merupakan salah satu perangkat lunak yang paling laris pada tahun 1980-an dan awal 1990-an.

Tahun 1990-an, berorientasi objek

Tahun 1990-an, seiring dengan meningkatnya pemrograman berorientasi objek, terjadi pertumbuhan dalam cara penanganan data dalam berbagai database. Para programmer dan desainer mulai memperlakukan data dalam database mereka sebagai objek. Artinya, jika data seseorang ada di dalam database, atribut orang tersebut, seperti alamat, nomor telepon, dan usia, sekarang dianggap sebagai milik orang tersebut, bukan sebagai data asing. Hal ini memungkinkan relasi antar data untuk dihubungkan dengan objek dan atributnya dan bukan dengan field individual. Istilah “ketidaksesuaian impedansi objek-relasional” menggambarkan ketidaknyamanan dalam menerjemahkan antara objek yang diprogram dan tabel basis data. Database objek dan database relasional objek berusaha untuk memecahkan masalah ini dengan menyediakan bahasa berorientasi objek (kadang-kadang sebagai ekstensi untuk SQL) yang dapat digunakan oleh programmer sebagai alternatif untuk SQL relasional murni. Di sisi pemrograman, pustaka yang dikenal sebagai pemetaan objek-relasional (ORM) mencoba untuk memecahkan masalah yang sama.

Tahun 2000-an, NoSQL dan NewSQL

Basis data XML adalah jenis basis data berorientasi dokumen terstruktur yang memungkinkan kueri berdasarkan atribut dokumen XML. Basis data XML sebagian besar digunakan dalam aplikasi yang datanya mudah dilihat sebagai kumpulan dokumen, dengan struktur yang dapat bervariasi dari yang sangat fleksibel hingga yang sangat kaku: contohnya adalah artikel ilmiah, paten, pengajuan pajak, dan catatan personalia.

Basis data NoSQL sering kali sangat cepat, tidak memerlukan skema tabel yang tetap, menghindari operasi penggabungan dengan menyimpan data yang terdenormalisasi, dan dirancang untuk skala horizontal.

Dalam beberapa tahun terakhir, ada permintaan yang kuat untuk database yang didistribusikan secara masif dengan toleransi partisi yang tinggi, tetapi menurut teorema CAP, tidak mungkin sistem terdistribusi secara bersamaan memberikan jaminan konsistensi, ketersediaan, dan toleransi partisi. Sistem terdistribusi dapat memenuhi dua dari jaminan ini pada saat yang sama, tetapi tidak ketiganya. Oleh karena itu, banyak database NoSQL yang menggunakan apa yang disebut konsistensi akhir untuk menyediakan jaminan ketersediaan dan toleransi partisi dengan tingkat konsistensi data yang lebih rendah.

NewSQL adalah kelas database relasional modern yang bertujuan untuk memberikan kinerja skalabilitas yang sama dengan sistem NoSQL untuk beban kerja pemrosesan transaksi (baca-tulis) online dengan tetap menggunakan SQL dan mempertahankan jaminan ACID dari sistem database tradisional.

Kasus penggunaan

Basis data digunakan untuk mendukung operasi internal organisasi dan untuk mendukung interaksi online dengan pelanggan dan pemasok (lihat Perangkat lunak perusahaan).

Basis data digunakan untuk menyimpan informasi administratif dan data yang lebih khusus, seperti data teknik atau model ekonomi. Contohnya termasuk sistem perpustakaan terkomputerisasi, sistem reservasi penerbangan, sistem inventaris suku cadang terkomputerisasi, dan banyak sistem manajemen konten yang menyimpan situs web sebagai kumpulan halaman web dalam database.

Klasifikasi

Salah satu cara untuk mengklasifikasikan basis data adalah berdasarkan jenis isinya, misalnya: bibliografi, teks dokumen, statistik, atau objek multimedia. Cara lain adalah dengan area aplikasinya, misalnya: akuntansi, komposisi musik, film, perbankan, manufaktur, atau asuransi. Cara ketiga adalah dengan beberapa aspek teknis, seperti struktur basis data atau jenis antarmuka. Bagian ini mencantumkan beberapa kata sifat yang digunakan untuk mengkarakterisasi berbagai jenis database.

  • Basis data dalam memori adalah basis data yang terutama berada di memori utama, tetapi biasanya dicadangkan oleh penyimpanan data komputer yang tidak mudah menguap. Database memori utama lebih cepat daripada database disk, sehingga sering digunakan di mana waktu respons sangat penting, seperti pada peralatan jaringan telekomunikasi.
  • Basis data aktif mencakup arsitektur berbasis peristiwa yang dapat merespons kondisi di dalam dan di luar basis data. Penggunaan yang mungkin termasuk pemantauan keamanan, peringatan, pengumpulan statistik dan otorisasi. Banyak database menyediakan fitur database aktif dalam bentuk pemicu database.
  • Basis data cloud bergantung pada teknologi cloud. Baik database dan sebagian besar DBMS-nya berada di jarak jauh, “di awan”, sementara aplikasinya dikembangkan oleh pemrogram dan kemudian dikelola dan digunakan oleh pengguna akhir melalui browser web dan Open API.
  • Gudang data mengarsipkan data dari basis data operasional dan sering kali dari sumber eksternal seperti perusahaan riset pasar. Gudang data menjadi sumber utama data untuk digunakan oleh manajer dan pengguna akhir lainnya yang mungkin tidak memiliki akses ke data operasional. Sebagai contoh, data penjualan dapat dikumpulkan menjadi total mingguan dan dikonversi dari kode produk internal untuk menggunakan UPC sehingga dapat dibandingkan dengan data ACNielsen. Beberapa komponen dasar dan penting dari data warehousing termasuk mengekstraksi, menganalisis, dan menambang data, mentransformasi, memuat, dan mengelola data agar tersedia untuk digunakan lebih lanjut.
  • Basis data deduktif menggabungkan pemrograman logika dengan basis data relasional.
  • Basis data terdistribusi adalah basis data yang datanya dan DBMS-nya tersebar di beberapa komputer.
  • Basis data berorientasi dokumen dirancang untuk menyimpan, mengambil, dan mengelola informasi yang berorientasi dokumen, atau semi terstruktur. Basis data berorientasi dokumen adalah salah satu kategori utama basis data NoSQL.
  • Sistem basis data tertanam adalah DBMS yang terintegrasi erat dengan perangkat lunak aplikasi yang membutuhkan akses ke data yang tersimpan sedemikian rupa sehingga DBMS tersembunyi dari pengguna akhir aplikasi dan hanya membutuhkan sedikit atau tanpa pemeliharaan berkelanjutan.
  • Basis data pengguna akhir terdiri dari data yang dikembangkan oleh pengguna akhir individu. Contohnya adalah kumpulan dokumen, spreadsheet, presentasi, multimedia, dan file lainnya. Beberapa produk tersedia untuk mendukung basis data tersebut.
  • Sistem basis data federasi terdiri dari beberapa basis data yang berbeda, masing-masing dengan DBMS-nya sendiri. Hal ini ditangani sebagai database tunggal oleh sistem manajemen database federasi (FDBMS), yang secara transparan mengintegrasikan beberapa DBMS otonom, mungkin dari jenis yang berbeda (dalam hal ini juga akan menjadi sistem database heterogen), dan menyediakan mereka dengan pandangan konseptual yang terintegrasi.
  • Kadang-kadang istilah multi-database digunakan sebagai sinonim untuk database federasi, meskipun dapat merujuk pada kelompok database yang kurang terintegrasi (misalnya, tanpa FDBMS dan skema terintegrasi yang dikelola) yang bekerja sama dalam satu aplikasi. Dalam hal ini, biasanya middleware digunakan untuk distribusi, yang biasanya mencakup protokol komit atom (ACP), misalnya protokol komit dua fase, untuk memungkinkan transaksi terdistribusi (global) di seluruh basis data yang berpartisipasi.
  • Basis data graf adalah sejenis basis data NoSQL yang menggunakan struktur graf dengan simpul, sisi, dan properti untuk merepresentasikan dan menyimpan informasi. Basis data graf umum yang dapat menyimpan graf apa pun berbeda dengan basis data graf khusus seperti basis data triplestore dan basis data jaringan.
  • DBMS array adalah jenis DBMS NoSQL yang memungkinkan pemodelan, penyimpanan, dan pengambilan array multi-dimensi (biasanya besar) seperti gambar satelit dan output simulasi iklim.
  • Dalam basis data hiperteks atau hipermedia, setiap kata atau sepotong teks yang mewakili sebuah objek, misalnya, sepotong teks lain, artikel, gambar, atau film, dapat di-hyperlink ke objek tersebut. Basis data hiperteks sangat berguna untuk mengatur sejumlah besar informasi yang berbeda. Sebagai contoh, database ini berguna untuk mengatur ensiklopedia online, di mana pengguna dapat dengan mudah berpindah-pindah teks. Dengan demikian, World Wide Web adalah basis data hiperteks terdistribusi yang besar.
  • Basis pengetahuan (disingkat KB, kb atau Δ) adalah jenis basis data khusus untuk manajemen pengetahuan, yang menyediakan sarana untuk pengumpulan, pengorganisasian, dan pengambilan pengetahuan secara terkomputerisasi. Juga kumpulan data yang mewakili masalah dengan solusinya dan pengalaman terkait.
  • Basis data seluler dapat dibawa atau disinkronkan dari perangkat komputasi seluler.
  • Basis data operasional menyimpan data rinci tentang operasi organisasi. Database ini biasanya memproses pembaruan dalam volume yang relatif tinggi dengan menggunakan transaksi. Contohnya adalah database pelanggan yang mencatat kontak, kredit, dan informasi demografis tentang pelanggan bisnis, database personalia yang menyimpan informasi seperti gaji, tunjangan, data keterampilan karyawan, sistem perencanaan sumber daya perusahaan yang mencatat rincian tentang komponen produk, inventaris suku cadang, dan database keuangan yang melacak uang organisasi, transaksi akuntansi dan keuangan.
  • Basis data paralel berusaha meningkatkan kinerja melalui paralelisasi untuk tugas-tugas seperti memuat data, membuat indeks, dan mengevaluasi kueri.

Arsitektur DBMS paralel utama yang disebabkan oleh arsitektur perangkat keras yang mendasarinya adalah:

  • Arsitektur memori bersama, di mana beberapa prosesor berbagi ruang memori utama, serta penyimpanan data lainnya.
  • Arsitektur disk bersama, di mana setiap unit pemrosesan (biasanya terdiri dari beberapa prosesor) memiliki memori utama sendiri, tetapi semua unit berbagi penyimpanan lainnya.
  • Arsitektur shared-nothing, di mana setiap unit pemrosesan memiliki memori utama dan penyimpanan lainnya.
  • Basis data probabilistik menggunakan logika fuzzy untuk menarik kesimpulan dari data yang tidak tepat.
  • Basis data real-time memproses transaksi dengan cukup cepat sehingga hasilnya dapat segera kembali dan ditindaklanjuti.
  • Basis data spasial dapat menyimpan data dengan fitur multidimensi. Kueri pada data tersebut termasuk kueri berbasis lokasi, seperti “Di mana hotel terdekat di daerah saya?”.
  • Basis data temporal memiliki aspek waktu built-in, misalnya model data temporal dan versi temporal SQL. Lebih khusus lagi, aspek temporal biasanya mencakup waktu yang valid dan waktu transaksi.
  • Basis data berorientasi terminologi dibangun di atas basis data berorientasi objek, yang sering kali disesuaikan untuk bidang tertentu.
  • Basis data data tidak terstruktur dimaksudkan untuk menyimpan dengan cara yang dapat dikelola dan dilindungi beragam objek yang tidak cocok secara alami dan nyaman dalam basis data umum. Ini dapat mencakup pesan email, dokumen, jurnal, objek multimedia, dll. Namanya mungkin menyesatkan karena beberapa objek dapat sangat terstruktur. Namun, seluruh koleksi objek yang mungkin tidak sesuai dengan kerangka kerja terstruktur yang telah ditentukan. Sebagian besar DBMS yang sudah mapan sekarang mendukung data tidak terstruktur dengan berbagai cara, dan DBMS baru yang berdedikasi muncul.

Sistem manajemen basis data

Connolly dan Begg mendefinisikan sistem manajemen basis data (DBMS) sebagai “sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengontrol akses ke basis data.” Contoh DBMS termasuk MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, Oracle Database, dan Microsoft Access.

Akronim DBMS terkadang diperluas untuk menunjukkan model database yang mendasarinya, dengan RDBMS untuk relasional, OODBMS untuk objek (berorientasi) dan ORDBMS untuk model objek-relasional. Ekstensi lain dapat menunjukkan beberapa karakteristik lain, seperti DDBMS untuk sistem manajemen basis data terdistribusi.

Fungsionalitas yang disediakan oleh DBMS dapat sangat bervariasi. Fungsionalitas intinya adalah penyimpanan, pengambilan, dan pembaruan data. Codd mengusulkan fungsi dan layanan berikut yang harus disediakan oleh DBMS tujuan umum yang lengkap:

  • Penyimpanan, pengambilan dan pembaruan data
  • Katalog yang dapat diakses pengguna atau kamus data yang menjelaskan metadata
  • Dukungan untuk transaksi dan konkurensi
  • Fasilitas untuk memulihkan basis data jika terjadi kerusakan
  • Dukungan untuk otorisasi akses dan pembaruan data
  • Dukungan akses dari lokasi yang jauh
  • Menegakkan batasan untuk memastikan data dalam basis data mematuhi aturan tertentu

Secara umum, DBMS juga diharapkan akan menyediakan seperangkat utilitas untuk tujuan-tujuan yang mungkin diperlukan untuk mengelola basis data secara efektif, termasuk impor, ekspor, pemantauan, defragmentasi, dan utilitas analisis. Bagian inti dari DBMS yang berinteraksi antara database dan antarmuka aplikasi kadang-kadang disebut sebagai mesin database.

Seringkali DBMS akan memiliki parameter konfigurasi yang dapat disetel secara statis dan dinamis, misalnya jumlah maksimum memori utama pada server yang dapat digunakan database. Kecenderungannya adalah untuk meminimalkan jumlah konfigurasi manual, dan untuk kasus-kasus seperti basis data tertanam, kebutuhan untuk menargetkan administrasi nol adalah yang terpenting.

DBMS perusahaan besar yang besar cenderung meningkat dalam ukuran dan fungsionalitas dan telah melibatkan upaya pengembangan hingga ribuan tahun selama masa hidupnya.

DBMS multi-pengguna awal biasanya hanya mengizinkan aplikasi untuk berada di komputer yang sama dengan akses melalui terminal atau perangkat lunak emulasi terminal. Arsitektur client-server adalah pengembangan di mana aplikasi berada di desktop klien dan database di server yang memungkinkan pemrosesan didistribusikan. Ini berkembang menjadi arsitektur multitier yang menggabungkan server aplikasi dan server web dengan antarmuka pengguna akhir melalui browser web dengan basis data yang hanya terhubung langsung ke tingkat yang berdekatan.

DBMS tujuan umum akan menyediakan antarmuka pemrograman aplikasi publik (API) dan secara opsional sebuah prosesor untuk bahasa database seperti SQL untuk memungkinkan aplikasi ditulis untuk berinteraksi dengan dan memanipulasi database. DBMS dengan tujuan khusus dapat menggunakan API pribadi dan secara khusus disesuaikan dan dihubungkan ke satu aplikasi. Sebagai contoh, sistem email melakukan banyak fungsi DBMS tujuan umum seperti penyisipan pesan, penghapusan pesan, penanganan lampiran, pencarian daftar blokir, mengasosiasikan pesan dengan alamat email, dan lain-lain, namun fungsi-fungsi ini terbatas pada apa yang diperlukan untuk menangani email.

Aplikasi

Interaksi eksternal dengan basis data akan dilakukan melalui program aplikasi yang berinteraksi dengan DBMS.[29] Hal ini dapat berupa alat basis data yang memungkinkan pengguna untuk mengeksekusi kueri SQL secara tekstual atau grafis, hingga situs web yang menggunakan basis data untuk menyimpan dan mencari informasi.

Antarmuka program aplikasi

Seorang programmer akan mengkodekan interaksi ke basis data (kadang-kadang disebut sebagai sumber data) melalui antarmuka program aplikasi (API) atau melalui bahasa basis data. API atau bahasa tertentu yang dipilih harus didukung oleh DBMS, mungkin secara tidak langsung melalui preprocessor atau API yang menjembatani. Beberapa API bertujuan untuk menjadi database independen, ODBC menjadi contoh yang umum dikenal. API umum lainnya termasuk JDBC dan ADO.NET.

Bahasa basis data

Bahasa basis data adalah bahasa dengan tujuan khusus, yang memungkinkan satu atau beberapa tugas berikut ini, yang terkadang dibedakan sebagai sublanguage:

  • Bahasa kontrol data (DCL) - mengontrol akses ke data;
  • Bahasa definisi data (DDL) - mendefinisikan tipe data seperti membuat, mengubah, atau menghapus tabel dan hubungan di antaranya;
  • Bahasa manipulasi data (DML) - melakukan tugas-tugas seperti menyisipkan, memperbarui, atau menghapus kejadian data;
  • Bahasa kueri data (DQL) - memungkinkan pencarian informasi dan komputasi informasi turunan.

Bahasa basis data khusus untuk model data tertentu. Contoh-contoh yang penting termasuk:

  • SQL menggabungkan peran definisi data, manipulasi data, dan kueri dalam satu bahasa. Ini adalah salah satu bahasa komersial pertama untuk model relasional, meskipun dalam beberapa hal menyimpang dari model relasional seperti yang dijelaskan oleh Codd (misalnya, baris dan kolom dari sebuah tabel dapat dipesan). SQL menjadi standar American National Standards Institute (ANSI) pada tahun 1986, dan Organisasi Internasional untuk Standardisasi (ISO) pada tahun 1987. Standar ini telah ditingkatkan secara teratur sejak saat itu dan didukung (dengan berbagai tingkat kesesuaian) oleh semua DBMS relasional komersial utama.
  • OQL adalah sebuah standar bahasa model objek (dari Object Data Management Group). OQL telah mempengaruhi desain beberapa bahasa query yang lebih baru seperti JDOQL dan EJB QL.
  • XQuery adalah bahasa kueri XML standar yang diimplementasikan oleh sistem basis data XML seperti MarkLogic dan eXist, oleh basis data relasional dengan kemampuan XML seperti Oracle dan Db2, dan juga oleh prosesor XML dalam memori seperti Saxon.
  • SQL/XML menggabungkan XQuery dengan SQL.

Sebuah bahasa basis data juga dapat menggabungkan fitur-fitur seperti:

  • Konfigurasi khusus DBMS dan manajemen mesin penyimpanan
  • Komputasi untuk memodifikasi hasil kueri, seperti menghitung, menjumlahkan, rata-rata, menyortir, mengelompokkan, dan referensi silang
  • Penegakan batasan (misalnya, dalam database otomotif, hanya mengizinkan satu jenis mesin per mobil)
  • Versi antarmuka pemrograman aplikasi dari bahasa kueri, untuk kenyamanan pemrogram

Disadur dari: https://en.wikipedia.org/