Concurrency Control

Dari Database Management

Definisi
Concurrency control adalah sistem manajemen database (DBMS) konsep yang digunakan untuk mengatasi konflik dengan serentak mengakses atau mengubah data yang dapat dilakukan dengan sistem multi-user.
Concurrency control, bila diterapkan ke DBMS, dimaksudkan untuk mengkoordinasikan bersamaan saat transaksi melestarikan integritas data
Untuk menggambarkan konsep kontrol concurrency, mempertimbangkan dua wisatawan yang pergi ke kios elektronik pada saat yang sama untuk membeli tiket kereta api untuk tujuan yang sama pada kereta yang sama. Hanya ada satu kursi di kiri pelatih, tetapi tanpa kontrol concurrency, mungkin wisatawan yang baik
akan berakhir membeli tiket untuk satu kursi. Namun, dengan kontrol concurrency, database ini tidak akan terjadi.. Kedua wisatawan akan masih dapat mengakses database kereta tempat duduk, tetapi concurrency kontrol akan menjaga keakuratan data dan memungkinkan hanya satu jalan untuk membeli kursi.
Contoh ini juga menggambarkan pentingnya menangani masalah ini di multi-user data. Obviously,. Tentunya, kita dapat berjalan dengan cepat menjadi masalah dengan data yang tidak akurat dapat hasil dari beberapa transaksi yang terjadi secara simultan dan menulis lebih dari satu sama lain. Bagian berikut ini memberikan strategi untuk mengimplementasikan concurrency control.

Concurrency Control Locking Strategi
Pessimistic Locking: concurrency kontrol strategi ini melibatkan menjaga sebuah entitas dalam database terkunci seluruh waktu itu ada dalam database memori. [2]. Ini mencegah atau membatasi user dari mengubah data entitas yang terkunci.Ada dua jenis kunci yang jatuh di bawah kategori pesimistis penguncian: menulis dan membaca kunci kunci. [2] . Dengan menulis kunci, tetapi semua pemegang kunci dicegah membaca, memperbarui, atau menghapus entitas.. Kunci dengan membaca, pengguna lain dapat membaca entitas, tetapi tidak ada seorangpun kecuali untuk mengunci dudukan dapat memperbarui atau menghapusnya.
Optimistic Locking: Strategi ini dapat digunakan ketika kejadian yang bersamaan transaksi, atau collisions, diharapkan menjadi jarang. Dalam kontras dengan penguncian pesimis, optimis penguncian tidak mencoba untuk mencegah dari collisions terjadi. Instead, it aims to detect these collisions and resolve them on the chance occasions when they occur. Sebaliknya, ini bertujuan untuk mendeteksi collisions tersebut dan mereka pada kesempatan kali ketika terjadi. [
Pesimistis penguncian memberikan jaminan bahwa data ada perubahan aman. Namun, ia menjadi kurang bersemangat karena jumlah serentak atau jumlah entitas yang terlibat dalam transaksi meningkat karena memiliki potensi untuk menunggu kunci untuk melepaskan akan meningkat.
Penguncian optimis dapat mengatasi masalah yang menunggu kunci untuk melepaskan, tetapi kemudian pengguna memiliki potensi untuk mengalami collisions ketika mencoba untuk meng-update data.

Lock Problems: Masalah kunci:
Deadlock: Kunci ketika berhadapan dengan dua masalah dapat timbul, yang pertama dari yang sedang mogok.. Deadlock tertentu merujuk ke situasi di mana dua atau lebih proses yang menunggu untuk setiap yang lain untuk melepaskan sumber daya, atau lebih dari dua proses yang menunggu sumber daya dalam surat edaran rantai. Deadlock adalah masalah umum di banyak tempat multiprocessing proses tertentu berbagi jenis sumber daya saling eksklusif.. Beberapa komputer, yang biasanya dimaksudkan untuk berbagi waktu dan / atau real-time pasar, sering dilengkapi dengan kunci perangkat keras, atau keras kunci, yang menjamin akses ke proses eksklusif, memaksa serialization.. Deadlocks sangat membingungkan karena tidak ada solusi umum untuk menghindari mereka.
Sebuah analogi yang pas mogok Masalah ini dapat situasi seperti ketika Anda pergi untuk membuka pintu mobil dan menarik penumpang yang menangani pada waktu yang sama persis, meninggalkan pintu masih terkunci.. Jika Anda sudah pernah dalam situasi di mana penumpang adalah impatient dan tetap mencoba untuk membuka pintu, dapat sangat frustasi.. Pada dasarnya, anda dapat terjebak dalam siklus akan kehabisan, dan kedua sejak tindakan tidak dapat puas, Deadlock terjadi.
Livelock: Livelock:
Livelock adalah hal khusus dari sumber kelaparan. livelock mirip sebuah jalan buntu, kecuali bahwa negara-negara yang terlibat proses terus berubah yang berkaitan dengan satu sama lain akal tidak pernah maju. Definisi umum yang hanya menyatakan bahwa proses tertentu yang tidak berkembang.. Misalnya, sistem yang sama tetap memilih untuk rollback transaksi menyebabkan transaksi tidak pernah selesai untuk mengeksekusi. Lain livelock situasi dapat terjadi ketika sistem yang menentukan transaksi mendapatkan kunci dan yang menunggu dalam situasi konflik.
.Livelock gambaran yang terjadi ketika sejumlah orang tiba di empat cara menghentikan, dan tidak cukup yakin harus melanjutkan yang berikutnya. Jika tidak ada satu yang solid yang membuat keputusan untuk pergi, dan semua mobil tetap saja yg bergerak pelan-pelan ke dalam persimpangan takut bahwa orang lain mungkin akan memukul mereka, maka jenis livelock dapat terjadi.

Comments

Popular posts from this blog

SharePoint itu APA Sih....??!

Penyempurnaan DBCC CHECKDB di SQL Server 2008