TRANSAKSI DAN PENGENDALIAN PERSAINGAN DALAM DBMS / DATABASE 1
TRANSAKSI DAN PENGENDALIAN PERSAINGAN DALAM DBMS /
DATABASE (CONCURRENCY CONTROL)
Riky Febryanto, Yogi Sugiana, Deli Mardiano, Muhamad Ari Prayoga dan Diki Muladi
Program Teknik Informatika STMIK Sumedang
Abstrak: concurrency control (transaksi dan pengendalian persaingan dalam database). merupakan proses pengaturan operasi yang simultan pada database tanpa menyebabkan saling mempengaruhi antara satu dengan yang lain. Akses konkuren tidak akan bermasalah jika user hanya melakukan pembacaan data saja, gangguan akan terjadi jika dua atau lebih user mengakses database secara simultan dan sedikitnya melakukan suatu perubahan (update), maka dapat menyebabkan ketidak-konsistenan (inconsistencies). Tujuannya adalah membuat banyak pengguna bisa mengakses data secara bersamaan. Concurrency control dalam sistem manajemen database, lain transaksional benda, dan aplikasi terdistribusi yang terkait (misalnya, komputasi Grid dan Cloud computing ) memastikan bahwa database transaksi dilakukan bersamaan tanpa melanggar integritas data dari masing-masing database.
Kata Kunci: database, dbms, concurrency control
PENDAHULUAN
Concurrency control dalam sistem
manajemen database, lain transaksional benda, dan aplikasi terdistribusi yang terkait (misalnya, komputasi Grid dan Cloud computing ) memastikan bahwa
database transaksi dilakukan bersamaan tanpa melanggar integritas data dari masing-masing database . Jadi kontrol concurrency merupakan elemen penting untuk pembenaran dalam sistem dimana transaksi basis data dua atau lebih, dilaksanakan dengan waktu tumpang tindih, dapat mengakses data yang sama, misalnya, hampir di setiap sistem database untuk tujuan umum. Akibatnya tubuh besar penelitian terkait telah terakumulasi karena sistem database yang telah muncul pada awal tahun 1970. Sebuah didirikan concurrency dengan baik kontrol teori untuk sistem database diuraikan dalam referensi disebutkan di atas: serializability teori , yang memungkinkan untuk secara
efektif desain dan menganalisis metode kontrol concurrency dan mekanisme. Sebuah teori alternatif untuk mengontrol concurrency transaksi atom lebih dari tipe data abstrak, dan tidak digunakan di bawah ini. Teori ini lebih halus, dengan lingkup yang lebih luas, namun kurang digunakan dalam literatur Database dari teori klasik di
atas. Teori Masing-masing memiliki
kelebihan dan kontra, penekanan dan wawasan . Untuk beberapa hal mereka saling melengkapi, dan penggabungan mereka mungkin berguna.
Untuk memastikan kebenaran, DBMS
biasanya menjamin bahwa hanya
serializable transaksi jadwal yang
dihasilkan, kecuali serializability ini
TRANSAKSI DAN PENGENDALIAN PERSAINGAN DALAM DBMS / DATABASE 2 recoverability (dari batalkan) properti.
Sebuah DBMS juga menjamin bahwa tidak
ada efek transaksi komitmen ini hilang, dan
tidak ada efek dibatalkan ( kembali
digulung transaksi) tetap dalam database
terkait. Secara keseluruhan transaksi
karakterisasi biasanya diringkas oleh ACID aturan di bawah ini. Seperti database telah menjadi didistribusikan, atau diperlukan untuk bekerja sama dalam lingkungan terdistribusi (misalnya, Federated database pada awal tahun 1990, dan Cloud komputasi saat ini), distribusi efektif mekanisme kontrol concurrency telah mendapat perhatian khusus.
Adapun tujuan penelitian ini adalah membuat banyak pengguna mengakses data secara bersamaan.
PENELITIAN YANG TERKAIT
Repository.widyatama.ac.id > handle
METODE PENELITIAN
Peneliti mengacu kepada web
http://nanansaputra.blogspot.co.id/2011/05/con currency-control.html?m=1 dengan
menambahkan materi dari bebrapa sumber yang lain.
LANDASAN TEORI
Transaksi
Adalah salah satu atau beberapa aksi program aplikasi yang mengakses / mengubah isi basis data.
Transaksi merupakan bagian dari
pengeksekusian sebuah program yang melakukan pengkasesan basis data dan
bahkan juga melakukan serangkaian
perubahan data.
DBMS yang kita gunakan harus menjamin bahwa setiap transaksi harus dapat dikerjakan secara utuh atau tidak sama sekali. Tidak boleh ada transaksi yang hanya dikerjakan sebagian, karna dapat menyebabkan inkonsistensi basis data. Untuk itu transaksi selalu merubah basis
data dari satu kondisi konsisten ke kondisi konsisten lain.
Transaksi bertujuan untuk mencegah dari kehilangan ataupun kerusakandata. Untuk
menjamin agar integritasdapat tetap
terpelihara maka setiap transaksi memiliki sifat-sifat :
1. Atomicity
Dimana semua operasi dalam transaksi dikerjakan seluruhnya atau tidak sama sekali.
2. Consistency
Dimana eksekusi transaksi harus bisa menjamin data tetap konsisten setelah transaksi berakhir.
3. Isolation
Jika sebuah database terdapat sejumlah transaksi yang dilaksanakan secara bersamaan, maka semua transaksi yang
dilaksanakan pada saat yang
bersamaan tersebut harus dapat
dimulai dan bisa berakhir.
4. Durability
Perubahan data yang terjadi setelah sebuah transaksi berakhir dengan baik, harus dapat bertahan bahkan jika seandainya sistem mati.
Pengendalian persaingan
TRANSAKSI DAN PENGENDALIAN PERSAINGAN DALAM DBMS / DATABASE 3 HASIL DAN PEMBAHASAN
A. Concurrency Control
Concurrency control merupakan
proses pengaturan ooperasi yang simultan
pada database tanpa menyebabkan saling
mempengaruhi antara satu dengan yang
lain. Akses konkuren tidak akan
bermasalah jika user hanya melakukan
pembacaan data saja, gangguan akan terjadi
jika dua atau lebih user mengakses database
secara simultan dan sedikitnya melakukan
suatu perubahan (update), maka dapat
menyebabkan ketidak-konsistenan
(inconsistencies).
B. Concurrency Control dalam Database
Concurrency control dalam sistem
manajemen database, lain transaksional benda, dan aplikasi terdistribusi yang terkait (misalnya, komputasi Grid dan Cloud computing ) memastikan bahwa
database transaksi dilakukan bersamaan tanpa melanggar integritas data dari masing-masing database . Jadi kontrol concurrency merupakan elemen penting untuk pembenaran dalam sistem dimana transaksi basis data dua atau lebih, dilaksanakan dengan waktu tumpang tindih, dapat mengakses data yang sama, misalnya, hampir di setiap sistem database untuk tujuan umum.
C. Transaksi Database dan Aturan ACID
D. Subsistem Transaksi DBMS (DBMS
Transaction Subsystem)
Transaction Manager
mengkoordinasikan transaksi untuk
kepentingan program aplikasi, yang saling
berkomunikasi dengan scheduler, yaitu
modul yang bertanggung jawab mengenai
implementasi strategi khusus untuk control
concurrency. Scheduler kadang mangacu
pada Lock Manager, jika protokol control
concurrency berdasarkan penguncian
(locking).
E. Serializability dan Recoverability
Tujuan protokol concurrency control
adalah untuk menjadwalkan transaksi
sedemikian rupa sehingga dapat
menghindar dari berbagai gangguan, dan juga mencegah tipe-tipe masalah yang digambarkan pada sesi sebelumnya. Satu solusi yang jelas adalah mengijinkan hanya satu transaksi yang berjalan dalam satu waktu.
F. Schedule
Schedule adalah sebuah urutan dari operasi-operasi oleh satu set transaksi yang jalan bersamaan yang menjaga urutan operasi pada setiap transaksi individual. Sebuah transaksi mencakup sebuah urutan operasi yang terdiri dari tindakan baca dan/atau tulis pada database, diikuti oleh sebuah
tindakan commit atau abort.
G. Teknik Concurrency Control
Ada dua teknik concurrency control
utama yang mengijinkan transaksi untuk
berjalan dengan aman dalam subjek paralel
untuk constraint tertentu, yaitu locking dan
metode timestamp tertentu. Locking dan
timestamping adalah pendekatan
konservatif karena mereka menyebabkan
transaksi ditunda dalam kasus mereka
konflik dengan transaksi lain pada beberapa
waktu di masa yang akan datang. Metode
TRANSAKSI DAN PENGENDALIAN PERSAINGAN DALAM DBMS / DATABASE 4
konflik itu jarang ditemui, jadi mereka
mengijinkan transaksi untuk lanjut tidak
tersinkronisasi dan hanya mengecek
konflik di bagian akhir, ketika transaksi
melakukan operasi commit.
H. Metode Locking
Locking adalah sebuah prosedur yang digunakan untuk mengendalikan akses bersamaan ke data. Ketika sebuah transaksi
sedang mengakses database, sebuah lock
mungkin menolak akses ke transaksi lain untuk mencegah hasil yang salah. Ada dua
macam lock, yaitu shared lock dan
exclusive lock yang harus digunakan
sebelum melakukan akses membaca
ataupun menulis terhadap database.
1. Lock digunakan dengan cara sebagai
berikut:
· Transaksi apapun yang membutuhkan
akses pada sebuah item data harus
melakukan lock terhadap item tersebut,
meminta shared lock untuk akses membaca
saja atau sebuah exclusive lock untuk akses
membaca dan menulis.
· Jika item belum dikunci oleh transaksi lain,
lock tersebut akan dikabulkan
· Jika item sedang dikunci, DBMS
menentukan apakah permintaan ini
compatible dengan lock saat ini. Jika
diminta shared lock pada sebuah item yang
sudah mempunyai shared lock terpasang
padanya, permintaan itu akan dikabulkan.
Selain itu, transaksi harus menunggu
sampai lock yang ada terlepas.
KESIMPULAN
Dari hasil penelitian yang telah kami lakukan dapat kami simpulkan bahwa, kontrol concurrency merupakan elemen penting untuk pembenaran dalam sistem dimana transaksi basis data dua atau lebih, dilaksanakan dengan waktu tumpang tindih, dapat mengakses data yang sama, misalnya, hampir di setiap sistem database untuk tujuan umum.
Sebuah didirikan concurrency dengan baik kontrol teori untuk sistem database diuraikan dalam referensi disebutkan di
atas: serializability teori , yang
memungkinkan untuk secara efektif desain
dan menganalisis metode kontrol
concurrency dan mekanisme.
Untuk memastikan kebenaran, DBMS
biasanya menjamin bahwa hanya
serializable transaksi jadwal yang
dihasilkan, kecuali serializability ini
sengaja santai untuk meningkatkan kinerja, tetapi hanya dalam kasus di mana aplikasi yang benar tidak dirugikan. Untuk menjaga kebenaran dalam kasus gagal (dibatalkan) transaksi (yang selalu bisa terjadi karena berbagai alasan) jadwal juga perlu memiliki
recoverability (dari batalkan) properti. Sebuah DBMS juga menjamin bahwa tidak
ada efek transaksi komitmen ini hilang, dan
tidak ada efek dibatalkan ( kembali
TRANSAKSI DAN PENGENDALIAN PERSAINGAN DALAM DBMS / DATABASE 5 DAFTAR PUSTAKA
http;//www.google.com