ISAM - ISAM

ISAM (bir kısaltma için dizinli sıralı erişim yöntemi) oluşturmak, sürdürmek ve manipüle etmek için bir yöntemdir bilgisayar dosyaları Kayıtların bir veya daha fazla sayıda sırayla veya rastgele olarak alınabilmesi için verilerin anahtarlar. Gerekli dosya kayıtlarının hızlı bir şekilde alınmasını sağlamak için anahtar alanların dizinleri korunur. Dizine alınmış dosyalar. IBM başlangıçta ISAM için geliştirildi ana bilgisayar bilgisayarlar ancak uygulamalar çoğu bilgisayar sistemi için mevcuttur.

Dönem ISAM birkaç ilgili kavram için kullanılır:

  • IBM ISAM ürünü ve algoritma iş veriyor.[1]
  • Bir veri tabanı bir uygulama geliştiricisinin doğrudan bir uygulama programlama Arayüzü veri dosyalarındaki kayıtları bulmak için dizinleri aramak için. Aksine, bir ilişkisel veritabanı kullanır sorgu iyileştirici otomatik olarak dizinleri seçen.[2]
  • Verilere hem sıralı hem de anahtarlı erişime izin veren bir indeksleme algoritması.[3] Çoğu veritabanı, B ağacı bu amaçla, orijinal IBM ISAM ve VSAM uygulamalar bunu yapmadı.
  • Çoğu zaman, bir veritabanı için herhangi bir dizin. Dizinler neredeyse tüm veritabanları tarafından kullanılmaktadır.

Organizasyon

Bir ISAM sisteminde veriler şu şekilde düzenlenir: kayıtları sabit uzunluklu alanlardan oluşan, orijinal olarak sıralı olarak tuş dizisinde saklanan. İkincil kayıt kümeleri; dizinler, tüm veri setini aramak zorunda kalmadan tek tek kayıtların alınmasına izin vererek her kaydın konumuna işaretçiler içerir. Bu çağdaş olandan farklıdır gezinme veritabanları, diğer kayıtların işaretçilerinin kayıtların içinde saklandığı. ISAM'deki en önemli gelişme, dizinlerin küçük olması ve muhtemelen tamamen bellekte hızlı bir şekilde aranabilmesidir, böylece veritabanının yalnızca ihtiyaç duyduğu kayıtlara erişmesine izin verir. Veriler üzerinde yapılan ek değişiklikler, diğer verilerde değişiklik yapılmasını gerektirmez, yalnızca söz konusu tablo ve dizinlerde değişiklik gerektirir.

Bir ISAM dosyası oluşturulduğunda, dizin düğümleri sabitlenir ve daha sonra gerçekleşen ekleme ve silme işlemleri sırasında bunların işaretçileri değişmez (yalnızca yaprak düğümlerinin içeriği daha sonra değişir). Bunun bir sonucu olarak, bazı yaprak düğümlere yapılan eklemeler düğümün kapasitesini aşarsa, yeni kayıtlar taşma zincirlerinde saklanır. Bir tablodan silinmelerden çok daha fazla ekleme varsa, bu taşma zincirleri kademeli olarak çok büyük hale gelebilir ve bu, bir kaydın alınması için gereken süreyi etkiler.[4]

İlişkisel veritabanları Tablolar arasındaki bağlantıların geçerliliğini korumak için mantığın eklenmesiyle bir ISAM çerçevesi üzerine kolayca inşa edilebilir. Tipik olarak bağlantı olarak kullanılan alan, yabancı anahtar, hızlı arama için dizine eklenecek. Bu, ilgili verilere yönelik işaretçiyi doğrudan kayıtlarda depolamaktan daha yavaş olsa da, aynı zamanda verilerin fiziksel düzenindeki değişikliklerin işaretçilerin güncellenmesini gerektirmediği anlamına gelir - giriş yine de geçerli olacaktır.

ISAM, öncelikle bir veritabanı dosyasına doğrudan erişimden oluştuğu için anlaşılması ve uygulanması kolaydır. Takas, her istemci makinesinin eriştiği her dosyaya kendi bağlantısını yönetmesi gerektiğidir. Bu da, bu dosyalara çakışan ekleme olasılığına yol açarak tutarsız bir veritabanı durumuna yol açar. Bu genellikle bir müşteri sunucusu Müşterinin taleplerini düzenleyen ve siparişi sürdüren çerçeve. Bu, bir veritabanı Yönetim sistemi (DBMS), temeldeki veri deposu üzerinde bir istemci katmanıdır.

