Ortak Zamanlılık ve Veri Hareketi (Data Transaction)

Benzer belgeler
Transaction ve Ortak Zamanlılık. Sibel SOMYÜREK

Veritabanı. Ders 2 VERİTABANI

Veritabanı Tasarımı. Veritabanı Hareketleri

«BM364» Veritabanı Uygulamaları

Kets DocPlace LOGO Entegrasyonu

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar

VERİ TABANI ve YÖNETİMİ

PERKON PDKS Kurulum ve hızlı başlangıç rehberi

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veritabanı Sistemleri

VIO ERP12 Muhasebe Kurulum

1 Temel Kavramlar. Veritabanı 1

İş Zekası için Dört-Katmanlı Veri Modellemesi Gerçekleştirimi. Harun Gökçe EG Yazılım, TOBB ETÜ

HİTİT Muhasebe Aktarım Kurulum ve Kullanım Kılavuzu (Netsis Modülü)

İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir.

«BM364» Veritabanı Uygulamaları

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access

Semantik Ağ ve Üst Veri Sistemleri İçin Yeni Nesil Veri Tabanı Yönetim Modeli: NoSQL. R. Orçun Madran Atılım Üniversitesi.

RTK Sabit İstasyon Kurulumu (V )

Bilgi ve Olay Yönetim Sistemi

Entity Freamwork & ADO.Net

Misafirlerinize internet hizmeti sunmanın en güvenli yolu!

1 Nisan Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Stok

VERİ TABANI UYGULAMALARI

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış

Bilgi ve Olay Yönetim Sistemi

Veritabanı Tasarımı. DML İşlemleri ve Görünümler

Yedek Almak ve Yedekten Geri Dönmek

HASTANE OTOMASYONU VERİ TABANI YÖNETİM SİSTEMLERİ TEMEL VERİTABANI KAVRAMLARI

İLERİ VERİTABANI SİSTEMLERİ SUAT ÜSTKAN

Yedek Nasıl Alınır? "Veri Tabanı Yedekleme ve Geri Alma" butonunu tıklayınca aşağıdaki gibi bir ekran açılacaktır.

RPMNET WOLVOX REPORTER

11.DERS Yazılım Testi

MOBİL UYGULAMA GELİŞTİRME

meware GuardWare 3G Kullanım Kılavuzu

Microsoft SQL Server Sorgulama

e-not Sistemi Adnan Menderes Üniversitesi

Veritabanı Uygulamaları Tasarımı

Radyo Frekans Ayarları Klavuzu - ( )

PostgreSQL ve PL/pgSQL

BİLGİ GÜVENLİĞİ. Temel Kavramlar

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

VERİ TABANI PROGRAMCILIĞI DALI

FAKS SUNUCU EĞİTİM DÖKÜMANI

Tavsiye Edilen Önhazırlık Veritabanı kavramınıöğrenmek. Hedefler Shrink yapılmasının amacının kavranması. Shrink yapılma yöntemlerinin öğrenilmesi.

İşlem Yönetimi (Process Management)

Copyright 2012 EMC Corporation. All rights reserved.

VERİ TABANI YÖNETİM SİSTEMLERİ. Öğr. Gör. Selçuk Özkan

İlk Yayın Tarihi:

@6 SERİSİ ÜRÜN KURULUMU

SysMondPOS Kurulum ve Kullanım Klavuzu

AYDES PROJESİ MESAJ KUTUSU EĞİTİM DOKÜMANI

PostgreSQL ve PL/pgSQL

Bölüm 10: PHP ile Veritabanı Uygulamaları

DESTEK DOKÜMANI. Ürün : Tiger Enterprise/ Tiger Plus/ Go Plus/Go Bölüm : Kurulum İşlemleri

1. Oracle Data Miner 11g Release 2 Kurulumu Aşamaları

ANET YAZILIM LOG YÖNETİMİ. Karşılaştırma Tablosu ANET YAZILIM

Tavsiye Edilen Önhazırlık Veritabanı kavramını öğrenmek

LOGO İş Zekası çözümü ile kurumsal raporlama ve analizler. Cem Yılmaz Genel Müdür LOGOBI Yazılım

Bölüm 1: Veritabanı Yönetim Sistemlerine Giriş

VERİ TABANI YÖNETİM SİSTEMLERİ

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

SQL 2005 SQL STUDIO MANAGER ACP YAZILIMI KURULUM KILAVUZU

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

AKINSOFT. Eofis NetworkAdmin. AKINSOFT EOfis NetworkAdmin Kurulumu Bilgi Notu. Doküman Versiyon : Tarih : Copyright 2008 AKINSOFT

ANET YAZILIM LOG YÖNETİMİ. Karşılaştırma Tablosu ANET YAZILIM

CSA - BEKO YAZARKASA ARABİRİMİ AYAR VE BAĞLANTILARI BEKO YAZARKASALARINA UYUMLU

