Sudahkah Anda Mengenal Basis Data Atau Biasa Disebut Database

Basis data (bahasa Inggris: database), atau sering pula dieja basisdata, ialah kumpulan info yang disimpan di dalam komputer secara sistematik sehingga mampu diperiksa menggunakan sebuah acara komputer untuk memperoleh isu dari basis data tersebut. Perangkat lunak yang dipakai untuk mengurus dan memanggil kueri (query) basis data disebut metode administrasi basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu info.

Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data mempunyai penjelasan terorganisir dari jenis fakta yang tersimpan di dalamnya: klarifikasi ini disebut denah. Skema menggambarkan obyek yang diwakili sebuah basis data, dan relasi di antara obyek tersebut. Ada banyak cara untuk mengorganisasi bagan, atau memodelkan struktur basis data: ini dikenal sebagai model basis data atau versi data. Model yang biasa digunakan kini adalah model relasional, yang menurut perumpamaan layman mewakili semua gosip dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel berisikan baris dan kolom (definisi yang sebenarnya memakai terminologi matematika). Dalam model ini, kekerabatan antar tabel diwakili denga menggunakan nilai yang serupa antar tabel. Model lainnya mirip versi hierarkis dan versi jaringan memakai cara yang lebih eksplisit untuk mewakili kekerabatan antar tabel.

Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya semestinya mengacu sebagai tata cara administrasi basis data (database management system/DBMS). Jika konteksnya sudah terang, banyak direktur dan programer menggunakan ungkapan basis data untuk kedua arti tersebut.


Sebuah database berisikan koleksi data yang terstruktur untuk satu keperluan atau lebih. Salah satu cara untuk menggolongkan database melibatkan jenis konten, misalnya: bibliografi, teks lengkap, numerik, gambar. Metode pembagian terstruktur mengenai lain mulai dari mengusut model database atau arsitektur database. Software menertibkan data dalam database sesuai versi database. Pada tahun 2010 versi relasional paling kerap timbul. Model-versi lain mirip model hierarkis dan model jaringan memakai representasi relasi lebih eksplisit.



Arsitektur

Sejumlah arsitektur database sudah ada. Banyak database menggunakan kombinasi seni manajemen.

Database terdiri dari perangkat lunak berbasis “wadah” yang terstruktur untuk mengumpulkan dan menyimpan info sehingga pengguna dapat mengambil, menambah, mengupdate atau meniadakan berita tersebut dengan cara otomatis. Database program dirancang bagi pengguna sehingga mereka dapat menambah atau menghapus gosip yang diperlukan. Struktur database yakni berupa tabel, terdiri dari baris dan kolom isu.

Online Transaction Processing tata cara (OLTP) sering menggunakan arsitektur menyimpan data “berorientasi baris”atau “berorientasi objek”, sedangkan gudang-data dan aplikasi yang berfokus pada pengambilan lain mirip Google ‘s Bigtable, atau tata cara bibliographic database (katalog perpustakaan) mampu menggunakan arsitektur DBMS berorientasi kolom.


Berorientasi Dokumen, XML, knowledgebases, serta database frame dan penyimpanan-RDF (juga dikenal selaku penyimpanan triple), juga dapat memakai variasi dari arsitektur ini dalam pelaksanaannya.

Tidak semua database mempunyai atau memerlukan skema database (“database berskema lebih sedikit”).

Selama beberapa tahun metode database biasa sudah mendominasi industri database. Ini memberikan banyak sekali fungsi, mampu dipakai orang banyak, bila sebagian besar situasi  bukan  dalam pengolahan data modern. Ini telah ditingkatkan dengan extensible datatypes (perintis di proyek PostgreSQL) untuk memungkinkan pengembangan sebuah rentang yang sungguh luas dari aplikasi.

Ada juga jenis lain dari database yang tidak mampu diklasifikasikan sebagai database relasional. Yang paling penting yakni tata cara manajemen database objek, yang menyimpan bahasa objek orisinil tanpa memakai bahasa data definisi terpisah dan tanpa menerjemahkannya ke dalam denah penyimpanan terpisah. Tidak seperti tata cara relasional, database objek ini menyimpan kekerabatan antara tipe data yang kompleks sebagai bagian dari model penyimpanan mereka dengan cara yang tidak membutuhkan perhitungan runtime data yang bekerjasama dengan penggunaan algoritma eksekusi aljabar relasional.




Sistem Manajemen Database


