DynamoDB - Temel Kavramlar

DynamoDB'yi kullanmadan önce, temel bileşenleri ve ekosistemi hakkında bilgi edinmelisiniz. DynamoDB ekosisteminde tablolar, öznitelikler ve öğelerle çalışırsınız. Tablo, öğe kümelerini ve öğeler öznitelik kümelerini tutar. Bir özellik, daha fazla ayrıştırma gerektirmeyen temel bir veri unsurudur, yani bir alan.

Birincil anahtar

Birincil Anahtarlar, tablo öğeleri için benzersiz tanımlama aracı görevi görür ve ikincil dizinler sorgu esnekliği sağlar. DynamoDB akışları, tablo verilerini değiştirerek olayları kaydeder.

Tablo Oluşturma, yalnızca bir ad ayarlamayı değil, aynı zamanda birincil anahtarı da gerektirir; tablo öğelerini tanımlar. İki öğe bir anahtarı paylaşmaz. DynamoDB, iki tür birincil anahtar kullanır -

  • Partition Key- Bu basit birincil anahtar, "bölüm anahtarı" olarak adlandırılan tek bir özellikten oluşur. Dahili olarak, DynamoDB, depolamayı belirlemek için bir karma işlevi için girdi olarak anahtar değerini kullanır.

  • Partition Key and Sort Key - "Birleşik Birincil Anahtar" olarak bilinen bu anahtar, iki özellikten oluşur.

    • Bölüm anahtarı ve

    • Sıralama anahtarı.

    DynamoDB, ilk özniteliği bir hash işlevine uygular ve aynı bölüm anahtarına sahip öğeleri birlikte depolar; sıralaması sıralama anahtarı tarafından belirlenir. Öğeler bölüm anahtarlarını paylaşabilir ancak anahtarları sıralayamaz.

Birincil Anahtar öznitelikleri yalnızca skaler (tek) değerlere izin verir; ve dize, sayı veya ikili veri türleri. Anahtar olmayan özellikler bu kısıtlamalara sahip değildir.

İkincil Dizinler

Bu dizinler, tablo verilerini alternatif bir anahtarla sorgulamanıza olanak tanır. DynamoDB, kullanımını zorlamasa da, sorgulamayı optimize eder.

DynamoDB, iki tür ikincil dizin kullanır -

  • Global Secondary Index - Bu dizin, tablo anahtarlarından farklı olabilen bölüm ve sıralama anahtarlarına sahiptir.

  • Local Secondary Index - Bu dizin, tablo ile aynı olan bir bölüm anahtarına sahiptir, ancak, sıralama anahtarı farklıdır.

API

DynamoDB tarafından sunulan API işlemleri, kontrol düzlemi, veri düzlemi (örneğin, oluşturma, okuma, güncelleme ve silme) ve akışları içerir. Kontrol düzlemi operasyonlarında, aşağıdaki araçlarla tablolar oluşturur ve yönetirsiniz -

  • CreateTable
  • DescribeTable
  • ListTables
  • UpdateTable
  • DeleteTable

Veri düzleminde, aşağıdaki araçlarla CRUD işlemlerini gerçekleştirirsiniz -

Oluşturmak Okuyun Güncelleme Sil

PutItem

BatchWriteItem

GetItem

BatchGetItem

Sorgu

Tarama

UpdateItem

Öğeyi silmek

BatchWriteItem

Akış işlemleri tablo akışlarını kontrol eder. Aşağıdaki akış araçlarını inceleyebilirsiniz -

  • ListStreams
  • DescribeStream
  • GetShardIterator
  • GetRecords

Tedarik Edilen Performans

Tablo oluştururken, kaynakları okumalar ve yazmalar için ayıran, sağlanan aktarım hızını belirtirsiniz. Üretimi ölçmek ve ayarlamak için kapasite birimlerini kullanırsınız.

Uygulamalar belirlenen verimi aştığında, istekler başarısız olur. DynamoDB GUI konsolu, daha iyi ve dinamik provizyon için ayarlanan ve kullanılan verimin izlenmesine olanak tanır.

Tutarlılığı Okuyun

DynamoDB kullanımları eventually consistent ve strongly consistentdinamik uygulama ihtiyaçlarını desteklemek için okur. Sonuçta tutarlı okumalar her zaman güncel verileri sağlamaz.

Son derece tutarlı okumalar her zaman güncel verileri sunar (ekipman arızası veya ağ sorunları dışında). Sonunda tutarlı okumalar, varsayılan ayar olarak hizmet eder veConsistentRead değiştirmek için parametre.

Bölümler

DynamoDB, veri depolama için bölümleri kullanır. Tablolar için bu depolama tahsisleri SSD desteğine sahiptir ve bölgeler arasında otomatik olarak çoğaltılır. DynamoDB, kullanıcı müdahalesi gerektirmeden tüm bölüm görevlerini yönetir.

Tablo oluşturmada tablo, bölümleri ayıran CREATING durumuna girer. AKTİF duruma ulaştığında işlem yapabilirsiniz. Sistem, kapasitesi maksimuma ulaştığında veya verimi değiştirdiğinizde bölümleri değiştirir.