VT Gerçeklenmesi Ders Notları- #6

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

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

VT Gerçeklenmesi Ders Notları-

VT Gerçeklenmesi Ders Notları- #3

VT Sistem Gerçeklemesi Ders Notları- #11

Veri Tabanı-I 5.Hafta

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İ

1 Temel Kavramlar. Veritabanı 1

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

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

LINQ (Temel Kavramlar)

Üst Düzey Programlama

VT Sistem Gerçeklemesi Ders Notları- #12

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

Veri Tabanı Hafta Dersi

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

Fiziksel Tasarım Konuları. Dosya Organizasyon Teknikleri Kayıt Erişim Yöntemleri Veri Yapıları

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

1 Temel Kavramlar. Veritabanı 1

Fiziksel Veritabanı Modelleme

Konular. Hafta 5 Veri Tipleri (Devam) BLG339 PROGRAMLAMA DİLLERİ KAVRAMI

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

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

Swing ve JDBC ile Database Erişimi

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

DOSYA ORGANİZASYONU. Sıralı erişimli dosya organizasyonu yöntemleri ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

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

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

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar

Bilgilerin Uzun Vadeli Saklanması

MOBİL UYGULAMA GELİŞTİRME

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

Yrd. Doç. Dr. Caner ÖZCAN

Veritabanı Yönetim Sistemleri (Başarım Eniyileme Performance Tuning)

Veritabanı Yönetim Sistemleri, 2. basım Zehra ALAKOÇ BURMA, 2009, Seçkin Yayıncılık

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

VERİ TABANI YÖNETİM SİSTEMLERİ II. 9. FORMLAR ve ORACLE FORMS PROGRAMINDA FORM OLUŞTURMA

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat

MySqlConnection connection; MySqlCommand command; MySqlDataReader reader; MySqlDataAdapter adapter; DataTable table;

Veritabanı. Ders 2 VERİTABANI

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

Eln 1002 Bilgisayar Programlama II

İşletim Sistemlerine Giriş

Veritabanı Tasarımı. Tablo Değiştirme

Veritabanına Uygulanması

Veritabanı Tasarımı. Tablo Oluşturma

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

R ile Programlamaya Giriş ve Uygulamalar

License. Veri Tabanı Sistemleri. Konular büyük miktarda verinin etkin biçimde tutulması ve işlenmesi. Problem Kayıt Dosyaları

VERİ TABANI ve YÖNETİMİ

Dosya Saklama Ortamları (Sabit Diskler) Kütük Organizasyonu 1

VERİ TABANI UYGULAMALARI

Veritabanı ve Yönetim Sistemleri

Tekrar. Veritabanı 2

Veri Tabanı Hafta Dersi

Veritabanı Yönetim Sistemleri

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

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

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

Bölüm 11: Dosya Sistem Gerçekleştirilmesi

Veri Tabanı Hafta Dersi

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

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

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

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

UZAKTAN EĞİTİM MERKEZİ

Length: metin uzunluğunu yada diğer bir deyişle dizi elaman sayısını döndürür.

Bilgi Servisleri (IS)

VIEW LERDE SQL HINT KULLANIMI

Ders Tanıtım Sunumu. Database Managegement II. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

MongoDB. Doğan Aydın. Eylül, 2011

EROL AKGÜL

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

Yrd. Doç. Dr. Caner ÖZCAN

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

Advanced Oracle SQL Tuning

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

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

YAZILIM PAKETLERİ İLETİŞİM BİLGİLERİ. Dr. Gürbüz MIZRAK Telefon: E-posta:

Bölüm 8: Ana Bellek. Operating System Concepts with Java 8 th Edition

İLİŞKİSEL VERİTABANLARI

Android ile SQLLite Veri Tabanı

VERİTABANI Veritabanı Yönetimi

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.

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA

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

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

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

Oracle da kullanılan veri tipleri:

Sıralı Erişimli Dosyalar. Kütük Organizasyonu 1

YZM VERİ YAPILARI DERS#9: HASH FONKSİYONLARI

Bilgisayar Uygulamaları. MySql

ELIF KIOTZEOGLOU RESUL MURAD MERT PACOLARI

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

VERİ TABANI ve YÖNETİMİ

ALGORİTMA VE PROGRAMLAMA II

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) İlişkisel Veritabanı Modeli

PAPERWORK TEKNİK MİMARİ

BİL-142 Bilgisayar Programlama II

Sunum İçeriği. Programlamaya Giriş

Transkript:

VT Gerçeklenmesi Ders Notları- #6 Remote: Kullanıcıdan gelen JDBC isteklerini karşılar. Planner: SQL ifadesi için işleme planı oluşturur ve karşılık gelen ilşkisel cebir ifadesini oluşturur. Parse: SQL ifadesindeki tablo, nitelik ve ifadeleri ayrıştırır. Query: Algebra ile ifade edilen sorguları gerçekler. Metadata: Tablolara ait katalog bilgilerini organize eder. Record: disk sayfalarına yazma/okumayı kayıt seviyesinde gerçekler. Transaction&Recovery: Eşzamanlılık için gerekli olan disk sayfa erişimi kısıtlamalarını organize eder ve veri kurtarma için kayıt_defteri (log) dosyalarına bilgi girer. Buffer: En sık/son erişilen disk sayfalarını ana hafıza tampon bölgede tutmak için gerekli işlemleri yapar. Katalog, Üstveri (Metadata) yönetimi Tablo (Table) Görüntü (View) İndeks (Index) Statistiksel (Statistical) Log: Kayıt_defterine bilgi yazılmasını ve taranması işlemlerini düzenler. File: Dosya blokları ile ana hafıza sayfaları arasında bilgi transferini organize eder. 1