Sebuah sistem administrasi database (Database Management System / DBMS) terdiri atas perangkat lunak yang menertibkan penyimpanan data. Sebuah DBMS mengatur pembuatan, pemeliharaan, dan penggunaan struktur penyimpanan basis data organisasi sosial dan pengguna mereka. Hal ini memungkinkan organisasi untuk memegang kontrol pengembangan database organisasi yang luas di tangan Database Administrator (DBA) dan seorang ahli yang lain. Dalam tata cara yang besar, sebuah DBMS memungkinkan pengguna dan perangkat lunak lain untuk menyimpan dan mengambil data dengan cara yang teratur.


Sistem manajemen database lazimnya dikategorikan menurut model database yang mereka dukung, mirip jaringan, relasional atau versi obyek. Model ini condong untuk menentukan bahasa query yang tersedia untuk mengakses database. Satu bahasa query biasa yang dipakai untuk database relasional yaitu SQL, meskipun sintaks dan fungsi  SQL mampu berlainan dari satu DBMS ke DBMS lainnya. Sebuah bahasa query yang umum untuk database obyek ialah OQL, meskipun tidak semua vendor dari database objek mengimplementasikannya, sebagian dari mereka menerapkan tata cara ini. Sebagian Besar internal DBMS yakni model data yang independen, dan berkaitan dengan mengorganisir aspek-aspek mirip kinerja, konkurensi, integritas, dan pemulihan dari kegagalan perangkat keras. Di kawasan ini terdapat perbedaan besar antar produk.


Sebuah metode manajemen database relasional (relational database management system  / RDBMS) menerapkan fitur dari model relasional. Dalam konteks ini, “Informasi Prinsip”  Date  menyatakan: “kandungan info seluruh database diwakili dalam satu dan hanya satu cara. Yaitu eksplisit sebagai nilai kolom dalam posisi (atribut) dan baris kekerabatan (tupel). Oleh sebab itu, tidak ada petunjuk eksplisit antara tabel yang terkait. ” Hal ini berlawanan dengan metode administrasi basis data objek (object database management system  / ODBMS), yang tidak menyimpan pointer eksplisit antar jenis yang terkait.


Perhatian mesti digunakan kalau menggunakan berita berikut dalam konteks historis. Sebagai pola, Pick ialah legacy (multivalued) RDBMS, yang tidak memakai model SQL dan alasannya adalah itu tidak menggunakan komponen-komponen yang diasumsikan oleh arsitektur SQL modern.



Komponen DBMS 
Menurut buku teks Wikibooks konten terbuka, “Design of Main Memory Database System/Overview of DBMS”, DBMS tahun 2009 yang menerapkan model relasional. Lainnya lebih sedikit menggunakan tata cara DBMS, mirip DBMS objek, biasanya beroperasi di tempat khusus pengelolaan data-aplikasi di mana kinerja dan skalabilitas memperoleh prioritas lebih tinggi daripada kelonggaran kemampuan ad hoc query yang ditawarkan lewat algoritma ekxekusi aljabar relasional pada DBMS relasional .

Komponen RDBMS 
– Interface driver – Seorang pengguna atau acara aplikasi yang mengawali  baik  adaptasi bagan ataupun adaptasi konten. Driver ini dibangun di atas SQL. Mereka menyediakan tata cara untuk mempersiapkan statements, lakukan statements, menemukan hasil, dll. Contohnya mencakup DDL, DCL, DML, ODBC, dan JDBC . Beberapa vendor menyediakan antarmuka mempunyai bahasa tertentu. Misalnya MySQL dan Firebird menyediakan driver untuk PHP, Python, dll.


– Mesin SQL (SQL engine) – Komponen ini menginterpretasikan dan mengeksekusi SQL query. Ini terdiri dari tiga komponen utama (compiler, optimizer, dan mesin hukuman). 
– Mesin Transaksi – Transaksi merupakan urutan operasi membaca atau menulis bagian database, yang dikelompokkan bahu-membahu.

– Mesin Relational – Objek relasional seperti Tabel, Index, dan Referential integrity constraints diimplementasikan dalam komponen ini.
– Mesin Penyimpanan – Komponen ini menyimpan dan mengambil catatan data. Ini juga menawarkan mekanisme untuk menyimpan metadata dan kontrol informasi seperti membatalkan log, Redo log, kunci tabel, dll

Komponen ODBMS
– Driver Bahasa – Seorang pengguna atau acara aplikasi yang memulai baik modifikasi sketsa atau modifikasi konten lewat bahasa pemrograman yang diseleksi. Driver lalu menawarkan mekanisme untuk mengurus beberapa siklus objek pada aplikasi ruang memori dengan penyimpanan persisten dengan mendasarinya. Contohnya termasuk C + +, Java, .NET, dan Ruby.

