25 Kasım 2010 Perşembe

Oracle Mimarisi-1


ORACLE MİMARİSİNE GİRİŞ

Oracle veritabanı da diğer ilişkisel veritabanları gibi verilerle beslenir ve bu verilerin birbiri arasındaki senkronizasyonunu tutarak optimum şekilde depolanmasını ve istenilen amaçlara gore sorgulanmasını amaçlamaktadır. Veritabanları, bilişim projeleri ve bilgi yönetiminde en temel faktördür.  Çünkü veri, her projelerin temel yapı taşıdır ve bütün bu gelişen sistemler, veriden optimum fayda sağlamak ve bir nevi ham veriyi optimum şekilde yöneterek ideal stratejiler oluşturma amaçıyla inşa edilmektedir.
Oracle veritabanı, yapı olarak fiziksel ve mantıksal olmak üzere iki kısımdan oluşur. Bu yapılar birbirinden ayrı olduğu için verilerin fiziksel olarak depolanma şekli mantıksal yapıya erişimi etkilemez.
Mantıksal Veritabanı Yapıları

Oracle veritabanındaki mantıksal yapılar tablespaceler, şemalar, segmentler, extentler, veri blokları’dır.

Şemalar ve Şema Nesneleri
Şema, nesneleri kapsayan bir yapıdır ve şema nesneleri veritabanı verilerine doğrudan karşılık gelen mantıksal yapılardır. Bir şema, direk veritabanı kullanıcısına tekabül eder ve aynı ismi taşır. Mesela A şirketi bünyesinde “proje takip sistemi” adında bir proje yapılacaksa, bu proje için örnek olarak ‘PRTAKIP’ adında bir şema oluşturulur. Bu şema (ileride anlatılacak olan) tablo,view,paket,prosedür v.s. gibi şema nesnelerinden oluşur. Proje kullanıcıları ‘PRTAKIP’  adıyla ve bu şemaya atanmış şifre ile veritabanına bağlanarak işlem yaparlar. Şema nesnelerinin detayına indiğimizde konu biraz daha netlik kazanacktır.

Tablolar : Veritabanında saklanacak olan verilerin depolandıpı temel birimdir. Tablolar, kullanıcılar tarafından erişilecek verilerin tümüne sahiptir. Veriler, tablolarda satırlar(rows)/sütünlar(columns) mantığıyla saklanır. Her sütünun adı, niteliği, türü gibi özellikleri vardır. Şöyle bir örnekle daha açık anlaşılacaktır. Okullarda bulunan öğrenci listelerini bir tablo gibi düşünürsek; ‘Öğrenci No’, ‘Adı’ ve ’Soyadı’ sütunları vardır. Bunlar tablonun sütun(column)’larıdır. Altındaki veriler ise 2567, Ercan, Yazgan şeklinde tutulan kayıtlar ise satırlar(rows)’dır.

Viewler : Bir veya daha fazlo tablodaki verilerin özelleşmiş gösterimidir. Bir nevi saklanmış sorgular olarak da tanımlayabiliriz. Viewler fiziksel olarak veri içermezler. Adı üzerinde, verinin asıl kaynağı olan tablolardan çekilen verilerin özel bir görüntüsüdür. Fakat aynı tablolar gibi üzerinde ekleme slime güncelleme gibi işlemlere olanak tanırlar. Bunu da bir örnekle açıkayacak olursak; ‘Öğrenciler’ ve ‘Alınan_Dersler’ isimli iki tablomuz olsun. Biz matematik ve Fizik derslerinde notu 70’ten yüksek olan öğrencileri  özel bir şekilde saklamak istiyoruz. Bunun için ‘Basarililar’ isminde bi view oluşturarak bu gruba ait özel işlemler için, bu verileri özel bir sorgu vasıtasıyle ilgili tablolardan çekip böyle bir view’de tutmuş oluruz.
İndexler : Aranan verinin daha hızlı bulunabilmesi ve kullanıcıya döndürülmesi için anahtar(key) değer mantığı ile çalışırlar. Mantıksal ve fiziksel olarak veriyle bir alakası yoktur. Bir indeks, diğer indeks veya tabloları etkilemeden oluşturulabilir veya yok edilebilir. Oluşturulma amacı, veriye erişim performansını artırmaktır. Oracle indeksi, mimari itibarıyle herhangi bir tablodaki veriye direkt erişim yolu sağlar. İndeksler, bir tablonun belli bir kısmını veya belli bir satırı sorgulamak istediğimizde işe yarar. Örnekle açıklayacak olursak, ‘Öğrenci’ tablosu üzerinde, adı ‘E’ ile başlayanlar şeklinde bir indeks oluşturulabilir. Bu sayede, sorgu çalıştığı zaman tablonun tüm verilerini değil sadece adı ‘E’ ile başlayanlar yanıt olarak dönecektir ve bu da büyük ölçekli projeler bazında düşündüğümüzde büyük performans sağlayacaktır. İndeksler, oluşturulduktan sonra Oracle tarafından otomatik olarak gözlemlenir ve kullanılır. Herhangi bir tablo üzerinde yapılan değişiklikler otomatik olarak ilişkili indeksler üzerine de yansıtılır

Hiç yorum yok:

Yorum Gönder