DynamoDB - Genel Bakış
DynamoDB, kullanıcıların herhangi bir miktarda veriyi depolayabilen ve alabilen ve herhangi bir miktarda trafiğe hizmet verebilen veritabanları oluşturmasına olanak tanır. Her müşterinin isteklerini dinamik olarak yönetmek için verileri ve trafiği otomatik olarak sunuculara dağıtır ve aynı zamanda hızlı performansı korur.
DynamoDB ve RDBMS
DynamoDB, NoSQL modeli kullanır, bu da ilişkisel olmayan bir sistem kullandığı anlamına gelir. Aşağıdaki tablo, DynamoDB ve RDBMS arasındaki farkları vurgulamaktadır -
Ortak görevler | RDBMS | DynamoDB |
---|---|---|
Connect to the Source | Kalıcı bir bağlantı ve SQL komutları kullanır. | HTTP isteklerini ve API işlemlerini kullanır |
Create a Table | Temel yapıları tablolardır ve tanımlanmalıdır. | Yalnızca birincil anahtarları kullanır ve oluşturma sırasında şema kullanmaz. Çeşitli veri kaynaklarını kullanır. |
Get Table Info | Tüm tablo bilgileri erişilebilir durumda kalır | Yalnızca birincil anahtarlar ortaya çıkar. |
Load Table Data | Sütunlardan oluşan satırları kullanır. | Tablolarda, özniteliklerden oluşan öğeleri kullanır |
Read Table Data | SELECT ifadelerini ve filtreleme ifadelerini kullanır. | GetItem, Query ve Scan kullanır. |
Manage Indexes | SQL ifadeleri aracılığıyla oluşturulan standart dizinleri kullanır. Tablo değişikliklerinde üzerinde yapılan değişiklikler otomatik olarak gerçekleşir. | Aynı işlevi elde etmek için ikincil bir indeks kullanır. Özellikler gerektirir (bölüm anahtarı ve sıralama anahtarı). |
Modify Table Data | UPDATE ifadesi kullanır. | Bir UpdateItem işlemi kullanır. |
Delete Table Data | Bir DELETE ifadesi kullanır. | Bir DeleteItem işlemi kullanır. |
Delete a Table | DROP TABLE deyimini kullanır. | Bir DeleteTable işlemi kullanır. |
Avantajlar
DynamoDB'nin iki ana avantajı ölçeklenebilirlik ve esnekliktir. Belirli bir veri kaynağının ve yapısının kullanılmasını zorlamaz, kullanıcıların hemen hemen her şeyle, ancak tek tip bir şekilde çalışmasına izin verir.
Tasarımı aynı zamanda daha hafif görevler ve işlemlerden zorlu kurumsal işlevselliğe kadar geniş bir kullanım yelpazesini destekler. Ayrıca birden çok dilin basit kullanımına izin verir: Ruby, Java, Python, C #, Erlang, PHP ve Perl.
Sınırlamalar
DynamoDB belirli sınırlamalardan muzdariptir, ancak bu sınırlamalar ille de büyük sorunlar yaratmaz veya sağlam gelişimi engellemez.
Bunları aşağıdaki noktalardan inceleyebilirsiniz -
Capacity Unit Sizes- Bir okuma kapasitesi birimi, 4KB'den büyük olmayan öğeler için saniyede tek bir tutarlı okumadır. Yazma kapasitesi birimi, 1KB'den büyük olmayan öğeler için saniyede tek bir yazma işlemidir.
Provisioned Throughput Min/Max- Tüm tablolar ve genel ikincil endeksler, minimum bir okuma ve bir yazma kapasitesi birimine sahiptir. Maksimum değerler bölgeye bağlıdır. ABD'de 40K okuma ve yazma, tablo başına sınır olarak kalır (hesap başına 80K) ve diğer bölgelerde 20K hesap sınırıyla tablo başına 10K sınır vardır.
Provisioned Throughput Increase and Decrease - Bunu gerektiği kadar artırabilirsiniz, ancak düşüşler tablo başına günde en fazla dört kez ile sınırlı kalır.
Table Size and Quantity Per Account - Tablo boyutlarının sınırı yoktur, ancak daha yüksek bir sınır istemediğiniz sürece hesapların 256 tablo sınırı vardır.
Secondary Indexes Per Table - Beş yerel ve beş global izin verilir.
Projected Secondary Index Attributes Per Table - DynamoDB, 20 özelliğe izin verir.
Partition Key Length and Values - Minimum uzunlukları 1 bayt, maksimum 2048 bayttır, ancak DynamoDB değerlere sınır koymaz.
Sort Key Length and Values - Tablosu yerel bir ikincil dizin kullanmıyorsa, minimum uzunluğu 1 bayt ve maksimum 1024 bayttır.
Table and Secondary Index Names - Adlar minimum 3 karakter uzunluğunda ve maksimum 255 karakter uzunluğunda olmalıdır. Şu karakterleri kullanırlar: AZ, az, 0-9, "_", "-" ve ".".
Attribute Names - Anahtarlar ve belirli özellikler için istisnalar dışında bir karakter minimum ve maksimum 64 KB olarak kalır.
Reserved Words - DynamoDB, ayrılmış kelimelerin ad olarak kullanılmasını engellemez.
Expression Length- İfade dizelerinin 4KB sınırı vardır. Öznitelik ifadelerinin 255 baytlık bir sınırı vardır. Bir ifadenin ikame değişkenlerinin 2MB sınırı vardır.