Amazon DynamoDB küresel tablolar

Neden Amazon DynamoDB küresel tablolar?

Amazon DynamoDB küresel tablolar; tamamen yönetilen, sunucusuz, çok bölgeli ve çok etkin bir veri tabanıdır. Küresel tablolar size %99,999 erişilebilirlik, artırılmış uygulama dayanıklılığı ve gelişmiş iş sürekliliği sağlar. Küresel tablolar, Amazon DynamoDB tablolarınızı seçtiğiniz AWS Bölgelerinde otomatik olarak çoğalttığı için hızlı, yerel okuma ve yazma performansı elde edebilirsiniz.

Uygulama işleminizin bir bölgede kesintiye uğraması halinde, küresel tabloların çoklu etkin mimarisi müşterilerin herhangi bir çoğaltma tablosunu okuyup yazmasına olanak sağladığından veri tabanı yük devretmesine gerek yoktur. Küresel tablolar ayrıca bölgeler arasında veri çoğaltma ve çoklu bölge iş yükleri için güncelleme çakışmalarını çözme zorluklarını da ortadan kaldırır.

Çoklu bölge iş yükleri için artık güçlü tutarlılık (YENİ) (önizleme) veya nihai tutarlılık arasında seçim yapabilirsiniz. Güçlü tutarlılık, kurtarma noktası hedefi sıfır (sıfır RPO olarak da anılır) olan uygulamalar oluşturmanıza olanak tanır. Ayrıca uygulamanızın her zaman en son verileri okumasını sağlar.

Küresel tabloları kullanmaya başlamak, tek bölge tablolarıyla aynı DynamoDB API'lerini kullandığından kolay bir işlemdir. Küresel tabloları kullanmak için herhangi bir ön maliyet veya taahhüt yoktur ve yalnızca kullandığınız kaynaklar için ödeme yaparsınız. AWS Yönetim Konsolu'nda AWS Komut Satırı Arabirimi (AWS CLI) veya AWS CloudFormation ile küresel tabloları yapılandırabilir ve Amazon DynamoDB Geliştirici Kılavuzu'nda daha fazla bilgi edinebilirsiniz. Küresel tablolar fiyatlandırması hakkında bilgi için istek üzerine ve tedarik edilen Amazon DynamoDB fiyatlandırma seçeneklerine bakın.

Nasıl çalışır?

Bir DynamoDB küresel tablosu birden çok çoğaltma tablosundan oluşur. Her çoğaltma tablosu farklı bir bölgede bulunur ancak tüm çoğaltmalar aynı ada ve birincil anahtara sahiptir. Veriler herhangi bir çoğaltma tablosuna yazıldığında DynamoDB bu verileri otomatik olarak küresel tablodaki diğer tüm çoğaltma tablolarına çoğaltır.

Örneğin, uygulamanızın ABD Doğu Kıyısı, Kanada ve Batı Avrupa olmak üzere üç coğrafi bölgeye yayılmış geniş bir müşteri tabanına hizmet ettiğini varsayalım. Küresel tablolar olmadan her AWS Bölgesi'nde bir tablo oluşturmanız ve her bölgedeki her tabloda veri değişikliklerini çoğaltmak için kod yazmanız gerekirdi.

Küresel tablolarla, her coğrafi alana en yakın üç Bölgede bir çoğaltma tablosu içeren küresel bir tablo oluşturabilirsiniz. DynamoDB, değişiklikleri herhangi bir çoğaltmadan diğer Bölgelerdeki çoğaltmalara otomatik olarak çoğaltır.

Küresel tablolar, uygulamanızın kullanıcılarının nerede olurlarsa olsunlar verilere düşük gecikmeli erişime sahip olmalarını sağlar. Uygulama işlemenizin bir bölgede kesintiye uğraması halinde, müşterileriniz diğer bölgelerdeki çoğaltılmış tablolara erişmeye devam edebilir.

Nasıl çalışır?

Amazon DynamoDB küresel tablosunun avantajları