Üstveri (Metadata) Bundan önce; veri tabanı tablosu (relation) yoktu. Kayıtların oluşturduğu yeni yapı: TABLO ( relation) Üstveri tipleri: Tablo üstverisi: Şema ve fiziksel özellikleri. Kayıt yöneticisi tarafından tutulan bilgi. Görüntü üstverisi: Görüntü tanımı ve kimin oluşturduğu. Planlamada kullanılır. İndeks üstverisi: Tablo üzerinde oluşturulan indeksler hakkında bilgi. Planlamada kullanılır. İstatistik üstverisi: Tablo büyüklüğü, niteliklerdeki değer dağılımı. Sorgu maliyeti tahmininde kullanılır. Üstveri bilgileri KATALOG adı verilen tablolarda saklanır. Tablo üstverisi: tblcat ( tblname, reclength) fldcat (tblname, fldname, type, length, offset) Görüntü üstverisi: viewcat (viewname, viewdef) İstatistik üstverisi: tblstats( tblname, numblocks, numrecords) fldstats (tblname, fldname, numvalues) İndeks üstverisi: idxcat ( indexname, tablename, fieldname) SimpleDB de disk yerine, ana hafızada gerçekleniyor. 2

MetadataMgr sinifi için API SimpleDB sistemi içinde 1 adet «mdmgr» sınıfı var. 3

TableMgr tblcat ( tblname, reclength) fldcat (tblname, fldname, type, length, offset) in char JDBC types. 4:int, 12: string 4

TableMgr gerçeklenmesi 5

ViewMgr gerçeklenmesi viewcat (viewname, viewdef) 6

StatMgr Sorgu işleyicinin ihtiyacı olan bilgiler: Tablodaki kayıt sayısı Nitelik değer dağılımı Nitelik/değer histogramları Nitelikler arası korelasyon değerleri SimpleDB de: B(T) : T, Tablosundaki blok sayısı R(T) : T, Tablosundaki kayıt sayısı V(T,F): T, Tablosunun, F niteliğindeki farklı değer sayısı 7

University veri tabanına ait bazı istatistikler Elimizdeki bilgiler: 40 depts 500 courses 900 students/year 500 sections/year 50 years 10 studentrecord/block 20 dept_record/block 8

StatMgr gerçeklenmesi İstatistik katalogları: tblstats( tblname, numblocks, numrecords) fldstats (tblname, fldname, numvalues) SimpleDB de sistem ilk çalıştığında istatistikler hesaplanıp ana hafızada tutulur. Bu StatMgr sınıfı ile gerçeklenir.. Bilginin yenilenmesi Her eylem sonrası Biriktirip tazeleme 9

StatMgr gerçeklenmesi 10

Sıralı idx blokları Level-1 Level-0 T, Veri dosyası Level-h Indeksleme "T" tablosunda, "n" niteliği üzerinde bir indeks görüntüsü. Indeks dosyasının şeması: (dataval, block,id) dataval: "n" niteliğine ait dosyadaki değerler block: "T" dosyasındaki (dataval,rid) rid=block, id blok numarası id: blok içerisindeki slot id.

IndexMgr idxcat ( indexname, tablename, fieldname) Her bir index e ait üstveri, IndexInfo sınıfı ile temsil edilir.. 12

IndexMgr gerçeklenmesi 13

IndexInfo "I": "T" veri tablosunun "n1" niteliği üzerindeki indeks tablosu olsun. "I" için IndexInfo: "I" hakkındaki istatistiksel bilgi tutan nesne. Ihtiyaç duyulduğu zaman run-time'da oluşturuluyor. blocksaccessed(): Bu Indeks üzerinden veri dosyasındaki bir konuma ulaşmak için indekste kaç disk blok erişimi oldu? recordsoutput(): Bu indeks üzerinden bir "selection" (n=constant) ile kaç rid ortaya çıkar (kaç kayda erişilebilir)? distinctvalues(n2): Bu indeks üzerinden bir "selection" (n1=constant) ile kaç farklı "n2" nitelik değeri ortaya çıkar?

IndexMgr-IndexInfo gerçeklenmesi public int blocksaccessed() { TableInfo idxti = new TableInfo("", schema()); int rpb = BLOCK_SIZE / idxti.recordlength(); int numblocks = si.recordsoutput() / rpb; // Call HashIndex.searchCost for hash indexing return HashIndex.searchCost(numblocks, rpb); } 15

recordsoutput(), distinctvalues(fieldname) x... y 2 a 2 b 2 a 2 b Tabloya ait StatInfo = si si.recordsoutput() = 100 si.distinctvalues( x ) = 25 si.distinctvalues( y ) =2 olsun... Fieldname= x üzerindeki index e ait: recordsoutput()= 100/25 = 4 distinctvalues( x ) = 1 distinctvalues( y ) = 2 Fieldname= y üzerindeki index e ait: recordsoutput()= 100/2 = 50 distinctvalues( x ) = 25 distinctvalues( y ) = 1 16

MetadataMgr gerçeklenmesi 17