– Mesin Query – Komponen ini menginterpretasikan dan mengeksekusi perintah permintaan spesifik dalam bahasa dalam bentuk OQL, LINQ, JDOQL, JPAQL, atau lainnya. Mesin pencarian memberi balikan koleksi bahasa khusus objek yang memenuhi permintaan predikat dinyatakan sebagai operator logis misalnya >, <, >=, <=, AND, OR, NOT, GroupBY, dll– Mesin Transaksi – Transaksi merupakan urutan operasi membaca atau menulis elemen database, yang dikelompokkan bantu-membantu. Mesin transaksi berhubungan dengan hal-hal seperti isolasi data dan konsistensi dalam cache driver dan volume data dengan berkoordinasi dengan mesin penyimpanan.– Mesin Penyimpanan – bagian penyimpanan ini dan mengambil objek dalam suatu versi  kompleks yang berganti-ubah. Ini juga menyediakan mekanisme untuk mengatur dan menyimpan metadata dan kontrol info mirip membatalkan log, Redo log, kunci grafik,
Tugas utama paket DBMS 
– Pengembangan Database: digunakan untuk mendefinisikan dan mengendalikan isi, korelasi, dan struktur data yang diharapkan untuk membangun database.

– Interogasi Database: mampu mengakses data dalam database untuk penelusuran informasi dan pengerjaan laporan. Pengguna dapat selektif mengambil dan menampilkan isu dan menghasilkan laporan dan dokumen tercetak.

– Pemeliharaan Database: digunakan untuk menambah, meniadakan, memperbarui, membenarkan, dan melindungi data dalam database.

– Pengembangan Aplikasi: digunakan untuk membuatkan prototipe dari layar entri data, query, form, laporan, tabel, dan label untuk aplikasi prototipe. Atau memakai 4GL (4th Generation Language) atau Generasi Bahasa ke-4 atau generator aplikasi untuk menyebarkan isyarat acara.

Jenis

Database operasional
Database ini menyimpan data rinci yang dibutuhkan untuk mendukung operasi dari seluruh organisasi. Mereka juga disebut database kawasan subjek (subject-area databases / SADB), transaksi database, dan database produksi. Sebagai pola:
– database pelanggan
– database langsung
– database persediaan
– database akuntansi

Database analitikal 
Database Analitik (alias OLAP- On Line Analytical Processing) database yang statis, read-only yang menyimpan arsip, data historis yang digunakan untuk analisis. Sebagai contoh, perusahaan mungkin menyimpan catatan penjualan selama sepuluh tahun terakhir dalam database analitik dan memakai database untuk menganalisis seni manajemen penjualan dalam kekerabatan dengan demografis.

Di web, Anda akan sering menyaksikan database analitik dalam bentuk katalog persediaan seperti yang ditunjukkan sebelumnya dari Amazon.com. Sebuah katalog database persediaan analitis deskriptif lazimnya menyimpan gosip tentang semua produk yang tersedia dalam persediaan.

Halaman Web dihasilkan secara dinamis oleh query daftar produk yang tersedia di persediaan kepada beberapa parameter penelusuran. Halaman dinamis yang dihasilkan akan memperlihatkan gosip wacana masing-masing item (mirip judul, penulis, ISBN) yang disimpan dalam database.

Data warehouse
Sebuah data warehouse (gudang data) menyimpan data dari tahun kini dan sebelumnya – data yang diambil dari aneka macam database operasional organisasi. Hal ini menjadi sumber utama data yang telah disaring, diedit, distandarisasi dan diintegrasi sehingga dapat digunakan oleh para manajer dan pengguna profesional yang lain di seluruh organisasi. Warehouse data ditandai dengan lambatnya untuk memasukkan ke dalam tetapi cepat untuk mengambilnya. Perkembangan terkini dalam pergudangan data menjadikan penggunaan Shared nothing architecture untuk memfasilitasi skala ekstrim.



Database terdistribusi
Ini ialah database kerja kelompok lokal dan departemen di kantor regional, kantor cabang, pabrik dan lokasi kerja yang lain. Database ini dapat mencakup segmen dari kedua database operasional biasa dan pengguna umum, serta data yang dihasilkan dan digunakan cuma di sebuah situs pengguna sendiri.

Database end-user
Database ini terdiri dari banyak sekali data file yang dikembangkan oleh pengguna simpulan di workstation mereka. Contoh dari ini yakni koleksi dokumen dalam spreadsheet, pengolah kata dan bahkan download file.