COMMIT: Oluşturulan transaction işlemi başarılı bir şekilde gerçekleştiğinde yapılan değişikliklerin veritabanına kalıcı olarak aktarılmasıdır.

Veritabanı Tasarımı. NOT NULL ve UNIQUE Kısıtlamaları Tanımlama

Picture 1 - Bağlantı Hatası Penceresi

Veritabanı Tasarımı. Kartezyen Çarpım ve Join İşlemleri

Veritabanı Yönetim Sistemleri I HAFTA 1

Erişim Makina. IFS Admin Kullanım Klavuzu. Umut Aytaç Mutlu

TeamBase5 BELEDİYE İLETİŞİM MERKEZİ SIEMENS

Veritabanı Tasarımı. Introduction to the Oracle Academy

Veri Tabanı Programlamaya Giriş

Veritabanı Güvenliği ve Savunma Algoritmaları

Türkiye Barolar Birliği internet sitesi

Asist Satış Yönetim Sistemi. Muhasebe Hesap Tanımları Sihirbazı

2 Temel Kavramlar (Devam) Veritabanı 1

VERİTABANI ORGANİZASYONU

ONLINE BA/BS SİSTEMİ. Tanıtım Dokümanı

bilişim ltd İş Zekâsı Sistemi

Tek veya Çalışma Grubu İş İstasyonu için WorldShip Yükseltmesi

TIGER PLUS ÜRÜN FARK DOKÜMANI

Güç Parmaklarınızın Ucunda

1 FULL STACK DEVELOPMENT NEDIR? 1 Nasıl Full Stack Developer Olurum? 2

Bilgi Güvenliği Farkındalık Eğitimi

VERİ TABANI YÖNETİM SİSTEMLERİ

Veritabanı Tasarımı. Sütun Değerlerini Güncelleme ve Satırları Silme

DergiPark Aktarım Süreci

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır.

Kılavuz içerisinde sisteme ait tüm özellikler anlatılmakta olup, yapacağınız konfigürasyonlar satın aldığınız lisans ile sınırlıdır.

KURUMSAL BİLGİ TEKNOLOJİLERİNDE PROFESYONEL ÇÖZÜMLER. i-gate E-DEFTER UYGULAMASI Bilgi Teknolojileri

DURMAZSOFT ERP KURULUM VE YAPILANDIRMA

PostgreSQL - Yeni dönemdeki yeri

STORED PROCEDURE LER (Saklı Yordamlar)

FĐŞLERDE KONTROL TARĐHĐ UYGULAMASI

08224 Sunucu İşletim Sistemleri

Transkript:

Ortak Zamanlılık ve Veri Hareketi (Data Transaction) 1

Transaction (Hareket) nedir? Bazı durumlarda, birden fazla işlem bir bütünün parçasıdır. Bu işlemlerden biri bile gerçekleşmese bütün işlemler anlamsız kalabilir Bu türden işlemlerin tamamının bir tek işlem gibi ele alınması gerekiyor demektir Parçalanamaz işlemlerin oluşturduğu yeni bir tek işleme transaction denir. O halde transaction, daha küçük parçacıklara ayrılamayan işlem bloğu demektir 2

Bir transaction bloğu SQL server tarafından şu şekilde ele alınır: 1. Transaction bloğu başlatılır. Bu andan itibaren yapılacak işlemlerin bütünsellik arzettiği ve her an tamamının geçersiz sayılabileceği deklare edilmiş olur. Bu işlem transaction log lar sayesinde desteklenir. Transaction bloğu çeşitli şekillerde başlatılabilir. Not: Log, işlem /hareket listesi anlamındadır. 3

Bir transaction bloğu SQL server tarafından şu şekilde ele alınır: 2. Transaction bloğu arasında yapılan her işlem bittiği anda başarılı olup olmadığına bakılır, başarılı olmadığı anda geri alım işlemine geçilir (ROLLBACK) Başarılı ise, bir sonraki işleme geçilir. Bu işlemde bazen kullanıcı tarafından yapılsa da genellikle ORACLE server tarafından yapılır. 3. Tüm işlemler tamamlandığı anda (veritabanı tekrardan tutarlı bir hale geldiğinde) COMMIT ile yeni hali ile sabitlenir Başarısız bir sonuç ise ROLLBACK ile en başa alınır ve bilgiler ilk hali ile sabitlenir. Bu iki ifade de Transaction ı bitirir 4

Banka işlemi örneği Bir kullanıcı başka bir kullanıcıya havale yaptığında ne olur? Öncelikle havale yapanın hesap bilgilerinden havale yaptığı miktar düşülür. Ardından alıcının hesabına bu miktar eklenir ve havale gerçekleşmiş olur. Ancak, her zaman şartlar istendiği gibi olmayabilir. Örneğin, gönderenin hesabından para düşüldüğü anda elektrik kesilebilir yada program takılabilir. Bu durumda ne olur? Gönderenin hesabından para düşülmüştür fakat alıcının hesabına geçmemiştir. Yani bir kısım paranın sahibinin kimliği kaybolmuştur. Bu da sistemin olası durumlar dışında veri kaybetmeye müsait bir hal alması demektir 5

