VT Sistem Gerçeklemesi Ders Notları- #12



Benzer belgeler
VT Sistem Gerçeklemesi Ders Notları- #14

VT Sistem Gerçeklemesi. Ders Notları- #8

MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ

VT Sistem Gerçeklemesi Ders. Notları- #7. Sorgu İşleme

Bilgilerin Uzun Vadeli Saklanması

Advanced Oracle SQL Tuning

BLG 312 Bilgisayar İşletim Sistemleri 2006 BLG 312. Bilgilerin Uzun Vadeli Saklanması. Dosya Sistemi Görevleri. Dosya Sistemi Özellikleri

Dosyaların Özellikleri (Attribute) Dosya İşlemleri. İki Seviyeli Katalog Sistemleri. Tek Seviyeli Katalog Sistemleri. Hiyerarşik Katalog Sistemleri

VERİ TABANI YÖNETİM SİSTEMLERİ Melih BÖLÜKBAŞI

Fiziksel Veritabanı Modelleme

SQL Komutları (2) Uzm. Murat YAZICI

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

Veritabanı Tasarımı. İndeksler ve Eşanlamlar

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

Veritabanı Tasarımı. Tablo Oluşturma

VERİTABANI. SQL (Structured Query Language)

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

VT Sistem Gerçeklemesi Ders Notları- #11

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

BÖLÜM- 8: DİĞER ŞEMA NESNELERİNİ OLUŞTURMA

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

VERİTABANI Veritabanı Yönetimi

Veri Tabanı Yönetim Sistemleri Bölüm - 7

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

Veritabanı. Ders 2 VERİTABANI

VT Gerçeklenmesi Ders Notları- #6

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

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

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

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

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

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

VT Gerçeklenmesi Ders Notları-

ACCESS PLATFORMUNDA SQL

BİLİŞİM TEKNOLOJİLERİ

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

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

BÖLÜM 11. YAPISAL SORGULAMA DİLİ (SQL) Amaçlar:

EBE-368 Veri Tabanı Yönetim Sistemleri İlişkisel Model (The Relational Model)

DML işlemleri. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı May Öğr. Gör. Murat KEÇECĠOĞLU



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

VT Gerçeklenmesi Ders Notları- #3

SELÇUK ÜNİVERSİTESİ BOZKIR MESLEK YÜKSEKOKULU VERİTABANI-II DERSİ FİNAL SINAVI

Veritabanı Yönetimi Bilgisayarların. Keşfi Hedefler. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi

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

YAPISAL SORGULAMA DİLİ (SQL)

Microsoft SQL Server Sorgulama

SQL Kod ile Tablo Oluşturma

Algoritmalar. Heap Sort. Bahar 2017 Doç. Dr. Suat Özdemir 1

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir.

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

SQL'e Giriş 2. CREATE TABLE tabloadı (kolon isimleri ve veri türleri) (BOLUM_NO NUMBER, BOLUM_ADI CHAR(10));

Veri tabanı içinde bulunan tablolardakibazı sütunlarda bulunan bilgilerin, herkes tarafından görülmesi istenmeyebilir.

VERİTABANI ve YÖNETİMİ

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

Oracle da kullanılan veri tipleri:

Tekrar. Veritabanı 2

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

1 Temel Kavramlar. Veritabanı 1

DİSK DEPOLAMA ALANLARI

İÇİNDEKİLER BİRİNCİ BÖLÜM BİLGİSAYARDA BELGE AÇMAK VE TEMEL İŞLEMLER YAPMAK

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

YAPISAL SORGULAMA DİLİ. BARIŞ ARIBURNU barisariburnu.com

Maltepe Üniversitesi Endüstri Mühendisliği Bölümü Veri Tabanı Yönetimi (END 210)

T.C GAZİ ÜNİVERSİTESİ BİLİŞİM ENSTİTÜSÜ YÖNETİM BİLİŞİM SİSTEMLERİ ANA BİLİM DALI MS SQL KOMUTLARI VE MS SQL KOMUTLARI İLE İLGİLİ UYGULAMALAR

1 Temel Kavramlar. Veritabanı 1

Bilgi Teknolojisi ve Muhasebe Bilgi Sistemi 6-1

