Cách đặt Khóa sắp xếp DynamoDB

Cach Dat Khoa Sap Xep Dynamodb



DynamoDB tiếp tục trở nên phổ biến nhờ khả năng tổ chức dữ liệu trong bảng. Ngoài các bảng, DynamoDB có các khóa chính hỗ trợ khả năng sử dụng của cơ sở dữ liệu và sự thuận tiện khi xử lý các truy vấn và quét qua bảng hoặc cơ sở dữ liệu của bạn.

Hiểu cách đặt khóa sắp xếp DynamoDB khi tạo bảng sẽ giúp bạn sắp xếp dữ liệu của mình một cách lâu dài. Hơn nữa, nó còn cải thiện hiệu quả truy xuất dữ liệu của bạn bất cứ khi nào bạn cần.

Bài viết này tập trung vào các khóa sắp xếp của DynamoDB. Bên cạnh việc thảo luận về khóa sắp xếp DynamoDB là gì, chúng ta cũng sẽ thảo luận về cách đặt và sử dụng chúng.







Khóa sắp xếp DynamoDB là gì và khi nào áp dụng?

Khóa sắp xếp là thuộc tính được sử dụng trong DynamoDB để sắp xếp các mục trong một phân vùng. Thông thường, một số mục có thể có các giá trị khóa phân vùng tương tự nhưng có các giá trị khóa sắp xếp khác nhau. Tất nhiên, DynamoDB chỉ hỗ trợ sử dụng các khóa phân vùng và kết hợp cả khóa phân vùng và khóa sắp xếp trong một bảng duy nhất.



Trong những trường hợp như vậy, khóa chính bao gồm khóa phân vùng và khóa sắp xếp, với các giá trị lần lượt là productID và productType. Tổ hợp thuộc tính này, được gọi là khóa tổng hợp, giúp truy xuất các mục dễ dàng và hiệu quả hơn. Ngoài ra, khóa phân vùng sử dụng hàm HASH bên trong trong khi khóa sắp xếp sử dụng hàm RANGE.



Hướng dẫn từng bước về cách thiết lập khóa sắp xếp trong bảng Dynamo DB

Giống như với khóa phân vùng, việc tạo khóa sắp xếp DynamoDB diễn ra khi bạn thiết lập bảng DynamoDB. Cả hai trường hợp đều liên quan đến việc tạo một lược đồ chính trước tiên. Vì các phím sắp xếp không độc lập và hoạt động cùng với các phím phân vùng trong tổ hợp phím tổng hợp chính hoặc phím phạm vi băm, nên bạn bắt đầu bằng cách tạo một khóa phân vùng cho bảng của mình.





Bước 1: Tạo khóa phân vùng cho bảng của bạn

Các khóa sắp xếp có mối quan hệ trực tiếp với các khóa phân vùng. Và vì khóa phân vùng chiếm ưu thế nhất trong cách sắp xếp DynamoDB, nên hãy bắt đầu bằng cách tạo khóa phân vùng sau khi nhập tên bảng của bạn. Bạn có thể sử dụng cú pháp tốc ký sau:

AttributeName=chuỗi,KeyType=chuỗi ...

Loại thuộc tính trong cú pháp tốc ký có thể là một Chuỗi (S), Số (N) hoặc Nhị phân (B). Nhưng nếu bạn thấy cú pháp tốc ký rườm rà khi đặt khóa phân vùng, bạn có thể sử dụng cú pháp JSON sau:



[
{
'Tên Thuộc Tính': 'chuỗi',
'Kiểu khóa': 'HASH'
}
...
]

Bước 2: Thêm khóa sắp xếp

Tiến hành thêm khóa sắp xếp bằng cú pháp JSON sau. Khóa sắp xếp không được là ID. Thay vào đó, hãy sử dụng một loại thuộc tính.

[
{
'Tên Thuộc Tính': 'chuỗi',
'Kiểu khóa': 'PHẠM VI'
}
...
]

Lưu ý rằng chúng tôi đã sử dụng hàm HASH khi tạo khóa phân vùng DynamoDB. Bây giờ, chúng tôi sử dụng hàm RANGE khi thiết lập khóa sắp xếp DynamoDB.

Trong Bảng điều khiển quản lý AWS, bạn có các tùy chọn để thêm khóa sắp xếp, đánh dấu khóa như minh họa và thêm khóa của mình. Ví dụ: chúng ta có thể có customer_ID hoặc order_ID làm khóa phân vùng và invoice_number làm khóa sắp xếp trong bảng cho Đơn đặt hàng mới.

Tham khảo hình minh họa sau:

Điều quan trọng cần lưu ý là cả thuộc tính khóa phân vùng và khóa sắp xếp đều có thể ở dạng Chuỗi (S), Số (N) hoặc Nhị phân (B).

Trong Java, một bảng Âm nhạc có cả các mục khóa phân vùng và khóa sắp xếp sẽ giống như sau:

gói com.dynamoDbDemo.entity;
nhập com.amazonaws.services.dynamodbv2.datamodeling.*;

@DynamoDBTable(tableName = 'Âm nhạc')
lớp công cộng Âm nhạc {
Nghệ sĩ đàn dây riêng;
bài hát Chuỗi riêngTiêu đề;

@DynamoDBHashKey(attribute)
}

public void setSongTitle(String SongTitle) {
this.songTitle = songTitle;
}

@DynamoDBRangeKey(attribute) // khóa sắp xếp

chuỗi công khai getSongTitle() {
bài hát trở lạiTiêu đề;
}

public void setSongTitle(String songTitle) {
this.songTitle = songTitle;
}

Trong các dòng lệnh trước, DynamoDBTable là chú thích Java được sử dụng để ánh xạ một thuộc tính tới thuộc tính bảng trong khi chú thích DynamoDBHashKey gán một khóa phân vùng. Tương tự, chú thích DynamoDBRangeKey dành riêng một mục cho thuộc tính khóa sắp xếp. Bạn có thể tiến hành thêm các thuộc tính không chính khác vào bảng của mình.

Phần kết luận

Hướng dẫn này thảo luận về cách thiết lập khóa sắp xếp trên bảng DynamoDB. Lưu ý rằng bạn không thể thay đổi các thuộc tính khóa sắp xếp sau khi tạo chúng. Một lần nữa, cần lưu ý rằng DynamoDB sẽ chỉ truy vấn các bảng và chỉ mục của bạn bằng cách sử dụng khóa phân vùng và khóa sắp xếp cùng nhau. Bạn không thể chỉ sử dụng các phím sắp xếp để truy vấn các bảng của mình. Đảm bảo rằng bạn chỉ định khóa phân vùng trước.