DynamoDB

Özet:

  • AWS’e özgü bir teknolojidir, yönetilen sunucusuz (serverless) NoSQL veritabanıdır ve milisaniye gecikmeli çalışır.

  • Kapasite Modları:

    • Provisioned capacity (önceden tanımlı kapasite)

    • On-demand capacity (isteğe bağlı otomatik ölçekleme)

  • ElastiCache yerine anahtar-değer deposu (key/value store) olarak da kullanılabilir (örneğin, oturum verisi saklamak için; TTL (Time to Live) desteğiyle)

  • Varsayılan olarak yüksek erişilebilirliklidir (High Availability)

    • Çoklu AZ (Availability Zone) desteği

    • Okuma ve yazmalar birbirinden ayrıdır

    • İşlem (transaction) desteği mevcuttur

  • DAX (DynamoDB Accelerator): Mikro-saniye düzeyinde önbellekli okuma performansı sunar

  • Güvenlik, kimlik doğrulama ve yetkilendirme işlemleri IAM üzerinden yapılır

  • Olay işleme (event processing): DynamoDB Streams ile AWS Lambda veya Kinesis Data Streams entegrasyonu yapılabilir

  • Global Tables özelliği ile aktif-aktif küresel dağıtım mümkündür

  • Yedekleme:

    • Otomatik yedekleme: 35 güne kadar

    • İsteğe bağlı yedekleme desteği

    • PITR (Point-In-Time Recovery): belirli bir ana geri dönebilir

  • S3 dışa aktarma / içe aktarma:

    • PITR zaman aralığında RCU (Read Capacity Unit) kullanmadan S3'e aktarım

    • WCU (Write Capacity Unit) kullanmadan S3’ten tabloya veri içe aktarımı

  • Şemaları hızlıca evrimleştirmek için idealdir (schema-less yapı sayesinde esneklik sunar)


Kullanım Senaryosu (Use Case):

  • Sunucusuz uygulama geliştirme (örneğin: küçük belgeler, yüzlerce KB büyüklüğünde)

  • Dağıtık, sunucusuz önbellekleme sistemleri


Temel Özellikler

  • < 10 milisaniye gecikme süresi sağlayan, tam yönetimli NoSQL veritabanı hizmetidir.

  • Veriler, anahtar-değer (key-value) eşlenikleri biçiminde JSON formatında saklanır.

  • Birden fazla anahtara göre sorgulama yapmayı sağlayan çoklu indeksleme (multi-key indexing) desteği mevcuttur.

  • SSD tabanlı yapısı ile veriler, 3 farklı AWS veri merkezinde 3 kopya hâlinde saklanarak yüksek erişilebilirlik ve veri tutarlılığı sağlanır.

  • Otomatik ölçekleme (autoscaling) desteği bulunur.

  • Okuma (read) ve yazma (write) kapasite birimlerine göre ayrı ayrı dinamik kapasite ayarlaması (scaling) yapılabilir.


DynamoDB – Global Tables Özelliği

  • Çok bölgeli (multi-region) mimari sayesinde, hem okuma hem yazma işlemleri farklı AWS bölgeleri üzerinden gerçekleştirilebilir.

  • DynamoDB Streams özelliği kullanılarak Global Tables senkronizasyonu devreye alınır. Streams sayesinde tabloda yapılan her işlem sırasıyla kayıt altına alınır.

  • Bu stream kayıtları, başka olayların tetiklenmesinde (örneğin Lambda fonksiyonlarının çalıştırılması gibi) kullanılabilir.

Global Tables Özelliği
circle-info

Streams DynamoDB için bir log hizmetidir.

DynamoDB Accelerator (DAX)

  • DynamoDB Accelerator (DAX) sayesinde in-memory (bellek içi) önbellekleme yapılabilir. Bu sayede okuma işlemlerinde mikrosaniye düzeyinde gecikme sağlanır.

  • 35 güne kadar otomatik yedekleme (backup) desteği sunulur. Ayrıca, gerektiğinde manuel yedekleme işlemleri de yapılabilir.

  • Veritabanındaki öğelere TTL (Time to Live) değerleri atanabilir. Bu sayede belirli bir süre sonra otomatik olarak silinmesi gereken veriler için zaman temelli yaşam süresi tanımlanabilir.

Last updated