ACID (Atomicity, Consistency, Isolation, Durability) Bir veritabanı veriler üstünde değişiklik yaparken ACID kuralını sağlamalıdır. Bu kurallar; 1. Atomicity (Bölünmezlik): Transaction bloğu yarım kalmaz. Ya hepsi gerçekleşmiş sayılır veya hiçbir işlem gerçekleşmemiş gibi kabul edilerek en başa dönülür. Yani, transaction daha küçük parçalara ayrılamayan bir işlem birimi olarak ele alınır 2.Consistency (Tutarlılık): Transaction veritabanının yapısını bozmadan işlem bloğunu terk etmelidir. Yani ara işlemler yaparken ürettiği işlem parçacıklarının etkisini veritabanında bırakarak, transaction ı sonlandıramaz. Örneğin, birinci hesaptan para azaltıp ikinci hesaba eklemeden transaction sonlandırılamaz 6

ACID (Atomicity, Consistency, Isolation, Durability) 3.Isolation (İzolasyon): Farklı transaction lar birbirinden ayrık ele alınmalıdır. Her transaction için veritabanının yapısı ayrı ayrı korunmalıdır. İlk transaction tarafından yapılan değişiklikler, ikinci transaction dan her an görülememeli, sadece bütün işlem gerçekleştiği anda ve bütünü bir anda görülmelidir 4. Durability (Dayanıklılık): Tamamlanmış transaction ın hatalara karşı esnek olması gerekir. Elektrik kesilmesi, CPU yanması, işletim sisteminin çökmesi bu kuralları uygulamaya engel olmamalıdır. Bunun içinde gerçekleşmiş ve başarılı olarak sonlanmış transaction ın değişikliklerinin kalıcı olarak diske yansıtılması gerekir 7

Sabitleme Noktaları Bazen, bir noktaya gelindikten sonra, işlemlerin buraya kadar olanını geçerli kabul etmek isteriz ama, bundan sonraki işlemler içinde transaction (geri alabilme seçeneğine) ihtiyaç duyarız. Bu türden durumlarda sabitleme noktalarından faydalanılır Bir sabitleme noktası başlatıldığı anda, işlem bloğunda bir şeyler ters giderse en başa dönme seçeneği saklı kalmak üzere, noktanın oluşturulduğu yere de dönme seçeneği sunar. Bu nedenle sabitleme noktaları kitap ipine benzetilir. Çünkü ORACLE Server ın hangi aşamaya dönebileceğini tanımlamamızı sağlar. 8

Sabitleme Noktaları Bir sabitleme noktası şu şekilde tanımlanır: SAVE TRANSACTION sabitleme_noktasi_adi Burada sabitleme noktasına bir ad vermek gerekir ki daha sonra herhangi bir anda ilgili sabitleme noktasına şu şekilde dönülebilsin: ROLLBACK TRAN sabitleme_noktasi_adi 9

Ortak Zamanlılık ve İzolasyon Seviyeleri Kurumsal manadaki bir veritabanı yönetim sistemi yazılımının aynı anda çok sayıda kullanıcıya ortak veriler üstünde çalışma olanağı sağlaması gerekir. Ortak zamanlı aynı anda aynı işle ilgili olmasa da, ortak zamanlarda ortak kaynaklardan iş yapmak anlamında kullanılan bir terimdir. Aynı makaleyi değerlendiren bir yazar ile bir editör ortak zamanlı çalışıyor demektir. Çünkü makale ortak kaynak konumundadır. Ancak ortak zamanlı kullanıcı desteğinde transaction blokları oluşturmanın doğurabileceği tanımlanmış sakıncalı durumlar vardır. Bu durumlar ortak zamanlılık problemleri olarak ele alınır. 10

İzolasyon Sağlamak Farklı transaction ları aynı anda yönetirken, erişilen kaynaklardaki değişimlerin bir diğer transaction tarafından görünebilirliğini veya aynı anda yansıtılabilir olmasını ayarlamak için iki temel yöntem kullanılır; Kilitleme ve Satır Versiyonlama Kilitleme temelli olarak sağlanan ortak zamanlılıkta, her bir transaction farklı büyüklükte kaynak kilitleyebilir. Bir transaction bitimine kadar,bir satırı, bir sayfayı veya bir tablonun tamamını başka transaction ların erişimine kapatabilir 11

İzolasyon Sağlamak Transaction başladığı anda verilerin transaction için bir mantıksal kopyası oluşur. Daha sonra bu veriler üstünden değişimleri takip ettiği için ayrıca gerçek verileri dışarıya karşı kilitleme gereksinimi ortadan kalkar. Böylece özellikle okumalar tarafından engellenen diğer transactionlar nedeniyle ortaya çıkacak, kilitlemelerin önüne geçilmiş olur 12