Aşağıdaki programı inceleyip ekrana ne yazacağını söyleyebilir misiniz?

İNTERNET PROGRAMCILIĞI HAFTA. MYSQL ile VERİTABANI İŞLEMLERİ - 1. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Veritabanı Oluşturma, Silme

COĞRAFİ BİLGİ SİSTEMLERİ İLERİ SEVİYE EĞİTİMLERİ ARCGIS SCHEMATİCS EĞİTİMİ

Bölüm 4: DDL Veri Tanımlama Dili

SQL (Structured Query Language)

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

BÖLÜM -6: VERİLERİ DEĞİŞTİRMEK

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar

Çok tablolu sorgulamalar

MOBİL UYGULAMA GELİŞTİRME

Başlat>Programlar>ABAQUS 6.6-1>ABAQUS CAE

Basit SQL Sorguları Veritabanından verilerin SELECT cümleleri ile alınması işlemine sorgulama denir.

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

Öğr.Gör.Murat KEÇECĠOĞLU. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

ELN1001 BİLGİSAYAR PROGRAMLAMA I

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

VERİ TABANI ve YÖNETİMİ

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

İÇİNDEKİLER 1 SENARYO 1

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

İNTERNET TABANLI PROGRAMLAMA- 12.ders

PostgreSQL Veritabanı Sunucusu. 8.2 neler getiriyor?

EXISTS VE NOT EXISTS fonksiyonları

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS. Veri Organizasyonu ve Yönetimi BIL

1 RUBY HAKINDA 1 Ruby nin Gelişim Hikayesi 1 Neden Ruby? 1 Neden Bu Kadar Popüler? 2

Transkript:

VT Sistem Gerçeklemesi Ders Notları- #12 Somut görüntünün amacı ve kullanımı Kontrollü Bilgi tekrarı Bakım Denormalizasyon yerine kullanımı Görüntü seçimindeki kriterler Sorgu işlemede somutlaştırma Somutlaştırma maliyeti Somutlaştırma gerçeklemesi 1

Büyük VT (Large databases) Verimli,hızlı erişim için bazı yardımcı yapılara ihtiyacımız var: İndeksleme Arama anahtarları ile ana dosyaya daha hızlı erişim Somut Görüntüler (Materialized view) Sorgu sonuçlarının geçici tablolarda saklanması Maaliyet: Yer kaybı Bakım 2

Bilgi Tekrarı (Redundancy) eid enroll N 1 ec course cid grade N es 1 sectid section prof N cs yearoffered 1 title Enroll ( eid, sectionid, grade) Enroll ( eid, sectionid, courseid grade) Section (sectid, courseid, prof, yearoffered) Course (cid, title) Bilgi Tekrarı, sorgu işleme hızı noktasından iyi Bilgi takrarı, tasarım kalitesi oktasından kötü (yenileme anormallikleri) 3

«Kontrollü» bilgi tekrarı: Somut Görüntü (Materialized views) Indeksleme (Indexes) Sorgu işlemede görüntüler: Normal görüntü: Görüntü tanımı, sorgunun bir parçası olarak çalıştırılır. Son Kullanıcı odaklı Tipik kullanımı: Dış şema (external schema) tanımları Bakım: yok Somut Görüntü: Görüntü doğrudan çalıştırılır, elde edilen çıktı tablosu (geçici tablo) sonraki sorgularda ihtiyaca göre tekrar kullanılır. (reusibility) Sistem odakli Bakım: VTYS tarafından otomatik faydalı somut görüntü: «Getirdiği sorgu işleme kazancı > bakım maaliyeti» Görüntünün kullanım sıklığı Bilgi yenileme sıklığı VT tasarımcısı somut görüntülerin tanımlanması ve gerektiğinde çıkarılmasından sorumlu.. Önceki sayfada tanımlanabilecek somut görüntü: 4

Bakım: Somut görüntüyü oluşturan tablolardaki olası değişikliklerin görüntüye yansıması: Mevcut görüntüyü sil, yeniden oluştur. Artımlı yenileme (Incremental update) Updates on STUDENT: insert into STUDENT <r> delete from STUDENT <r> modify <r> in STUDENT Updates on ENROLL: insert into ENROLL <r> delete from ENROLL <r> modify <r> in ENROLL 5