Database eksternal 
Database ini menyediakan jalan masuk ke eksternal, data online milik pribadi – tersedia dengan biaya bagi pengguna-final dan organisasi dari jasa komersial. Akses ke banyak isu dari database eksternal tersedia dengan biaya dari layanan online komersial dan dengan atau tanpa biaya dari banyak sumber di Internet.

Database hipermedia di web 
Ini ialah sebuah set halaman multimedia yang saling berhubungan di situs-web. Mereka terdiri dari halaman homepage dan halaman hyperlink lain multimedia atau media adonan seperti teks, grafis, gambar foto, klip video, audio dll

Database navigasi 
Dalam database navigasi, query menemukan objek utamanya dengan mengikuti referensi dari objek lain. Antarmuka navigasi tradisional ialah prosedural, meskipun salah satu dapat mencirikan beberapa tata cara modern mirip XPath selaku navigasi dan deklaratif secara simultan.

Database In-memory 
Di memori database terutama mengandalkan pada memori utama untuk penyimpanan data komputer. Hal ini bertentangan dengan tata cara manajemen database yang memakai prosedur penyimpanan berbasis disk. database memori utama lebih cepat dari disk yang dioptimalkan database dimana algoritma optimasi internal lebih sederhana dan lebih sedikit mengeksekusi kode CPU. Mengakses data dalam memori menunjukkan kinerja lebih singkat dan lebih mudah diprediksi dari disk. Dalam aplikasi di mana waktu respon sungguh penting, seperti peralatan jaringan telekomunikasi yang mengoperasikan metode darurat, database memori utama yang sering dipakai.

Databases berorientasi dokumen
Databases berorientasi dokumen adalah acara komputer yang dirancang untuk aplikasi berbasis dokumen. Sistem ini dapat diimplementasikan sebagai lapisan di atas suatu database relasional atau objek database. Berbeda dengan database relasional, Databases berbasis dokumen tidak menyimpan data dalam tabel dengan bidang berukuran seragam untuk setiap record. Sebaliknya, mereka menyimpan setiap catatan sebagai dokumen yang mempunyai karakteristik tertentu. Setiap beberapa field yang panjang dapat ditambahkan ke dokumen. Fields juga dapat berisi beberapa lembar data.

Database waktu aktual
Sebuah database waktu aktual (Real-time database) ialah sistem pengolahan dirancang untuk mengatasi beban kerja yang statenya dapat berganti terus-menerus. Ini berlawanan dari database tradisional yang mengandung data yang terus-menerus, sebagian besar tidak terpengaruh oleh waktu. Misalnya, pergeseran pasar saham dengan segera dan dinamis. Proses real-time bermakna bahwa transaksi diproses cukup cepat untuk mendapatkan hasil dan bertindak secepatnya. Real-time database memiliki kegunaan untuk akuntansi, perbankan, hukum, catatan medis, multi-media, proses kendali, tata cara reservasi, dan analisis data ilmiah. Seperti peningkatan daya komputer dan mampu menyimpan lebih banyak data, database real-time terintegrasi ke dalam penduduk dan bekerja di banyak aplikasi.

Database relasional
Standar komputasi bisnis di tahun 2009, database relasional yaitu database yang paling biasa digunakan dikala ini. Menggunakan tabel untuk struktur berita sehingga dapat mudah dibaca dan gampang dicari.

Model

Model database post-relasional
Produk-produk memberikan versi data yang lebih biasa dibandingkan dengan model relasional yang kadang-kadang diklasifikasikan selaku pasca-relasional. Model data dalam produk tersebut meliputi hubungan tetapi tidak dibatasi oleh Prinsip Informasi, yang mensyaratkan keterwakilan dari semua berita dengan nilai-nilai data dalam kaitannya dengan hal itu

Beberapa ekstensi tersebut untuk model relasional benar-benar mengintegrasikan rancangan-konsep dari teknologi penanggalan model relasional. Misalnya, mereka mengizinkan representasi dari grafik diarahkan dengan pohon-pohon di node.

Beberapa produk menerapkan model tersebut dengan memperluas metode database relasional dengan fitur-fitur non-relasional. Namun, yang yang lain telah tiba di banyak daerah yang serupa dengan menambahkan fitur relasional untuk metode pra-relasional. Anehnya, hal ini memungkinkan produk-produk historis yang pra-relasional, mirip PICK and MUMPS, untuk mengajukan klaim yang masuk logika untuk pasca-relasional dalam arsitekturnya dikala ini.