Çok aktif, çok bölgeli çoğaltma, bir bölgedeki bir çoğaltma tablosunda gerçekleştirilen güncellemelerin diğer bölgelerdeki çoğaltma tablolarına çoğaltılmasını sağlar. Bölgeler arasında tablo çoğaltmaları arasındaki çoğaltma, nihayetinde tutarlıdır. Bu, uygulamayla aynı bölgedeki çoğaltma tablolarında yerel okuma ve yazma işlemlerinin güçlü bir tutarlılık elde edebileceği anlamına gelir. Ancak, bir bölge içindeki diğer çoğaltma tablolarındaki öğelere yapılan okumalar nihayetinde tutarlıdır.

Küresel tablolar, verilerinizi yerel olarak okumanıza ve yazmanıza olanak tanır ve küresel olarak dağıtılan uygulamanız için herhangi bir ölçekte tek basamaklı milisaniye gecikme süresi sağlar. Bu, büyük ölçekli küresel uygulamaların performansını artırabilir.

Küresel tablolar, Amazon DynamoDB'de çok etkin, çok bölgeli çoğaltmayı dağıtmanın ve yönetmenin karmaşıklığını ve operasyonel yükünü ortadan kaldırır. Verilerinizin çoğaltılması gereken bölgeleri seçebilirsiniz ve DynamoDB gerisini halleder. Uygulamalar, mevcut DynamoDB API'lerini ve uç noktalarını kullanarak küresel tablolara erişir.

Herhangi bir çoğaltım tablosundaki herhangi bir öğede yapılan değişiklikler, aynı küresel tablodaki diğer tüm çoğaltmalara çoğaltılır. Küresel bir tabloda, yeni yazılan bir öğe tipik olarak bir saniye içinde tüm çoğaltma tablolarına yayılır.  Küresel bir tablo ile, her çoğaltma tablosu aynı veri öğesi kümesini depolar. Amazon DynamoDB, yalnızca bazı öğelerin kısmi çoğaltılmasını desteklemez. Uygulamalar aynı öğeyi farklı bölgelerde yaklaşık olarak aynı anda güncellerse çakışmalar ortaya çıkabilir.

Çatışmaları çözmek için Amazon DynamoDB küresel tabloları, eş zamanlı güncellemeler arasında son yazan kazanır mutabakatı kullanır. Amazon DynamoDB, son yazanı belirlemek için en iyi çabayı gösterir. Bu çatışma çözme mekanizmasıyla, tüm çoğaltmalar en son güncelleme üzerinde anlaşır ve hepsinin aynı verilere sahip olduğu bir duruma doğru birleşir.

Küresel tablolar, %99,999 erişilebilirlik için tasarlanmıştır. Tek bir bölge izole olur veya bozulursa uygulamanız farklı bir bölgeye yönlendirebilir ve farklı bir çoğaltma tablosunda okuma ve yazma gerçekleştirebilir. İsteklerin diğer bölgelere ne zaman yönlendirileceğini belirlemek için özel iş mantığı uygulayabilirsiniz. 

Buna ek olarak, Amazon DynamoDB, gerçekleştirilen ancak henüz tüm çoğaltma tablolarına yayılmamış tüm yazmaları takip eder. Bölge tekrar çevrim içi olduğunda Amazon DynamoDB, o bölgede bekleyen yazma işlemlerini diğer bölgelerdeki çoğaltma tablolarına yaymaya devam eder ve bunun tersi de geçerlidir.

Sayfa konuları

Genel

Genel

Küresel tablo, tümü tek bir AWS hesabına ait olan bir veya daha fazla çoğaltma tablosundan oluşan bir koleksiyondur. Tek bir Amazon DynamoDB küresel tablosu, AWS Bölgesi başına yalnızca bir çoğaltma tablosuna sahip olabilir.

Bir çoğaltma tablosu tek bir DynamoDB tablosudur. Her çoğaltma tablosu aynı veri öğesi kümesini depolar, aynı tablo adına ve aynı birincil anahtar şemasına sahiptir. Bir uygulama bir bölgedeki bir çoğaltma tablosuna veri yazdığında Amazon DynamoDB, yazmaları otomatik olarak diğer AWS Bölgelerindeki diğer çoğaltma tablolarına çoğaltır.

