Amazon DynamoDB’nin özellikleri

Neden DynamoDB?

Amazon DynamoDB, anahtar-değer ve belge veri modellerini destekleyen sunucusuz bir NoSQL veri tabanı hizmetidir. Geliştiriciler, DynamoDB'yi kullanarak küçük çapta başlayıp küresel olarak ölçeklenebilen modern ve sunucusuz uygulamalar oluşturabilir. DynamoDB, otomatik yatay ölçeklendirme ile neredeyse her boyuttaki tabloyu destekleyecek şekilde ölçeklenir.

Yerleşik ve kapatılamaz erişilebilirlik, dayanıklılık ve hata toleransı özellikleri sayesinde, uygulamaları bu yeteneklere göre tasarlama gereksinimini ortadan kaldırır.

DynamoDB, geleneksel ilişkisel veritabanlarının yetersiz kalacağı yüksek performanslı ve internet ölçeğindeki uygulamaları çalıştırmak üzere tasarlanmıştır. On yılı aşkın süredir gerçekleştirdiği öncü inovasyon yatırımı ile DynamoDB, tutarlı tek haneli milisaniye performansı ve %99,999'a varan erişilebilirliği sayesinde sınırsız ölçeklenebilirlik sunar.

Yeni özellikler ve yetenekler hakkında bilgi edinmek için DynamoDB Yenilikler duyurularını ziyaret edin.

Sınırsız ölçeklenebilirlik ile sunucusuz performans

DynamoDB hem anahtar-değer hem de belge veri modellerini destekler. Bir NoSQL veri tabanı olarak DynamoDB'nin esnek bir şeması vardır. Dolayısıyla her öğenin birçok farklı özniteliği olabilir. Esnek bir şema; tablo şemasını, ilişkisel veritabanları için yapmak zorunda olduğunuz gibi yeniden tanımlama zorunluluğundan kurtarır. Böylece iş gereksinimleriniz değişse bile kolaylıkla uyum sağlayabilirsiniz.

DynamoDB hizmetinde tedarik edilmesi, düzeltme eki uygulanması veya yönetilmesi gereken sunucular ya da yüklenmesi, bakım yapılması veya işletilmesi gereken yazılımlar yoktur. DynamoDB'nin sürümleri (büyük, küçük veya düzeltme eki) ve bakım aralığı yoktur. Ayrıca DynamoDB, sıfır kesinti bakımı gerektirir. DynamoDB istek üzerine fiyatlandırması, kullandıkça öde fiyatlandırması sağlar, sıfıra ölçeklenir ve kapasiteyi ayarlamak için tabloları otomatik olarak ölçeklendirerek sıfır yönetim ile performansı korur.

DynamoDB, karmaşık iş mantığına ihtiyaç duyan uygulamalar için bölünmezlik, tutarlılık, yalıtım ve dayanıklılık (ACID) işlemleri desteği dahil olmak üzere görev açısından kritik iş yüklerine yönelik olarak tasarlanmıştır. DynamoDB, işlemler için sunulan yerel ve sunucu tarafı desteği sayesinde yazılım geliştiricilerin hem bir tablo içindeki hem de tablolar arasındaki birden fazla öğeye "ya hep ya da hiç" değişiklikleri yapma deneyimini basitleştirir.

DynamoDB, işlem başına 100 işlemi destekleyerek geliştirici üretkenliğini artırır. İşlem desteği sayesinde yazılım geliştiriciler DynamoDB’nin ölçeklendirme, performans ve kurumsal avantajlarının kapsamını birden fazla görev açısından kritik öneme sahip iş yükü için genişletebilir.

DynamoDB küresel tabloları, verilerinizin seçtiğiniz AWS Bölgeleri genelinde %99,999 erişilebilirlikle aktif-aktif çoğaltılmasını sağlar. Küresel tablolar çoklu aktiftir, yani herhangi bir kopyadan yazabilir ve okuyabilirsiniz. Ayrıca, küresel olarak dağıtılan uygulamalarınız, tek basamaklı milisaniyelik okuma ve yazma performansı elde etmek için seçilen bölgelerdeki verilere yerel olarak erişebilir.

Global tablolar ayrıca, çok-bölgeli iş yüklerinizi karşılamak için kapasiteyi otomatik olarak ölçeklendirir. Küresel tablolar, uygulamanızın çok-bölgeli dayanıklılığını artırır ve kuruluşunuzun iş sürekliliği stratejisinin bir parçası olarak göz önünde bulundurulmalıdır.

