Dinamo (depolama sistemi) - Dynamo (storage system)

Dinamo birlikte bir yüksek oranda ulaşılabilir anahtar / değer yapısal depolama sistemi[1] veya a dağıtılmış veri deposu.[1] Her ikisinin de özelliklerine sahiptir veritabanları ve dağıtılmış karma tablolar (DHT'ler). Amazon.com web sitesinin 2004 tatil sezonunda yaşadığı bazı ölçeklenebilirlik sorunlarını gidermeye yardımcı olmak için oluşturuldu.[2] 2007'ye gelindiğinde, Amazon Web Hizmetlerinde, örneğin Basit Depolama Hizmeti (S3).[1]

DynamoDB ile İlişki

Amazon DynamoDB "Dynamo ilkeleri üzerine kurulmuştur"[3] ve AWS altyapısı içinde barındırılan bir hizmettir. Ancak, Dynamo lidersiz çoğaltmaya dayanırken, DynamoDB tek liderli çoğaltma kullanır.[4]

Prensipler

  • Artımlı ölçeklenebilirlik: Dynamo, hem sistemin operatörü hem de sistemin kendisi üzerinde minimum etki ile aynı anda bir depolama ana bilgisayarını (veya "düğümü") ölçeklendirebilmelidir.
  • Simetri: Dynamo'daki her düğüm, benzerleriyle aynı sorumluluklara sahip olmalıdır; Özel roller veya fazladan sorumluluklar üstlenen hiçbir ayırt edici düğüm veya düğüm olmamalıdır.
  • Ademi merkeziyetçilik: Simetrinin bir uzantısı olan tasarım, merkezi kontrol yerine merkezi olmayan eşler arası teknikleri desteklemelidir.
  • Heterojenlik: Sistem, üzerinde çalıştığı altyapıda heterojenlikten yararlanabilmelidir. Örneğin, iş dağıtımı, bireysel sunucuların yetenekleriyle orantılı olmalıdır. Bu, tüm ana bilgisayarları aynı anda yükseltmek zorunda kalmadan daha yüksek kapasiteli yeni düğümler eklemek için gereklidir.

Teknikler

SorunTeknikAvantajı
Veri kümesi bölümlemeTutarlı Hashingİşbirliği yapan düğümlerin sayısı ile orantılı olarak artımlı, muhtemelen doğrusal ölçeklenebilirlik.
Yüksek kullanılabilirliğe sahip yazılarVektör saat veya Noktalı Sürüm Vektör Kümeleri, okumalar sırasında mutabakatSürüm boyutu, güncelleme hızlarından ayrıştırılır.
Geçici arızaların ele alınmasıÖzensiz Yeter Sayısı ve İpuçlu AktarmaBazı kopyalar mevcut olmadığında yüksek kullanılabilirlik ve dayanıklılık garantisi sağlar.
Kalıcı arızalardan kurtarmaAnti-entropi kullanarak Merkle ağacıKopya sahipleri arasındaki farklılıkları belirlemek ve farklı kopyaları proaktif olarak senkronize etmek için kullanılabilir.
Üyelik ve başarısızlık tespitiDedikodulara dayalı üyelik protokolü ve arıza tespitiSimetriyi koruyarak üyelik ve düğüm canlılığı bilgilerini depolamak için merkezi bir kayda sahip olmaktan kaçınır.

Uygulamalar

Amazon, Dynamo hakkındaki makaleyi yayınladı, ancak uygulamasını asla yayınlamadı. Dizin katmanı Amazon S3 Dynamo'nun birçok temel özelliğini uygular ve genişletir. O zamandan beri, kağıda dayalı olarak birkaç uygulama oluşturuldu. Gazete aynı zamanda diğer birçok NoSQL veritabanı uygulamaları, örneğin Apache Cassandra, Voldemort Projesi ve Riak.[2]

Ayrıca bakınız

Referanslar

  1. ^ a b c Decandia, G .; Hastorun, D .; Jampani, M .; Kakulapati, G .; Lakshman, A .; Pilchin, A .; Sivasubramanyan, S .; Vosshall, P .; Vogels, W. (2007). "Dynamo: Amazon'un Yüksek Erişilebilir Anahtar-Değer Deposu". İşletim sistemleri ilkeleri üzerine yirmi birinci ACM SIGOPS sempozyum bildirileri - SOSP '07. s. 205. doi:10.1145/1294261.1294281. ISBN  9781595935915.
  2. ^ a b Amazon, DynamoDB ile NoSQL'de Bir Geçiş Daha Alır
  3. ^ Amazon DynamoDB - İnternet Ölçekli Uygulamalar için Tasarlanmış Hızlı ve Ölçeklenebilir NoSQL Veritabanı Hizmeti
  4. ^ Kleppmann, Martin (2 Nisan 2017). Veri Yoğun Uygulamaları Tasarlama (1 ed.). O'Reilly Media. s. 177. ISBN  978-1449373320. Dinamo, Amazon dışındaki kullanıcılar tarafından kullanılamaz. Kafa karıştırıcı bir şekilde AWS, tamamen farklı bir mimari kullanan DynamoDB adında barındırılan bir veritabanı ürünü sunar: tek liderli çoğaltmaya dayanır.

Dış bağlantılar