Evet. Amazon Dynamo küresel tabloları, bir uygulamanın dayanıklılığını artırdığı ve tek bir bölge için güçlü tutarlılık sağladığı için iş sürekliliğini destekler. Küresel tablolar çoklu aktif olduğundan bir uygulama herhangi bir çoğaltma tablosunda okuma veya yazma yapabilir. Plansız bölge olayının nadir de olsa yaşanması durumunda,uygulama başka bir çoğaltmaya yönlendirebilir.

Bu adım adım kılavuzla Amazon DynamoDB konsolu, AWS CLI veya AWS CloudFormation kullanarak küresel bir tablo oluşturabilirsiniz.

Amazon DynamoDB küresel tablolarına farklı bir bölgede ek bir çoğaltma eklemeden önce tablo; DynamoDB Akışları'nı etkinleştirmiş, diğer tüm çoğaltmalarla aynı ada sahip, diğer tüm çoğaltmalarla aynı bölüm anahtarına sahip ve belirtilen aynı yazma kapasitesi ayarlarına sahip olması gerekir.

Amazon DynamoDB küresel tablosundaki tüm çoğaltma tabloların adı aynı olmalıdır.

Diğer veri tabanlarına benzer şekilde Amazon DynamoDB de verileri tablolarda depolar. Tablo bir öğe koleksiyonudur ve her öğe bir öznitelik koleksiyonudur. Amazon DynamoDB, bir tablodaki her öğeyi benzersiz bir şekilde tanımlamak için birincil anahtarları kullanır ve daha fazla sorgulama esnekliği sağlamak için ikincil dizinlere sahiptir.

Buna karşılık, Amazon DynamoDB küresel tablosu, tek bir AWS hesabına ait bir veya daha fazla çoğaltma tablosu koleksiyonudur. Her çoğaltma tablosu yapısal olarak normal bir Amazon DynamoDB tablosuyla aynıdır.

Evet, küresel tablonun her çoğaltmasında zaman için nokta kurtarmayı etkinleştirebilirsiniz.

  • Zoom

    COVID-19 salgını başladığında ses ve video hizmetlerimize büyük bir talep oldu. 2020'nin başlarında sanal olarak bağlantı kurması gereken yeni ve mevcut müşterilerin Günlük Toplantı Katılımcısının 10 milyondan 300 milyona benzeri görülmemiş şekilde arttığını gördük. Arka uçta bu artışı Zoom Meetings için Amazon DynamoDB ile yönetebildik. İstek üzerine moduyla birlikte DynamoDB küresel tablolarını kullanmak, kullanımdaki ani artışa rağmen performans sorunu olmadan neredeyse sonsuz ölçeklendirme yapmamızı sağladı.

    Yasin Mohammed, Bulut Operasyonları Mühendislik Müdürü, Zoom Video Communications, Inc.
  • Disney

    Disney+; içerik, meta veri ve her gün milyarlarca müşteri eylemi almak için Amazon DynamoDB kullanmaktadır. Böylelikle görüntüleyenlerin İzleme Listelerine içerik eklemelerine, bir videoyu izlemeye başlayıp farklı bir cihazdan devam etmelerine ve daha sonra ne izleyeceklerine dair önerilerde bulunmalarına olanak sağlamaktadır.

    Amazon Kinesis üzerinden ve Amazon DynamoDB'ye günde milyarlarca yer imi alındı.

    Attilio Giue, İçerik Keşfi Direktörü, Disney+
    Basın bültenini okuyun »
  • Snap Inc.

    Snap Inc., yıllık altyapı maliyetlerinden önemli ölçüde tasarruf etti ve Amazon DynamoDB kullanarak multimedya mesajlaşma uygulaması Snapchat için hızlı ve güvenilir bir altyapı sağladı.

    Amazon DynamoDB'nin sunduğu yetenekler ve içerisindeki sürekli yenilik, ona güvenmeye ve yenilik yapmaya devam edebileceğimize dair bize güven veriyor.

    Saral Jain, Mühendislik Direktörü ve Altyapı Başkanı, Snap Inc.
    Örnek olay incelemesini okuyun »