DynamoDB Akışlar, değişiklik verisi yakalama özelliğidir. Bir uygulamanın tabloda yer alan bir öğeyi oluşturması, güncellemesi ya da silmesi durumunda DynamoDB Akışlar, neredeyse gerçek zamanlı olarak her öğe düzeyindeki değişikliklerin belirli bir zaman içindeki dizisini kaydeder. Bu özellik, olay odaklı mimari uygulamalarının değişiklikleri kullanması ve eyleme geçirmesi için oldukça yararlıdır. Tüm değişiklikler tekilleştirilir ve 24 saat boyunca depolanır.

Uygulamalar ayrıca bu günlüğe erişebilir ve veri öğelerini değiştirilmeden önce ve sonra neredeyse gerçek zamanlı olarak göründükleri gibi görüntüleyebilir. DynamoDB Akışlar, her akış kaydının akışta tam olarak bir kez görünmesini sağlar ve değiştirilen her öğe için akış kayıtları, öğede yapılan gerçek değişikliklerle aynı sırada görünür.

Diğer tüm veri tabanı sistemlerine benzer şekilde, bir öğe koleksiyonu olan bir tablo oluşturarak başlarsınız. DynamoDB'de tablodaki her öğenin kendi birincil anahtarı bulunur. Birçok uygulama, diğer öznitelikleri kullanarak verileri daha verimli bir şekilde aramak için bir veya daha fazla ikincil anahtara sahip olma avantajından da faydalanabilir. DynamoDB, hem küresel hem de yerel ikincil dizinler oluşturma seçeneği sunması sayesinde tablodaki verileri ikincil veya alternatif bir anahtar kullanarak sorgulamanıza olanak tanır.

Küresel ikincil dizinler, seyrek dizinler olarak da bilinir. Verilerinize nasıl erişeceğiniz konusunda size maksimum esneklik sağlamasının yanı sıra mükemmel performansla daha düşük yazma aktarım hızını daha düşük maliyetle edinebilirsiniz.

Güvenlik ve güvenilirlik

DynamoDB'de kullanıcı adı veya parola yoktur. DynamoDB; kaynakların kimliğini doğrulamak, oluşturmak ve bunlara erişmek için AWS Kimlik ve Erişim Yönetimi'ni (IAM) kullanır. İlgili kullanıcının kimliğine bağlı olarak tablodaki belirli öğeler ve özniteliklere okuma veya yazma erişimini kısıtlayan, detaylı erişim denetimine izin veren IAM politikalarını, kaynak tabanlı politikaları ve koşulları belirtebilirsiniz. Bu, müşterilerin güvenlik politikalarını kod düzeyinde uygulamalarını sağlar.

DynamoDB, varsayılan olarak bekleme durumundaki tüm müşteri verilerini şifreler. Bekleme durumunda şifreleme özelliği, AWS Anahtar Yönetimi Hizmeti (AWS KMS) içinde depolanan şifreleme anahtarlarını kullanarak verilerinizin güvenliğini artırır. AWS Veri Tabanı Şifreleme SDK'sinin eklenmesiyle tablonuzdaki veriler üzerinde ayrıntılı erişim denetimini de zorunlu kılmak için öznitelik düzeyinde şifreleme gerçekleştirebilirsiniz. DynamoDB, şifreleme konusunda sıkı uygunluk sağlayıp mevzuat gerekliliklerini karşılayan, güvenlik açısından hassas uygulamalar oluşturmanıza yardımcı olur.

Şifreleme anahtarları, verilerinizi temel depolama alanına yetkisiz erişime karşı güvence altına alarak ek bir veri koruma katmanı sağlar. DynamoDB'nin kullanıcı verilerini şifrelemek için hangi anahtarı kullanacağını belirtebilirsiniz: AWS'ye ait bir anahtar (varsayılan şifreleme türü), AWS tarafından yönetilen bir anahtar ya da müşteri tarafından yönetilen bir anahtar. AWS KMS anahtarlarını kullanarak gerçekleştirilen varsayılan şifreleme özelliği ücretsiz olarak sunulur.

Zaman içinde nokta kurtarma (PITR), DynamoDB tablolarınızı yanlışlıkla yapılan yazma veya silme işlemlerine karşı korumanıza yardımcı olur. PITR, DynamoDB tablonuzdaki verileri sürekli olarak yedekler ve tabloyu saniye hassasiyetiyle son 35 gün öncesine kadar olan herhangi bir noktaya geri yükleyebilirsiniz.