Model database objek
Dalam beberapa tahun terakhir, paradigma berorientasi objek telah diterapkan di berbagai bidang mirip database teknik dan spasial, telekomunikasi dan di dalam banyak sekali domain ilmiah. Para konglomerasi pemrograman database berorientasi objek dan teknologi mengarah ke model pemrograman baru yang diketahui sebagai database objek. Database ini berusaha untuk menjinjing dunia database dan dunia pemrograman aplikasi lebih akrab dan bersama-sama, terutama dengan menentukan bahwa database menggunakan tipe metode yang sama dengan acara aplikasi. Ini bertujuan untuk menyingkir dari biaya overhead (kadang kala disebut selaku  impedansi mismatch) untuk mengubah informasi antara perwakilannya dalam database (contohnya sebagai baris dalam tabel) dan perwakilannya dalam program aplikasi (lazimnya selaku objek). Pada saat yang serupa, obyek database berupaya untuk memperkenalkan inspirasi-inspirasi kunci dari pemrograman objek, seperti enkapsulasi dan polimorfisme, ke dalam dunia database.

Berbagai cara-cara tersebut telah dicoba untuk menyimpan objek dalam database. Beberapa produk sudah mendekati persoalan dari sisi-acara aplikasi, dengan membuat objek yang dimanipulasi oleh program terus-menerus. Hal ini juga lazimnya membutuhkan penambahan berbagai jenis bahasa query, karena bahasa pemrograman konvensional tidak menawarkan fungsionalitas tingkat bahasa untuk mendapatkan objek menurut pada isi gosip mereka. Lainnya sudah menyerang problem dari ujung database, dengan mendefinisikan suatu versi data berorientasi objek untuk database, dan mendefinisikan database bahasa pemrograman yang memungkinkan kemampuan pemrograman penuh mirip halnya kemudahan ajakan tradisional.



Struktur Penyimpanan



Database mampu menyimpan tabel relasional / indeks dalam memori atau hard disk dalam salah satu bentuk:




– ordered/unordered flat files
– ISAM
– heaps
– hash buckets
– B+ trees

Setiap bentuk itu mempunyai banyak sekali laba dan kerugian. Tetapi yang paling kerap dipakai yaitu B+ trees dan ISAM.

Database obyek menggunakan jajaran prosedur penyimpanan. Beberapa menggunakan file-file memori virtual yang dipetakan untuk menciptakan bahasa native (C++, Java, dll) obyek persisten. Hal ini sangat efisien tetapi mampu menciptakan saluran multi-bahasa yang lebih sulit. Lainnya memecah objek ke dalam unsur tetap dan panjang yang beragam yang kemudian dikelompokkan bersahabat di blok berukuran tetap pada disk dan dipasang kembali ke format yang sesuai baik untuk klien ataupun dalam ruang alamat  klien. Teknik lain yang terkenal melibatkan menyimpan benda-benda di tupel (seperti suatu database relasional) yang server databasenya lalu me-reassembles untuk klien.

Pilihan desain penting Lainnya  berafiliasi dengan clustering data menurut klasifikasi (mirip pengelompokan data menurut bulan, atau lokasi), menciptakan perkiraan view yang dikenal sebagai materialized views, partisi data sesuiai dengan jangkauan atau hash. Memori manajemen dan topologi penyimpanan dapat menjadi pilihan rancangan yang penting bagi desainer database juga. Sama mirip normalisasi digunakan untuk meminimalisir kebutuhan penyimpanan dan memajukan diperpanjang dari database, sebaliknya denormalization sering digunakan untuk meminimalkan kompleksitas penggabungan dan mengurangi waktu hukuman untuk query.


Pengindeksan

Semua database ini mampu mengambil keuntungan dari pengindeksan untuk mengembangkan kecepatan mereka. Teknologi ini telah maju pesat semenjak penggunaan di permulaan tahun 1960-an dan 1970-an. Jenis indeks yang paling biasa menggunakan daftar yang diurutkan dari isi beberapa kolom tabel tertentu, dengan pointer ke baris yang berafiliasi dengan nilai. Sebuah indeks memungkinkan sekumpulan baris tabel mencocokkan beberapa standar untuk mempercepat mencari eksistensi. Biasanya, indeks juga disimpan dalam berbagai bentuk struktur data yang disebutkan di atas (mirip B-tree, hash, dan linked list). Biasanya, seorang desainer database memilih teknik-teknik khusus untuk memajukan efisiensi dalam kasus tertentu dari jenis indeks yang diperlukan.