ISAM, IBM'de adı verilen bir metodoloji ile değiştirildi VSAM (sanal depolama erişim yöntemi). Yine daha sonra, IBM geliştirdi DB2 2004 itibariyle IBM, veritabanı Yönetim sistemi. VSAM, DB2'de kullanılan fiziksel erişim yöntemidir.[kaynak belirtilmeli ]

OpenVMS

OpenVMS işletim sistemi kullanır Dosyalar-11 RMS ile bağlantılı dosya sistemi (Kayıt Yönetim Hizmetleri ). RMS, uygulama ile diskteki dosyalar arasında tutarlı bir veri organizasyonu yöntemi ve birden çok 3GL ve 4GL dilinde erişim sağlayan ek bir katman sağlar. RMS, verilere erişim için dört farklı yöntem sağlar; sıralı, göreceli kayıt numarası erişimi, kayıt dosyası adresi erişimi ve indeksli erişim.

Verilerin okunmasına veya yazılmasına ilişkin dizinlenmiş erişim yöntemi, yalnızca, dosya aslında uygun, önceden tanımlanmış anahtarlarla bir ISAM dosyası olarak düzenlenmişse istenen sonucu sağlar. Önceden tanımlanmış anahtarlar aracılığıyla verilere erişim son derece hızlıdır. Çoklu anahtarlar, çakışan anahtarlar ve karma tablolarda anahtar sıkıştırması desteklenir. Mevcut dosyalardaki anahtarları tanımlamak / yeniden tanımlamak için bir yardımcı program sağlanır. "Atık toplama" ayrı bir yardımcı program aracılığıyla yapılsa da kayıtlar silinebilir.

Tasarım konuları

ISAM, bilgisayar hafızası kıt bir kaynaktı. Buna göre IBM, sistemi minimum miktarda bellek kullanacak şekilde tasarladı. Takas şuydu: Giriş / Çıkış kanalı, kontrol ünitesi ve disk daha yoğun tutuldu. Bir ISAM dosyası, bir veri kayıtları koleksiyonundan ve iki veya üç seviyeli dizinden oluşur. iz dizini her biri için en yüksek anahtarı içerir disk izi üzerinde silindir endeksler. silindir indeksi en yüksek anahtarı bir silindirde depolar ve disk adresi ilgili parça indeksinin. İsteğe bağlı ana dizin, genellikle yalnızca büyük dosyalar için kullanılır, silindir dizin yolundaki en yüksek anahtarı ve bu silindir dizininin disk adresini içerir. Bir dosya yüklendikten sonra veri kayıtları taşınmaz; eklenen kayıtlar ayrı bir taşma alanı. Bir kaydı anahtara göre bulmak için diskteki indeksler bir kompleks tarafından aranır. kendini değiştiren kanal programı.[5] Bu, kanalın, kontrol ünitesinin ve diskin meşgul süresini artırdı. Daha sonraki sistemlerde artan fiziksel ve sanal bellek boyutları ile bu verimsiz olarak görüldü ve VSAM, bellek kullanımı ile disk etkinliği arasındaki değiş tokuşu değiştirmek için geliştirildi.

ISAM'ın kendi kendini değiştiren kanal programlarını kullanması daha sonra CP-67 desteği OS / 360 CP-67, G / Ç işlemi başladığında ve sanal adresleri gerçek adreslere çevirdiğinde tüm bir kanal programını sabit belleğe kopyaladığından beri.[6]

ISAM tarzı uygulamalar

Ayrıca bakınız

Referanslar

  1. ^ Chin, Y.H. (1975). "VSAM'ın boş alan davranışının analizi". VLDB '75: 1. Uluslararası Çok Büyük Veri Tabanları Konferansı Bildirileri: 514–515.
  2. ^ Bogue, Robert L. (2004-02-13). "ISAM ve ilişkisel veritabanları arasındaki farkları keşfedin". Alındı 17 Ekim 2014.
  3. ^ Larson, Per-Åke (1981). "Dizin sıralı dosyaların taşma zincirleme ile analizi". Veritabanı Sistemlerinde ACM İşlemleri. 6 (4).
  4. ^ Ramakrishnan Raghu, Gehrke Johannes - Database Management Systems, McGraw-Hill Higher Education (2000), 2. baskı (tr) sayfa 252
  5. ^ IBM Corporation (1973). DOS / VS LIOCS Cilt 3: DAM ve ISAM Mantığı. pp.63 –72. Alındı 30 Aralık 2018.
  6. ^ IBM Corporation (1972). IBM Virtual Machine Facility / 370: Planlama Kılavuzu (PDF). s. 45. Alındı 8 Ocak 2018.
  7. ^ Graf, Peter. "pblIsamFile Uygulaması". Mission-base.com. Alındı 8 Eyl 2017.