PITR, tedarik edilen kapasiteyi kullanmaz ve uygulamalarınızın performansı veya erişilebilirliği üzerinde hiçbir etki göstermez. PITR'yi etkinleştirmek veya yedekleme ve geri yükleme işlemlerini başlatmak, AWS Yönetim Konsolu'nda tek bir adımda yapmak veya tek bir API çağırmak kadar kolaydır.

İstek üzerine yedekleme ve geri yükleme, arşivleme amacıyla DynamoDB tablolarınızın tam yedeklerini oluşturmanızı sağlar ve bu sayede kurumsal ve resmi düzenleme gereksinimlerini karşılamanıza yardımcı olabilir. Üretim uygulamalarınızın performansını veya erişilebilirlik durumunu etkilemeden birkaç megabayttan yüzlerce terabayta kadar veriye sahip olan tabloları yedekleyebilirsiniz. AWS Yedekleme entegrasyonu sayesinde, istek üzerine yedeklemeleri hesaplar-arası ve bölgeler-arası kopyalayabilir, yedeklemeler için maliyet tahsisi etiketleri oluşturabilir ve yedeklemeleri soğuk depolamaya aktarabilirsiniz.

DynamoDB, bir VPC içindeki veya şirket içi veri merkezlerinden bağlantılar için Ağ Geçidi Sanal Özel Bulut (VPC) uç noktalarını ve arabirim VPC uç noktalarını destekler. AWS PrivateLink ile etkinleştirilmiş arabirim VPC uç noktaları aracılığıyla şirket içi uygulamalarınızdan DynamoDB'ye özel ağ bağlantısını yapılandırabilirsiniz. Bu, müşterilerin DynamoDB'ye özel bağlantıyı basitleştirmesine ve uygunluğu sürdürmesine olanak tanır.

Uygun maliyet

DynamoDB, her tablo için şu okuma/yazma kapasitesi modlarını sunar: istek üzerine ve tedarik edilen.

  • İstek üzerine kapasite modu, yüksek kullanım ihtimali konusunda kesin bir karar veremediğiniz ve tahmin edilmesi güç iş yükleri için kapasite yönetimini sizin yerinize üstlenir ve yalnızca kullandığınız kaynaklar için ödeme yaparsınız.
  • Tedarik edilen kapasite modunu kullanan tablolarda okuma ve yazma kapasitesini sizin ayarlamanız gerekir. Belirlediğiniz tedarik edilen kapasitenin kullanılacağından emin olduğunuz durumlarda tedarik edilen kapasite modu maliyet açısından daha avantajlıdır. 

DynamoDB, isteğe bağlı kapasite modunu kullanan tabloları önceden ulaşılmış trafik seviyesine çıkıldığında veya düşüldüğünde anında ayarlar. Bir iş yükünün trafiği yeni bir zirveye ulaştığında DynamoDB buna ayak uydurmak için hızlı bir şekilde uyarlama gerçekleştirir. Ayrıca isteğe bağlı olarak bireysel istek üzerine tablolar ve ilişkili ikincil dizinler için maksimum okuma veya yazma (veya her ikisini de) aktarım hızını yapılandırarak maliyetleri ve performansı dengelemeyi kolaylaştırabilirsiniz. İsteğe bağlı kapasite modunu hem yeni hem de var olan tablolarda kullanabilir ve kodunuzda değişiklik yapmadan var olan DynamoDB API’lerini kullanmaya devam edebilirsiniz.

Nadiren erişilen veriler için Amazon DynamoDB maliyetlerinizi %60'a kadar azaltmanıza yardımcı olan DynamoDB Standart-IA tablo sınıfını kullanabilirsiniz. Standart-IA tabloları düşük depolama maliyeti; uygulama günlükleri, geçmiş oyun verileri, eski sosyal medya gönderileri gibi nadiren erişilen verilerin uzun süreli depolanması için tasarlanmıştır. Çoğu iş yükü için varsayılan ve en uygun maliyetli seçenek olan Amazon DynamoDB Standard tablolarıyla aynı erişilebilirlik, dayanıklılık ve performansa sahiptir.

DynamoDB, tedarik edilen kapasiteyi kullanan tablolar için uygulamanızın performans kullanımını izleyerek önceden belirlediğiniz kapasiteye göre aktarım hızının ve depolama alanının otomatik olarak ölçeklendirilmesini sağlar.

  • Uygulamanızın trafiği arttığında DynamoDB, aktarım hızını yükü karşılayacak şekilde artırır.
  • Uygulamanızın trafiği azaldığında ise DynamoDB ölçeği azaltarak kullanılmayan kapasite için maliyetlerinizi düşürür.