Kebanyakan DBMS relasional dan beberapa DBMS objek mempunyai laba bahwa indeks mampu diciptakan atau dihapus tanpa mengubah aplikasi yang ada yang mereka manfaatkan, Database memilih aneka macam strategi didasarkan pada yang mana diperkirakan akan berjalan paling cepat. Dengan kata lain, indeks bertindak transparan ke aplikasi atau end-user query database, sedangkan mereka mempengaruhi kinerja, setiap perintah SQL akan berlangsung dengan atau tanpa indeks untuk menghitung hasil dari pernyataan SQL. RDBMS akan menghasilkan planning query ihwal bagaimana untuk mengerjakan query: kadang kala sering dihasilkan dengan menganalisis runtime dari algoritma yang berbeda dan memilih proses tercepat. Beberapa algoritma kunci yang berafiliasi dengan adonan yakni nested loop join, sort-merge join and hash join. Yang mana sebuah RDBMS menentukan tergantung pada apakah indeksnya ada, apa jenisnya dan kardinalitasnya.

Sebuah indeks mempercepat saluran ke data, namun mempunyai kekurangan juga. Pertama, setiap indeks mengembangkan jumlah penyimpanan yang dipakai pada hard drive yang juga diperlukan untuk file database, dan kedua, indeks mesti diperbaharui setiap kali data yang berganti, dan memerlukan waktu. (Kaprikornus indeks meminimalkan waktu dalam membaca data, tetapi membutuhkan waktu dalam memasukkan dan mengubah data. Dengan demikian tergantung pada penggunaan data yang mesti diletakkan apakah indeks secara keseluruhan plus atau minus dalam upaya untuk efisiensi.)

Sebuah kasus khusus dari indeks yakni indeks utama yang berdasarkan primary key: indeks utama mesti memutuskan bahwa tumpuan unik untuk direkam. Sering kali, untuk tujuan yang satu ini hanya memakai indeks nomor berlangsung(nomor ID). indeks Primer memainkan tugas penting dalam database relasional, dan mereka mampu mempercepat terusan ke data.



Transaksi dan konkurensi

Untuk tambahan versi data mereka, database yang paling praktis (“database transaksional”) berusaha untuk melakukan transaksi database . Idealnya, acara database mesti mengikuti peraturan ACID, dirangkum di sini:

– Atomicity : Semua tugas dalam suatu transaksi mesti terjadi, atau tak satu pun dari mereka. Transaksi ini mesti tertuntaskan, atau yang lain itu harus dibatalkan (rolling back).

– Consistency (Konsistensi): Setiap transaksi harus menjaga batasan integritas – menyatakan hukum konsistensi – dari database. Tidak bisa meninggalkan data dalam kondisi kontradiktif.

– Isolation (Pemisahan): Dua transaksi simultan tidak mampu mencampuri satu sama lain. Hasil intermediate dalam transaksi harus tetap terlihat dengan transaksi yang lain.

– Durability (Daya Tahan): Transaksi yang sudah terselesaikan tidak dapat dibatalkan atau hasil mereka dibuang. Mereka harus bertahan melalui (misalnya) merestart DBMS sesudah crash.

Dalam prakteknya, banyak DBMS memungkinkan relaksasi pilih-pilih sebagian besar peraturan-peraturan tersebut – untuk penampilan yang lebih baik.

Kendali konkurensi memastikan bahwa transaksi mengeksekusi secara kondusif dan mengikuti hukum ACID. DBMS mesti dapat memutuskan bahwa mereka serializable, agenda recoverable digenerate, dan tidak adanya tindakan transaksi yang dijalankan akan hilang dikala transaksi dibatalkan.


Replikasi


Replikasi database sering berhubungan bersahabat dengan transaksi. Jika database mampu mencatat tindakan individu, satunya mampu menciptakan salinan data secara real time. DBA mampu menggunakan duplikat untuk meningkatkan kinerja dan / atau ketersediaan seluruh metode database.

Konsep replikasi umum mencakup:

– Replika master/slave: Seluruh usul menulis yang dilaksanakan pada master dan kemudian direplikasi ke slave
– Quorum: Hasil permintaan membaca dan menulis yang dihitung dengan query replika “lebih banyak didominasi”.
– Multimaster: Dua atau lebih replika yang sinkron satu sama lain lewat identifier transaksi.

Replikasi paralel sinkron database memungkinkan replikasi transaksi pada beberapa server secara serempak, yang menawarkan metode untuk cadangan dan keamanan serta ketersediaan data. Ini biasanya disebut selaku “database clustering”.


