DynamoDB Sıralama Anahtarını Ayarlama

Dynamodb Siralama Anahtarini Ayarlama



DynamoDB, verileri tablolar halinde düzenleme yeteneği nedeniyle popülaritesini artırmaya devam ediyor. DynamoDB, tabloların ötesinde, veritabanının kullanılabilirliğine yardımcı olan birincil anahtarlara ve tablonuz veya veritabanınız aracılığıyla sorguları ve taramaları işlemenin getirdiği rahatlığa sahiptir.

Tabloları oluştururken DynamoDB sıralama anahtarlarını nasıl ayarlayacağınızı anlamak, verilerinizi düzenlemenize büyük ölçüde yardımcı olur. Dahası, herhangi bir şeye ihtiyacınız olduğunda verilerinizi alma verimliliğini artırır.

Bu makale, DynamoDB sıralama anahtarlarına odaklanmaktadır. DynamoDB sıralama anahtarlarının ne olduğunu tartışmanın yanı sıra, bunların nasıl ayarlanıp kullanılacağını da tartışacağız.







DynamoDB Sıralama Anahtarları Nelerdir ve Ne Zaman Uygulanabilir?

Sıralama anahtarları, bir bölümdeki öğeleri düzenlemek için DynamoDB'de kullanılan niteliklerdir. Tipik olarak, birkaç öğe benzer bölüm anahtarı değerlerine sahip olabilir ancak farklı sıralama anahtarı değerlerine sahip olabilir. Elbette, DynamoDB yalnızca bölüm anahtarlarını kullanmayı ve hem bölüm anahtarlarını hem de sıralama anahtarlarını tek bir tabloda birleştirmeyi destekler.



Bu gibi durumlarda, birincil anahtar, değerleri sırasıyla bir productID ve productType olan bir bölüm anahtarı ve bir sıralama anahtarından oluşur. Bileşik anahtar olarak bilinen bu özellik kombinasyonu, öğelerin alınmasını daha kolay ve verimli hale getirir. Ayrıca, ayırma anahtarı dahili HASH işlevini kullanırken, sıralama anahtarı RANGE işlevini kullanır.



Dynamo DB Tablolarında Sıralama Anahtarının Nasıl Ayarlanacağına İlişkin Adım Adım Kılavuz

Bölüm anahtarlarında olduğu gibi, DynamoDB sıralama anahtarlarının oluşturulması, siz DynamoDB tablosunu ayarlarken gerçekleşir. Her iki durum da önce bir anahtar şema oluşturmayı içerir. Sıralama anahtarları bağımsız olmadığından ve birincil bileşik anahtar veya karma aralığı anahtar birleşimindeki bölüm anahtarlarıyla birlikte çalıştıklarından, tablonuz için bir bölüm anahtarı oluşturarak başlayın.





1. Adım: Tablonuz İçin Bir Bölüm Anahtarı Oluşturun

Sıralama anahtarlarının bölüm anahtarlarıyla doğrudan bir ilişkisi vardır. DynamoDB düzenlemesinde bölüm anahtarı en baskın anahtar olduğundan, tablo adınızı girdikten sonra bölüm anahtarını oluşturarak başlayın. Aşağıdaki kısayol sözdizimini kullanabilirsiniz:

AttributeName=dize,KeyType=dize ...

Kısa yol sözdizimindeki öznitelik türü, Dizi(S), Sayı(N) veya İkili(B). Ancak, bölüm anahtarınızı ayarlarken kestirme sözdizimini kullanışsız bulursanız, aşağıdaki JSON sözdizimini kullanabilirsiniz:



[
{
'ÖzellikAdı': 'dize',
'KeyType': 'HASH'
}
...
]

2. Adım: Bir Sıralama Anahtarı Ekleyin

Aşağıdaki JSON sözdizimini kullanarak bir sıralama anahtarı eklemeye devam edin. Sıralama anahtarı bir kimlik olmamalıdır. Bunun yerine, bir öznitelik Türü kullanın.

[
{
'ÖzellikAdı': 'dize',
'KeyType': 'ARALIK'
}
...
]

Bir DynamoDB bölümleme anahtarı oluştururken HASH işlevini kullandığımızı unutmayın. Şimdi, DynamoDB sıralama anahtarını ayarlarken RANGE işlevini kullanıyoruz.

AWS Management Console'da bir sıralama anahtarı ekleme, onu gösterildiği gibi işaretleme ve anahtarınızı ekleme seçeneklerine sahipsiniz. Örneğin, Yeni Siparişler tablosunda bölüm anahtarı olarak müşteri_kimliği veya sipariş_kimliği ve sıralama anahtarı olarak fatura_numarası olabilir.

Aşağıdaki resme bakın:

Hem bölüm anahtarının hem de sıralama anahtarı özniteliklerinin bir Dize(S), Sayı(N) veya İkili(B) biçiminde olabileceğini not etmek önemlidir.

Java'da, hem bölüm anahtarı hem de sıralama anahtarı girişleri içeren bir Müzik tablosu şöyle görünmelidir:

com.dynamoDbDemo.entity paketi;
com.amazonaws.services.dynamodbv2.datamodeling.* dosyasını içe aktarın;

@DynamoDBTable(tableName = 'Müzik')
genel sınıf Müzik {
özel Yaylı Sanatçı;
özel String şarkıTitle;

@DynamoDBHashKey(attribute)
}

genel geçersiz setSongTitle(String SongTitle) {
this.songTitle = şarkıTitle;
}

@DynamoDBRangeKey(attribute) // sıralama anahtarı

genel String getSongTitle() {
şarkıTitle'ı döndür;
}

genel geçersiz setSongTitle(String songTitle) {
this.songTitle = şarkıTitle;
}

Önceki komut satırlarında, DynamoDBTable, bir özelliği tablo özniteliğine eşlemek için kullanılan Java ek açıklamasıdır, DynamoDBHashKey ek açıklaması ise bir bölüm anahtarı atfeder. Benzer şekilde, DynamoDBRangeKey ek açıklaması, sıralama anahtarı özniteliğine bir öğe ayırır. Tablonuza birincil olmayan başka nitelikler eklemek için ilerleyebilirsiniz.

Çözüm

Bu kılavuz, bir DynamoDB tablosunda bir sıralama anahtarının nasıl kurulacağını tartışır. Sıralama anahtarı niteliklerinizi oluşturduktan sonra değiştiremeyeceğinizi unutmayın. Yine, DynamoDB'nin tablolarınızı ve dizinlerinizi yalnızca bir bölüm anahtarı ve bir sıralama anahtarını birlikte kullanarak sorgulayacağını unutmamak önemlidir. Tablolarınızı sorgulamak için sıralama anahtarlarını tek başına kullanamazsınız. Önce bölüm anahtarını belirttiğinizden emin olun.