AWS hizmetleriyle entegrasyonlar

Amazon Simple Storage Service'tan (Amazon S3)toplu içeri/dışarı aktarma, DynamoDB tablolarınızı bir uygulamadan, hesaptan veya bölgeden diğerine taşımak, dönüştürmek ve kopyalamak için kod yazma ihtiyacını ortadan kaldırarak verilerinizden daha fazla değer elde etmenize yardımcı olur. Toplu içeri ve dışarı aktarma, tablonun okuma veya yazma kapasitesini kullanmaz, bu nedenle ek kapasite planlamanıza veya tedarik etmenize gerek kalmaz. Toplu içeri ve dışarı aktarma süreci tamamen DynamoDB tarafından yönetilir.

Amazon S3'ten toplu içeri aktarma; CSV, DynamoDB JSON ve Amazon Ion gibi desteklenen biçimleri kullanarak megabayttan terabayta kadar istediğiniz ölçekte veri içeri aktarmanıza olanak tanır. Amazon S3'ten toplu içeri aktarma ile müşteriler, tedarik edilen kapasiteyi kullanarak müşteri temelli yazmalara kıyasla %66'ya varan tasarruf sağlayabilir.

Amazon S3'e toplu dışarı aktarmalar sayesinde son 35 gün içinde herhangi bir zaman noktası için PITR etkinleştirilmiş tüm tablolardaki verileri saniyelik ayrıntı derecesiyle dışarı aktarabilirsiniz. Verileri DynamoDB'den Amazon S3'e aktardıktan sonra verilerinizi analiz etmek ve eyleme dönüştürülebilir öngörüler elde etmek için Amazon Athena, Amazon SageMaker gibi diğer AWS hizmetlerini de kullanabilirsiniz.

DynamoDB İçin Amazon Kinesis Veri Akışları; canlı panoları güçlendirmek, ölçümler oluşturmak ve veri göllerine veri iletmek için DynamoDB tablolarınızdaki öğe düzeyindeki değişiklikleri yakalar. Kinesis Veri Akışları, size gerçek zamanlı günlük toplama, gerçek zamanlı iş analizi ve IoT verilerini yakalama gibi gelişmiş akış uygulamaları oluşturma imkanı sunar.

Kinesis Veri Akışları aracılığıyla DynamoDB verilerini Amazon S3, Amazon OpenSearch Hizmeti ve Amazon Redshift gibi diğer AWS hizmetlerine otomatik olarak teslim etmek için Amazon Kinesis Data Firehose hizmetini de kullanabilirsiniz.

Veri tabanı performansınızı kolayca izlemek için DynamoDB, ham veri tabanı performans verilerini toplayan ve işleyen Amazon CloudWatch ile entegre edilmiştir. DynamoDB veri tabanlarınız için ölçümlerin ve alarmların özelleştirilmiş görünümlerini ve panolarını oluşturmak üzere CloudWatch'u kullanabilirsiniz. Bu izleme kapasitesi varsayılan olarak sunulur ve ücretsizdir. Metrik performansına göre size otomatik olarak gönderilen alarmlar da oluşturabilirsiniz.

Amazon CloudWatch Etki Öngörüleri, veritabanlarınızı ve uygulama performansınızı kimin veya neyin etkilediğini hızlı bir şekilde belirlemenize yardımcı olur. Bu kapasite, operasyonel bir olay sırasında sorunları daha hızlı bir şekilde izole etmeyi, teşhis etmeyi ve düzeltmeyi daha da kolaylaştırır.

SSS

DynamoDB'nin benzersiz avantajları arasında tek basamaklı milisaniye performans ve %99,999'a varan erişilebilirlik sağlayan, kanıtlanmış, tam olarak yönetilen, sıfıra kadar ölçeklenebilen sunucusuz bir veri tabanı olması yer alır. Geniş ölçekte tutarlı performansıyla DynamoDB, en katı gereksinimlere sahip küresel uygulamalar için gereken yerleşik güvenlik, dayanıklılık ve güvenilirliği de sunar.

Kullanım kolaylığı ile DynamoDB, hem yeni modern uygulamalar hem de sınırsız ölçeklenebilirlik ile tutarlı hızlı performans arayan yerleşik internet ölçekli uygulamalar için sıklıkla tercih edilir.

DynamoDB geliştiriciler için üretilmiştir ve sunucusuz olduğu için teknik belgelerimizi kullanarak kurulumunu yapmak oldukça kolaydır.