Keamanan

Keamanan database memberikan sistem, proses, dan mekanisme yang melindungi database dari kegiatan yang tidak disengaja. Menegakkan keselamatan ialah salah satu tugas utama dari DBA.

DBMS umumnya menegakkan keselamatan lewat kontrol kanal, investigasi (auditing), dan enkripsi :
– kontrol saluran menentukan dan membatasi siapa saja yang mampu terhubung dan apa yang bisa mereka lakukan untuk database.
– Auditing mencatat langkah-langkah atau pergantian apa yang telah dikerjakan, kapan dan oleh siapa.
– Enkripsi: banyak database komersial tergolong mekanisme enkripsi built-in untuk meng-encode data ke dalam tabel native dan untuk men-decipher berita “on the fly” dikala seruan masuk. DBA juga dapat mengamankan dan mengenkripsi koneksi jikalau diperlukan memakai DSA, MD5, SSL atau legacy encryption standards.

Di Britania Raya (UK), undang-undang melindungi masyarakat dari pengungkapan yang tidak sah kepada info eksklusif yang dipegang pada database yang berada di Kantor Komisaris Informasi. Organisasi berbasis di Britania Raya dan memegang data pribadi dalam format elektronika (contohnya database) harus mendaftar dengan Komisaris Data.


Locking (penguncian)

Database menangani beberapa operasi berbarengan dengan penguncian. Ini ialah bagaimana konkurensi dan beberapa bentuk dasar integritas dikelola dalam sistem database. kunci tersebut dapat diterapkan pada row level, atau pada level lain seperti page (satu blok data dasar), extent (beberapa array page) atau bahkan seluruh tabel. Hal ini menolong mempertahankan integritas data dengan memutuskan bahwa cuma satu proses pada sebuah waktu dapat memodifikasi data yang serupa.

Dalam file filesystem atau folder dasar, cuma satu kunci pada suatu waktu yang dapat dikontrol, membatasi penggunaan untuk satu proses saja. Database, di segi lain, mampu mengendalikan dan menahan kunci lebih dari satu pada dikala yang sama pada aneka macam tingkat struktur data fisik. Skema pengunci mesin database menentukan bagaimana menetapkan dan menjaga kunci berdasarkan SQL atau transaksi yang diajukan oleh pengguna. Secara lazim, setiap acara pada database mesti melibatkan beberapa atau penguncian ekstensif.

Pada tahun 2009 kebanyakan metode DBMS memakai kunci shared dan langsung. Kunci eksklusif berarti bahwa tidak ada kunci lain mampu menemukan  objek data dikala ini selama kunci pribadi berlangsung. DBMS biasanya menetapkan kunci pribadi saat database perlu mengganti data, selama operasi UPDATE atau DELETE.

Kunci shared dapat mengambil kepemilikan satu dari lainnya dari struktur data ketika ini. Kunci shared lazimnya digunakan saat database membaca data (selama operasi SELECT). Jumlah, sifat kunci dan waktu kunci memegang blok data mampu mempunyai dampak besar pada kinerja database. Penguncian buruk dapat menimbulkan kinerja respon menjadi bencana (umumnya merupakan hasil dari undangan SQL yang buruk, atau database struktur fisik yang tidak memadai)

Tingkat isolasi dari server data memaksa sikap penguncian default. Mengubah tingkat isolasi akan mensugesti bagaimana kunci shared atau eksklusif mesti di-set pada data untuk seluruh metode database. Default isolasi lazimnya 1, dimana data tidak mampu dibaca ketika sedang diubah, melarang kembalinya “ghost data” terhadap pengguna akhir.

Pada titik intensif tertentu atau penguncian eksklusif yang tidak tepat dapat menjadikan suasana “deadlock” antara dua kunci, dimana tidak ada kunci yang mampu dilepas karena mereka mencoba untuk saling mendapatkan sumber daya satu sama lain. Database mesti memiliki mekanisme fail-safe yang secara otomatis akan “mengorbankan” salah satu kunci, sehingga melepaskan sumber daya. Proses atau transaksi yang terlibat dalam “deadlock” mampu diputar kembali.

Database juga mampu dikunci alasannya adalah argumentasi lain, seperti pembatasan saluran untuk tingkat pengguna tertentu. Beberapa DBA juga mengunci basis data untuk pemeliharaan rutin, yang menghalangi perubahan yang dijalankan selama pemeliharaan. Namun, banyak database terbaru yang tidak mengunci basis data selama pemeliharaan rutin. contohnya “Pemeliharaan Database rutin” untuk PostgreSQL.