Somut görüntü / denormalizasyon Denormalizason, normalize edilmiş tabloların bazılarının, verimlilik amacıyla, birleştirilip (join) oluşturulmasıdır. normalize şema + Somut görüntüler = hızlı sorgulama Ne? Sorgu eniyileyici Nasıl? 6

En verimli görüntünün belirlenmesi: Karmaşık ve çok tablo içeren somut görüntü Az sayıda karmaşık sorgular için çok verimli çalışma planları Fakat küçük sorgular için kullanışsız.. Kullanım ihtimali düşük Az tablo içeren basit somut görüntüler Çok sayıda sorgu için kullanışlı fakat Sorgu verimine katkısı az.. Kullanım ihtimali yüksek Seçim kriteri: Hedef sorguların kullanım sıklığı Somut görüntünün içerdiği tabloların değişim sıklığı 7

Sorgu işlemede somutlaştırma: Bir sorguya ait altsorgu çıktısının geçici bir tabloda saklanmasıdır. VT da SIRALAMA (SORT) işleminde kullanılır. (ORDER, GROUP BY, JOIN) Sıd Sname GradYear MajorId 1 Joe 2004 10 2 Amy 2004 20 3 Max 2005 10 4 Sue 2005 20 5 Bob 2003 30 6 Kim 2001 20 7 Art 2004 30 8 Pat 2001 20 9 lee 2004 10 Örnek: Group by: Sıralama her grup üzerinde aggr. fonksiyonun çalıştırılması Bakım/Maliyet: Geçici tablonun (somut tablo) oluşturulması için ekstra disk erişimi Geçici tablonun kullanımında erişim için ekstra disk erişimi Önişlemede somut tablo oluşturmayı gereksiz kılacak sorgular olabilir. (Kullanıcının sadece 1-2 kayda erişmek istemesi gibi) Sıd Sname GradYear MajorId 6 Kim 2001 20 8 Pat 2001 20 5 Bob 2003 30 1 Joe 2004 10 2 Amy 2004 20 7 Art 2004 30 9 lee 2004 10 3 Max 2005 10 4 Sue 2005 20 GradYear 2001 2 2003 1 2004 4 2005 2 ÖNİŞLEME (somut tablo) CountOfSId 8

Sorgu işlemede somutlaştırma: Boru hattı sorgu işlemede, bir operasyon sonucu elde edilen kayıtlar saklanmıyordu. Önceki bir kayda erişmek için ilgili altsorgu tekrar çalıştırılmalı idi. (KatalogYonetimi/Sunu:8 deki değerler): 2005 de, 900 STUDENT kaydı 50.000 ENROLL blok 4500 STUDENT blok ENROLL tablosunda 14 farklı GRADE Maliyet 4500 + 900*50.000 = 45.004.500 blok erişimi Maliyet Somut Tablo: 3572 blok Somut tablo oluşturma maliyeti: 53.572 53.572 + (4500 + 900*3572) = 3.272.872 blok erişimi 9

Somutlaştırma maliyeti Somut tablo maliyeti: P2, T2ti Önişleme maliyeti «T2 sorgu ağacının maliyeti» + «geçici tabloya yazma maliyeti» Somut tablo taraması=«geçici tablodaki blok sayısı» Örnek: Somut tablo B bloktan oluşursa: Önişleme maliyeti= «T2 sorgu ağacının maliyeti» + B Somut tablo taraması =B MaterilizedPlan maliyet fonksiyonları: blocksaccessed() = somut düğümdeki (temp_file) blok sayısı=b (önişleme maliyeti ihmal edilebilir) B= ceiling [p2.recordsoutput() /floor [BLOCK_SIZE/T2ti.recordsLength()]] recordsoutput() = p2.recordsoutput(); distinctvalues(f) = p2.distinctvalues(f) 10

Katalogda kaydı yoktur. İşi bitince sistem tarafından silinir. Veri kurtarma modülü tarafından takip edilmez. Geçici tablo 11

Somutlaştırma operasyonunun (materialize(q) =Q) gerçeklenmesi 12