วิธีตั้งค่าคีย์การเรียงลำดับ DynamoDB

Withi Tang Kha Khiy Kar Reiyng Ladab Dynamodb



DynamoDB ได้รับความนิยมเพิ่มขึ้นอย่างต่อเนื่องสำหรับความสามารถในการจัดระเบียบข้อมูลในตาราง นอกเหนือจากตารางแล้ว DynamoDB ยังมีคีย์หลักที่ช่วยในการใช้งานฐานข้อมูลและความสะดวกสบายที่มาพร้อมกับการประมวลผลคำค้นหาและการสแกนผ่านตารางหรือฐานข้อมูลของคุณ

การทำความเข้าใจวิธีตั้งค่าคีย์การจัดเรียงของ DynamoDB เมื่อสร้างตารางจะช่วยให้คุณจัดระเบียบข้อมูลได้ในระยะยาว ยิ่งกว่านั้นยังช่วยเพิ่มประสิทธิภาพในการดึงข้อมูลของคุณเมื่อใดก็ตามที่คุณต้องการ

บทความนี้มุ่งเน้นไปที่คีย์การจัดเรียงของ DynamoDB นอกจากการอภิปรายว่าคีย์การจัดเรียงของ DynamoDB คืออะไร เรายังจะหารือเกี่ยวกับวิธีการตั้งค่าและใช้งานอีกด้วย







DynamoDB Sort Keys คืออะไรและใช้งานได้เมื่อใด

คีย์การจัดเรียงคือแอตทริบิวต์ที่ใช้ใน DynamoDB เพื่อจัดระเบียบรายการในพาร์ติชัน โดยทั่วไปแล้ว หลายรายการสามารถมีค่าพาร์ติชันคีย์ที่คล้ายกัน แต่มีค่าคีย์การเรียงลำดับต่างกัน แน่นอนว่า DynamoDB รองรับการใช้พาร์ติชันคีย์เท่านั้น และรวมทั้งพาร์ติชันคีย์และคีย์การเรียงลำดับในตารางเดียว



ในกรณีดังกล่าว คีย์หลักประกอบด้วยพาร์ติชันคีย์และคีย์การเรียงลำดับ โดยค่าของคีย์หลักคือรหัสผลิตภัณฑ์และประเภทผลิตภัณฑ์ตามลำดับ การรวมแอตทริบิวต์นี้เรียกว่าคีย์ผสม ทำให้การดึงรายการง่ายขึ้นและมีประสิทธิภาพมากขึ้น นอกจากนี้ คีย์พาร์ติชันยังใช้ฟังก์ชัน HASH ภายใน ในขณะที่คีย์การเรียงลำดับจะใช้ฟังก์ชัน RANGE



คำแนะนำทีละขั้นตอนเกี่ยวกับวิธีตั้งค่าคีย์การเรียงลำดับในตาราง Dynamo DB

เช่นเดียวกับคีย์พาร์ติชัน การสร้างคีย์การจัดเรียง DynamoDB จะเกิดขึ้นเมื่อคุณตั้งค่าตาราง DynamoDB ทั้งสองกรณีเกี่ยวข้องกับการสร้างคีย์สคีมาก่อน เนื่องจากคีย์การเรียงลำดับไม่เป็นอิสระและทำงานร่วมกับคีย์พาร์ติชันในคีย์ผสมหลักหรือคีย์ผสมช่วงแฮช คุณจึงเริ่มต้นด้วยการสร้างพาร์ติชันคีย์สำหรับตารางของคุณ





ขั้นตอนที่ 1: สร้างพาร์ติชันคีย์สำหรับตารางของคุณ

คีย์การเรียงลำดับมีความสัมพันธ์โดยตรงกับคีย์พาร์ติชัน และเนื่องจากพาร์ติชันคีย์เป็นคีย์หลักในการจัดเรียง DynamoDB ให้เริ่มต้นด้วยการสร้างพาร์ติชันคีย์หลังจากป้อนชื่อตารางของคุณ คุณสามารถใช้ไวยากรณ์ชวเลขต่อไปนี้:

AttributeName=string,KeyType=string ...

ประเภทแอตทริบิวต์ในไวยากรณ์ชวเลขสามารถเป็นได้ทั้ง สตริง(S), ตัวเลข(N) หรือไบนารี(B) แต่ถ้าคุณพบว่าไวยากรณ์ชวเลขยุ่งยากในการตั้งค่าพาร์ติชันคีย์ของคุณ คุณสามารถใช้ไวยากรณ์ JSON ต่อไปนี้:



[
{
'ชื่อแอตทริบิวต์': 'สตริง',
'ประเภทคีย์': 'แฮช'
}
...
]

ขั้นตอนที่ 2: เพิ่มคีย์การเรียงลำดับ

ดำเนินการเพิ่มคีย์การเรียงลำดับโดยใช้ไวยากรณ์ JSON ต่อไปนี้ คีย์การเรียงลำดับไม่ควรเป็น ID ให้ใช้แอตทริบิวต์ Type แทน

[
{
'ชื่อแอตทริบิวต์': 'สตริง',
'ประเภทคีย์': 'ช่วง'
}
...
]

โปรดทราบว่าเราใช้ฟังก์ชัน HASH เมื่อสร้างคีย์พาร์ติชัน DynamoDB ตอนนี้ เราใช้ฟังก์ชัน RANGE เมื่อตั้งค่าคีย์การเรียงลำดับ DynamoDB

ใน AWS Management Console คุณมีตัวเลือกในการเพิ่มคีย์การจัดเรียง ทำเครื่องหมายตามที่แสดง และเพิ่มคีย์ของคุณ ตัวอย่างเช่น เราสามารถมี customer_ID หรือ order_ID เป็นคีย์พาร์ติชันและ invoice_number เป็นคีย์การเรียงลำดับในตารางสำหรับคำสั่งซื้อใหม่

อ้างอิงถึงภาพประกอบต่อไปนี้:

สิ่งสำคัญคือต้องสังเกตว่าทั้งพาร์ติชันคีย์และแอตทริบิวต์คีย์การเรียงลำดับสามารถอยู่ในรูปแบบของสตริง(S) ตัวเลข(N) หรือไบนารี(B)

ใน Java ตารางเพลงที่มีทั้งพาร์ติชันคีย์และรายการคีย์การเรียงลำดับควรมีลักษณะดังนี้:

แพ็คเกจ com.dynamoDbDemo.entity;
นำเข้า com.amazonaws.services.dynamodbv2.datamodeling.*;

@DynamoDBTable(ชื่อตาราง = 'เพลง')
เพลงระดับสาธารณะ {
ศิลปินสตริงส่วนตัว;
ชื่อเพลงสตริงส่วนตัว;

@DynamoDBHashKey(attribute)
}

โมฆะสาธารณะ setSongTitle (String SongTitle) {
this.songTitle = ชื่อเพลง;
}

@DynamoDBRangeKey(attribute) // คีย์การเรียงลำดับ

สตริงสาธารณะ getSongTitle() {
หวนคืนชื่อเพลง;
}

โมฆะสาธารณะ setSongTitle (ชื่อเพลงสตริง) {
this.songTitle = ชื่อเพลง;
}

ในบรรทัดคำสั่งก่อนหน้านี้ DynamoDBTable คือคำอธิบายประกอบ Java ซึ่งใช้สำหรับการแมปคุณสมบัติกับแอตทริบิวต์ตาราง ในขณะที่คำอธิบายประกอบ DynamoDBHashKey แสดงคุณลักษณะของพาร์ติชันคีย์ ในทำนองเดียวกัน คำอธิบายประกอบ DynamoDBRangeKey อุทิศรายการให้กับแอตทริบิวต์คีย์การเรียงลำดับ คุณสามารถดำเนินการเพิ่มแอตทริบิวต์ที่ไม่ใช่หลักอื่นๆ ลงในตารางของคุณได้

บทสรุป

คู่มือนี้กล่าวถึงวิธีตั้งค่าคีย์การจัดเรียงบนตาราง DynamoDB โปรดทราบว่าคุณไม่สามารถเปลี่ยนแอตทริบิวต์ของคีย์การเรียงลำดับได้เมื่อคุณสร้างแล้ว โปรดทราบว่า DynamoDB จะค้นหาตารางและดัชนีของคุณโดยใช้พาร์ติชันคีย์และคีย์การเรียงลำดับร่วมกันเท่านั้น คุณไม่สามารถใช้คีย์การเรียงลำดับเพียงอย่างเดียวในการสอบถามตารางของคุณ ตรวจสอบให้แน่ใจว่าคุณระบุพาร์ติชันคีย์ก่อน