Aplikasi

Fungsi database dalam berbagai aplikasi, meliputi hampir seluruh jenis perangkat lunak komputer. Database sudah menjadi sistem pilihan penyimpanan untuk aplikasi multiuser yang besar, di mana koordinasi antara banyak pengguna dibutuhkan. Bahkan pengguna individu menemukannya cocok, dan banyak program surat elektronik dan organisator eksklusif yang didasarkan pada teknologi database tolok ukur. Driver software database tersedia untuk dominan platform database sehingga software aplikasi dapat menggunakan API lazim untuk mengambil berita yang disimpan dalam database. API database yang sering digunakan termasuk JDBC dan ODBC .


Database dalam media baru

Dalam media baru, database mengumpulkan item yang mana pengguna mampu melakukan banyak sekali operasi seperti menyaksikan, navigasi, membuat, dan mencari. Walaupun ada banyak sekali jenis item dalam database, masing-masing item mempunyai makna yang sama. Tidak mirip sebuah narasi atau film, koleksinya terkomputerisasi dan alasannya adalah itu mungkin menawarkan pengalaman unik dengan persepsi masing-masing. Bentuk data ini mampu memperlihatkan penyajian yang unik wacana seperti apa dunia ini. Database dapat dilihat sebagai bentuk simbolis dari umur komputer.



Perangkat lunak basis data yang banyak digunakan dalam pemrograman dan ialah perangkat basis data aras tinggi (high level):

– Microsoft SQL Server

– Oracle

– Sybase

– Interbase

– XBase

– Firebird

– MySQL

– PostgreSQL

– Microsoft Access

– dBase III

– Paradox

– FoxPro

– Visual FoxPro

– Arago

– Force

– Recital

– dbFast

– dbXL

– Quicksilver

– Clipper

– FlagShip

– Harbour

– Visual dBase

– Lotus Smart Suite Approach


Selain perangkat lunak di atas, terdapat juga perangkat lunak pemrograman basis data aras rendah (low level), diantaranya:

– Btrieve

– Tsunami Record Manager









____________________________________________
Referensi:

MySQL Cluster
Oracle Real Application Cluster (RAC) 
Kantor Komisaris Informasi – ICO
“Informasi perihal Shared Locks”


Bacaan lebih lanjut:


– Ling Liu and Tamer M. Özsu (Eds.) (2009). “Encyclopedia of Database Systems, 4100 p. 60 illus. ISBN 978-0-387-49616-0. Table of Content available at http://refworks.springer.com/mrw/index.php?id=1217
– Beynon-Davies, P. (2004). Database Systems. 3rd Edition. Palgrave, Houndmills, Basingstoke.
– Connolly, Thomas and Carolyn Begg. Database Systems. New York: Harlow, 2002.
– Date, C. J. An Introduction to Database Systems, Eighth Edition, Addison Wesley, 2003.
– Galindo, J.; Urrutia, A.; Piattini, M. Fuzzy Databases: Modeling, Design and Implementation (FSQL guide). Idea Group Publishing Hershey, USA, 2006.
– Galindo, J., Ed. Handbook on Fuzzy Information Processing in Databases. Hershey, PA: Information Science Reference (an imprint of Idea Group Inc.), 2008.
– Gray, J. and Reuter, A. Transaction Processing: Concepts and Techniques, 1st edition, Morgan Kaufmann Publishers, 1992.
– Kroenke, David M. Database Processing: Fundamentals, Design, and Implementation (1997), Prentice-Hall, Inc., pages 130-144.
– Kroenke, David M. and David J. Auer. Database Concepts. 3rd ed. New York: Prentice, 2007.
– Lightstone, S.; T. Teorey and T. Nadeau, Physical Database Design: the database professional’s guide to exploiting indexes, views, storage, and more, Morgan Kaufmann Press, 2007. ISBN 0-12-369389-6.
– O’Brien, James. “Management Information Systems”. New York 1999
– Shih, J. “Why Synchronous Parallel Transaction Replication is Hard, But Inevitable?”, white paper, 2007.
– Teorey, T.; Lightstone, S. and Nadeau, T. Database Modeling & Design: Logical Design, 4th edition, Morgan Kaufmann Press, 2005. ISBN 0-12-685352-5
– Tukey, John W. Exploratory Data Analysis. Reading, MA: Addison Wesley, 1977.
– Manovich, Lev.Database as a Symbolic Form, Cambridge: MIT press, 2001.