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.