Nesne depolama nedir?
Nesne tabanlı depolama adı da verilen nesne depolama,
nesne adı verilen ayrık depolama birimlerini adreslemeye ve işlemeye yönelik
bir yaklaşımı ifade eden genel bir terimdir.
Depolama nesneleri verinin hem bağlamı hem de içeriği hakkında bilgi
içerir.
Nesneler de tıpkı dosyalar gibi veri içerir, ancak
dosyaların aksine nesneler bir hiyerarşi içinde düzenlenmiş değildir. Her
nesne, bir depolama alanı adı verilen bir düz adres alanında aynı seviyede yer
alır ve bir nesne diğerinin içine yerleştirilemez.
Hem dosyalarda hem de nesnelerde, içerdikleri veriyle
ilgili metadata bulunmaktadır, ancak nesneler, genişletilmiş metadatalarıyla
karakterize edilir. Her nesneye bir benzersiz tanıtıcı atanır ve bu, bir
sunucunun veya son kullanıcının, nesnenin fiziksel konumunu bilmeden veriyi
almasını sağlar. Bu yaklaşım, bulut bilgisayar ortamlarında veri depolamayı
otomatize etmek ve düzenlemek için kullanışlıdır.
Nesne depolama genellikle lüks bir lokantada arabanın
vale tarafından park edilmesine benzetilir. Müşteriler vale park hizmetini
kullandığında, bir makbuz karşılığında arabasının anahtarlarını verir. Müşteri,
yemek yediği sırada arabasının nereye park edildiğini veya bir görevlinin
arabanın yerini kaç kez değiştirdiğini bilmeyecektir. Bu analojiye göre bir
depolama nesnesinin benzersiz tanıtıcısı müşteri makbuzunu temsil eder.
Nesne depolama dosya ve blok depolamadan nasıl farklılık
gösterir
Dosya ve blok depolama daha iyi performans sunabilir,
ancak granüler metadata ve sonsuza yakın düzeyde ölçeklenebilir olması, nesne
depolamayı eşit düzeyde yararlı yapmaktadır.
Dosya ve blok depolamanın kullanıldığı durumlar iyi
tanımlanmıştır ve onyıllardır kullanılmaktadır. Piyasada artık
kullanılabilir durumda olan yeni bir depolama türü nesne depolamadır ve IT
mağazalarının bir çoğunun sorduğu sorular ise "Nesne depolamanın farkı
nedir? Ne zaman nesne depolama kullanmalıyım? Hangi kullanım durumları onu
gerektirir? Kendi özel IT altyapıma onu nasıl uygulayabilirim?" Bu
başlıkta çok şey yazılmış olmasına karşın bu sorular gelmeye devam etmektedir.
Benim bakış açım ise şöyledir.
Dosya ve blok depolamaya yeniden bakış
Nesne depolamayı tanımlamak için öncelikle dosya ve blok
depolamaya yeniden bakalım. Bir dosyanın bir dosya sistemi içinde
yapılandırıldığını biliyoruz ve bir dosya sistemi de, dosya dizininin tarif
edilmesi yoluyla her bir tekil dosyanın bulunabilmesi sağlayan, dosyaların
düzenlenmesinin hiyerarşik bir yolundan başka bir şey değildir. Belirli
özelliklerin - sahibi, kimin erişebileceği ve boyutları gibi, bir dosyayı ve
içeriğini tarif eden bilgilerin - bir dosya sistemi içinde rahatlıkla
depolanabildiğini biliyoruz. Ayrıca, bir ağ üzerinde kullanıcılar arasında güvenli
bir şekilde dosya paylaşımı için en iyi yolun ağ bağlantılı depolama (NAS)
olduğunu biliyoruz. Bir LAN üzerinde yerel olarak çok iyi çalışır ancak
kullanıcıların bir WAN üzerinde olması durumunda o kadar iyi çalışmaz. Ve tek
bir (veya az sayıda) NAS kutusunu yönetmek kolay olsa da, yüzlercesini yönetmek
bir kabus gibidir. Verinin NAS kutusuna yerleştirilmesinden ve ihtiyaca göre
dosyaları kilitleyerek veya kilidini açarak dosya paylaşımı uygulamaktan dosya
sistemi sorumludur. Ve son olarak, dosya sistemi yüz binlerce ve hatta
milyonlarca dosyayla iyi çalışmaktadır, ancak milyarlarca dosyayı işlemek üzere
tasarlanmış değildir. Bu sınırlamalar iyi anlaşılmamıştı çünkü bir çok IT
mağazası bu yüksek düzeyleri yakın zamana kadar test etmemişti. Özetleyecek olursak,
dosyaların yerel paylaşımı için ve metadatayla ilgili dosya sayısı az ise,
dosya depolama çok iyidir. Ancak doğru koşullar olduğunda, NAS dosya paylaşımı
için mükemmel bir performans sunmaktadır.
Blok depolama da benzer şekilde iyi anlaşılmıştır. Blokun
bir veri yığını olduğunu biliyoruz ve uygun bloklar bir araya getirildiğinde
bir dosya oluşur. Bir blokun bir adresi vardır ve uygulama, o adrese bir SCSI
çağrısı yaparak bloku alır. Depolamayı kontrol etmenin çok mikroskopik bir
yoludur. NAS'ın aksine, verinin nereye koyulacağına ve depolamanın nasıl
organize edileceğine uygulama karar verir. Blokların nasıl bir araya
getirileceği veya erişileceği uygulamaya bırakılır. Adres haricinde, ki bunun
da blokla ilgili bir metadata olmadığı öne sürülebilir, blokla ilişkili hiçbir
depolama tarafı metadatası bulunmamaktadır. Bir başka ifadeyle, blok yalnızca
hiçbir açıklaması, bağlantısı ve sahibi olmayan bir veri yığınıdır. Yalnızca
onu kontrol eden uygulama, onu başka bloklarla bir araya getirdiğinde bir anlam
kazanır. Doğru koşullar altında uygulamaya bu seviyede granüler kontrol
verilmesi, verili bir depolama dizisinden en iyi performansı almasını sağlar.
Bu nedenle çoğunlukla işlem ve veritabanı odaklı olan performans merkezli
uygulamalar için blok depolama en çok tercih edilen depolama yöntemi olmuştur.
Uygulama ile depolama arasına mesafe koyulması, ortaya çıkan gecikme nedeniyle
bu performans avantajını ortadan kaldırır, bu nedenle blok depolama genellikle
yerel olarak kullanılır. Özetleyecek olursak, blok depolamayla ilişkili anahtar
sözcükler granülerlik, yüksek performans, az veya hiç metadata ve yerel
kullanımdır.
Nesne depolama özellikleri
Bu tanımları gözden geçirdikten sonra şimdi nesne
depolamaya bakalım. Birincisi, bir nesne, bir nesne olarak paketlenmiş bir veri
(tipik olarak bir dosya) ve onun metadatası olarak tanımlanır. Bu nesneye,
genellikle nesnenin kendi içeriğinden (hem dosya hem metadata) hesaplanan bir
ID verilir. Bir nesne bir uygulama tarafından daima, nesne depolamaya nesne
ID'sini sunarak alınır. Dosyalar ve dosya sistemlerinin aksine, nesneler düz
bir yapıda depolanır. Bir nesne havuzunuz bulunur ve yapmanız gereken yalnızca
nesne ID'sini sunarak verili bir nesneyi istemektir. Nesneler yerel olabilir
veya coğrafi olarak uzakta olabilir, ancak aynı düz adres alanında oldukları
için tamamen aynı şekilde alınırlar. Bir nesne herhangi bir metadata türü veya
miktarıyla sınırlı değildir. Tercih ederseniz, nesnenin ilişkili olduğu
uygulama türü; uygulamanın önemi; nesneye atamak istediğiniz veri koruma
düzeyi; bu nesnenin başka bir site veya sitelere kopyalanmasını isteyip
istemediğiniz; bu nesnenin ne zaman farklı bir katmana veya coğrafyaya
taşınacağı ve bu nesnenin ne zaman silineceği gibi metadatalar atayabilirsiniz.
Bu tür metadata, dosya sistemlerinde kullanılan erişim kontrol listelerinin çok
ötesine geçer. Nesne depolamanın kullanıcıya metadatayı istediği gibi tanımlama
esnekliğini sağlaması, nesne depolamaya özgü bir özelliktir. Bunun, geçmişte
hayal bile edilemeyen analizler için nasıl geniş imkanlar sunduğunu görmeye
başlayabilirsiniz. Yukarıda açıklandığı gibi, nesneleri doğası veri
alındığında, performans nesne depolamanın ayırt edici bir özelliği değildir.
Ancak depolamayı yönetmek için basit bir yönteme ve farklı coğrafyaları aşan ve
zengin (ve kullanıcı tarafından tanımlanabilen) metadata sunan bir hizmete
ihtiyacınız varsa, tercihiniz nesne depolama olmalıdır.
Nesne depolama kavramlarının çoğunun sonsuz büyüklükte
depolama altyapılarını en az maliyetle kurmaya çalışan Web 2.0 şirketleri
bünyesinde oluşması nedeniyle, nesne depolamanın çoğu, dahili doğrudan ekli
depolaması olan ticari sunucu kümelerine dayanmaktadır. Buna istisnalar da
vardır ve bunların en önemlisi DataDirect Network'tür ve bir nesne depolaması
oluşturmak için kuşkusuz pahalı RAID dizileri kullanabilirsiniz, ancak temel
kural ticari donanım kullanmaktır. Ölçekleme yalnızca ek düğümler eklemek gibi
basit bir iş haline gelir. Veri koruma genellikle verilerin küme içindeki bir
veya daha fazla sayıdaki düğüme çoğaltılması yoluyla gerçekleştirilir, ancak
bunun istisnaları vardır (örneğin Cleversafe ve EMC Atmos'un her ikisi de veri
koruma için silme kodlaması kullanır).
Nesne depolamanın doğasını anlamak için kritik olan bir
başka özellik daha bulunmaktadır. Dosya veya blok depolamanın aksine, bir
nesneye HTTP tabanlı REST uygulama programlama arayüzü aracılığıyla
erişebilirsiniz. Bunlar Get, Put, Delete ve diğer birkaçı gibi basit
çağrılardır. Basitliği bir avantajdır, ancak muhtemelen SCSI, CIFS veya NFS
çağrıları kullanmak üzere yazılmış uygulamalarda değişiklik gerektirmektedir.
Sorun da burada yatıyor. Bunun etrafından dolanmanın yolları vardır, ancak en
temiz yaklaşım doğrudan REST tabanlı çağrılar yapabilmek için uygulama kodunu
değiştirmektir. Yani kısaca, nesne depolama kolay yönetilebilir, neredeyse
sonsuz düzeyde ölçeklenebilir, tek bir ad alanında coğrafi sınırları aşar ve
büyük miktarda metadata taşıyabilir, ancak genellikle düşük performanslıdır ve
uygulama kodunda değişiklik gerektirebilir.
Bir nesne depolama sistemini kullanmanın avantajları
Veri depolama
ortamınızda bir nesne depolama sistemi uygulamanın avantajlarını öğrenin.
Ne öğreneceksiniz: Nesne depolama sistemleri, sınırsız
düzeyde ölçeklenebilir olmaları, işleme ve yüksek kapasiteli ağlara daha az
vurgu yapması, depolama komutları yerine Internet protokolleri aracılığıyle
erişim sunması, özel metadata ve satışa hazır bileşen uyumluluğu nedeniyle,
dağıtık ağ ekli depolamaya (dağıtık NAS) uygun bir alternatif haline
gelmektedir. Dosya veya blok bazlı sistem gördüğümüz yerlerde artık bir nesne
depolama sistemi görmekteyiz ve kamusal ve özel bulut depolama söz konusu
olduğunda bu özellikle geçerli olmaktadır. Bu uzman makalesinde Jacob N.
Gseoedl nesne tabanlı depolama sistemlerinin nasıl çalıştığına ve nasıl bulut
depolama altyapısının yapı taşları haline geldiklerine ilişkin derinlikli bir
açıklama sunmaktadır.
Seçilebilecek onca blok ve dosya bazlı depolama sistemi
varken, bariz soru neden bir başka depolama teknolojisine ihtiyaç duyacağımız
şeklindedir. Blok ve dosyanın her ikisi de olgunlaşmış ve kanıtlanmıştır,
dolayısıyla giderek daha fazla dağınık ve bulut özellikli hale gelen bilgisayar
ekosisteminin ihtiyaçlarını karşılamak için geliştirilebilir oldukları
düşünülebilir.
Blok tabanlı depolamada diskler üzerindeki bloklara SCSI
komutları gibi alt düzey protokoller aracılığıyla erişilir ve az yük oluşur ve
ek soyutlama katmanları oluşmaz. Diskler üzerindeki veriye ulaşmanın en hızlı
yoludur ve çok kullanıcılı erişim, paylaşım, kilitleme ve güvenlik gibi bütün
üst düzey görevler işletim sistemlerine ötelenir. Bir başka ifadeyle blok
tabanlı depolama bütün alt düzey tesisat işlerini halleder ancak diğer her şey
için üst düzey uygulamalara bağımlıdır. Her nesne depolama sisteminin bir blok
tabanlı depolama düğümü vardır ve nesne depolama yazılım yığını diğer
özellikleri sunar.
Blok tabanlı depolama nesne depolamanın tamamlayıcısı
olarak kabul edilebilir olsa da, dosya tabanlı depolama onun doğrudan rakibi
konumundadır. Ölçeklenebilirlik teme özelliği, dağınık NAS sistemleri
tarafından desteklenir ve bunlar, nesne depolamaya benzer şekilde, düğüm
eklenerek yatayına ölçeklenebilir. Ancak sınırlı ad alanı olan hiyerarşik dosya
yapılarına dayandıkları için, yalnızca nesne ID'sinin bit sayısı tarafından
sınırlandırılan, saf nesne depolamanın neredeyse sonsuz ölçeklenebilir düz
yapısından daha kısıtlıdırlar. Daha sınırlı olsa da, dağınık NAS sistemleri
nesne depolamanın birçok özelliğine sahiptir ve temsili durum transferi (REST)
protokol desteği gibi eksik özellikler de satıcılar tarafından hızlıca
eklenmektedir, böylece dağınık NAS sistemlerini nesne depolama olarak
sınıflandırabilmektedirler. Hewlett-Packard (HP) Co.'nun deolama Bölümünde üst
düzey ürün müdürü olan Patrick Osborne, "HP Ibrix X9000 Depolama ve onun
WebDAV ve REST desteği ve ayrıca CIFS, NFS ve büyük ölçeklenebilirliği
sayesinde, nesne depolama alanında açık ara lider konumundayız" şeklinde
konuştu.
Nesne depolamayı tanımlamak
Açık ki nesne depolama farklı insanlara farklı şeyler
ifade ediyor, dolayısıyla kabul gören tek bir tanımı bulunmuyor. Bir depolama
sisteminin ne düzeyde nesne depolama olduğunu analiz etmek için, zorunlu olan
veya "olsa iyi olur" türde özelliklere bakılması gerekmektedir.
Nesneler.
Blokları veya dosyaları yönetmek yerine bir saf nesne
depolama sistemi nesneleri yönetir. Daha kesin söyleyecek olursak, bütün modern
nesne depolama sistemleri dosyaları nesneler olarak yönetir. Nesneler, tıpkı
dosya temelli depolama sistemlerinde dosyaların dosya dizini aracılığıyla
adreslendiği gibi, bir benzersiz tanımlayıcı üzerinden adreslenir. Nesneler bir
düz adres alanında depolanır ve bu durum karmaşıklığı ve dosya temelli depolama
tarafından kullanılan hiyerarşik dosya sistemlerinin ölçeklenebilirlik
zorluklarını ortadan kaldırır.
Metadata.
Nesneler, nesnede yer alan veri hakkında bağlamsal bilgi
içeren metadatayı ve yükü, bir başka ifadeyle asıl veriyi içerir. Dosya temelli
depolama sistemlerinde metadata dosya özellikleriyle sınırlıdır; saf nesne
temelli sistemlerde metadata istenilen sayıda özellikle zenginleştirilebilir.
Bunu bir dosya temelli sistemle yapmak için bir, dosyalarla ilgili ek bilgiyi
işlemek için bir uygulama (veritabanı olan) ihtiyacınız olur. Özel metadata
sayesinde bir dosya (nesne) ile ilgili bütün bilgiyi nesnenin kendisi içinde
depolayabilirsiniz. Milford, Mass.'de bulunun Enterprise Strategy Group (ESG)
üst düzey bir analist olarak çalışan Terri McClure, "Özel metadata zengin
ve bağımsız dosya nesneleri oluşturulmasına imkan sağlar ve bunlar da nesne
depolamada depolanabilir ve böylece azaltılmış yönetim yükü olan devasa
yapılandırılmamış veri depolamalarının oluşturulması mümkün hale gelir,"
dedi.
Sabit nesneler.
Saf nesne depolama, sabit içerikli bir veri havuzunu
temsil eder; bunun anlamı, nesneler yaratılabilir, silinebilir ve okunabilir,
ancak bulundukları yerde güncellenemezler. Bunun yerine, nesneler yeni nesne
sürümleri oluşturularak güncellenmektedir. Bunun sonucunda, kilitleme ve çok
kullanıcılı erişimin yarattığı zorluklar - ki bunlar dosya tabanlı sistemlerin
en büyük derdidir - nesne depolamada yoktur. NetApp Inc.'te veri yaşam döngüsü
ekosistemi grubunun başkan yardımcısı olan Tim Russel, "Çok kullanıcılı
sistemler aynı dosyayı [nesneyi] eşzamanlı olarak güncellerse, nesne depolama
sistemi basitçe dosyanın farklı versiyonlarını yazacaktır" dedi. Yerinde güncellemeleri
desteklebmek zorunda olmamak, nesne depolamayı dağınık depolama ve dağınık
erişim için en uygun seçenek yapar.
Yedekleme.
Nesne depolama yedeklemeyi ve yüksek düzeyde
kullanılabilirliği, aynı nesnenin kopyalarını farklı düğümlere depolayarak
gerçekleştirir. Bir nesne oluşturulduğunda bir düğüm üzerinde oluşturulur ve
daha sonra, bulunduğu yerdeki politikalara bağlı olarak bir veya daha fazla
sayıda düğüme kopyalanır. Düğümler aynı veri merkezinde yer alabilir veya
coğrafi olarak dağınık olabilir. Yerinde güncelleme desteğinin bulunmaması, çok
düğümde kopyalı nesne yedeklemeyi çok az bir zahmetle mümkün hale getirir.
Geleneksel depolama sistemleri için, kopyalanmış (çoğaltılmış) dosyaları ve
blokları çoklu örnekler arasında senkronize halde tutmak çok zor bir iştir; çok
karmaşıktır ve yalnızca, örneğin tanımlı gecikme kısıtlamaları gibi bir dizi
çok katı sınırlama altında yapılabilir.
Protokol desteği.
Geleneksel blok ve dosya bazlı protokoller aynı veri
merkezi içinde iyi çalışır ve burada performans iyidir ve gecikme bir sorun
değildir. Ancak gecikmenin öngörülemez olduğu coğrafi olarak dağınık erişim ve
bulut için uygun değillerdir. Ayrıca, geleneksel dosya sistemi protokolleri
(CIFS ve NFS), dahili ağlar üzerinde bulunan, ancak nadiren Internete açılan
portlar üzerinde mevcuttur. Nesne depolamaya ise tersine, genellikle HTTP
üzerinden REST API üzerinden erişilir. Nesne depolamaya HTTP üzerinden
gönderilen komutlar basittir: bir nesne yaratmak için put, bir nesneyi okumak
için get, bir nesneyi temizlemek için dele ve nesneleri listelemek için list.
Uygulama desteği ve entegrasyonu.
Geleneksel veri depolama protokol desteği ve bir REST
API'ye dayanmak zorunda olması, nesne depolamanın erişilebilir olması için
entegrasyon çabalarını gerektirmektedir. Özel uygulama entegrasyonuna ek
olarak, bazı ticari uygulamalar, özellikle yedekleme ve arşivleme amaçlı
olarak, nesne depolama entegrasyon desteğine eklenmiştir ve temel olarak Amazon
S3 bulut depolamaya bağlantı kurmaktadır. Sektör standartlar üzerinde anlaşma
varmak için çabaladığı için, yaygın bir nesne depolama entegrasyonu halen çok
az bulunmaktadır. Genellikle bulut depolama ağ geçitleri adı verilen nesne
depolama ağ geçitleri, nesne depolamayla iletişim kurmanın bir başka yolunu
sunmaktadır. Geleneksel ve nesne depolama arasında yer alırlar ve genellikle
önceden tanımlanmış politikalar yoluyla ikisi arasında gidip gelirler.
Bulut özellikleri.
Bulut depolama ve Web 2.0 uygulamaları nesne depolamanın
kilit hedefleri olduğu için, internet üzerinden paylaşımlı erişimle ilgili
özellikler yararlı olmaktadır. Çoklu kullanım hakkı ve farklı kullanıcıların
verilerini güvenli bir şekilde ayrıştırmak, bir nesne depolama ürününün işletme
ötesinde kullanılması için olmazsa olmaz özelliklerdir. Güvenlik, şifrelemenin
ötesinde bir şeydir ve kullanıcılara, ad alanlarına ve nesnelere erişimin
kontrol edilmesi için destek içermelidir. Hizmet düzeyi anlaşması (SLA)
yönetimi ve çoklu hizmet düzeylerini destekleme yeteneği, bulut kullanımı için
önemlidir. Örneğin nesne örneği sayısı ve her bir örneğin nerede depolanacağı
gibi SLA'ların uygulanmasına yardım eden bir politika motoru, her nesne
depolama ürünün sunması gereken yararlı bir hizmettir. Ayrıca kullanım ölçümü
ve ücretlerin otomatik olarak takip edilmesi bulut kullanımı için
vazgeçilmezdir.
Kullanım durumları.
Saf nesne depolama, veritabanları gibi sık değişen
işlemsel veriler için yetersiz kalmaktadır. Ayrıca paylaşılan dosyalara erişim
için NAS'nin yerini almak üzere tasarlanmamıştır, çünkü bir dosyanın tek
"gerçek" halini sağlayan kilitleme ve dosya paylaşım hizmetlerine
sahip değildir; bunun yerine nesne depolama bir dosyanın çoklu ve muhtemelen
uyuşmayan versiyonlarını sunmaktadır. Nesne depolama, sık güncellenmeyen
yapılandırılmamış veri için çok büyük düzeyde ölçeklenebilir veri depolama
olarak, inaktif veri için işlemsel depolama katmanlarının ötesinde bir ek
depolama katmanı olarak veya bir arşiv depolama olarak iyi çalışmaktadır. Bulut
alanında dosya içeriği, özellikle görüntüler ve videolar için çok uygundur.
Hitachi Data Systems'de (HDS) üst düzey ürün pazarlama müdürü olan Jeff
Lundberg, "Günümüzde nesne depolama, medya, eğlence ve sağlık
sektörlerinde görülün ve aynı zamanda arşive yönelik işlem sonrası türde veri
için çok iyidir" şeklinde konuştu. "Ancak performans arttıkça ve
özellikler olgunlaştıkça, yalnızca bulut depolamayı desteklemekle kalmayacak,
ancak dağınık IT ortamlarına imkan sağlayacaktır."
Seagate Kinetic Simplifies Object Storage - Nesne Tabanlı Depolama
Behreng Nami
Kıdemli Danışman
Detaylı bilgi için: Seagate@vitel.com.tr
