Trong bài học này, bạn sẽ tìm hiểu một số ví dụ đơn giản về việc chèn và truy xuất dữ liệu bằng DynamoDB. Bạn tạo bảng DynamoDB bằng API CreateTable, rồi bạn chèn một số mục bằng lệnh gọi API BatchWriteItem. Cuối cùng, bạn sẽ truy xuất các mục riêng lẻ bằng lệnh gọi API GetItem. Trước khi bạn thực hiện các ví dụ này, chúng ta sẽ thảo luận về mô hình dữ liệu sẽ được sử dụng trong ứng dụng hiệu sách trực tuyến mẫu của bạn.
Trong các mô-đun tiếp theo, bạn sẽ tìm hiểu cách truy xuất nhiều mục cùng một lúc bằng lệnh gọi API Query và cách kích hoạt các mẫu hình truy vấn bổ sung bằng cách sử dụng chỉ mục phụ. Bạn cũng sẽ biết cách cập nhật các mục hiện có trong bảng của mình.
Thời gian hoàn thành mô-đun: 15 phút
Các khái niệm DynamoDB sau đây đóng vai trò chính trong mô-đun này:
- Bảng: Một tập hợp bản ghi dữ liệu của DynamoDB.
- Mục: Một bản ghi dữ liệu đơn lẻ trong bảng DynamoDB. Có thể so sánh bản ghi với một hàng trong cơ sở dữ liệu quan hệ.
- Thuộc tính: Một yếu tố dữ liệu đơn lẻ trên một mục. Có thể so sánh thuộc tính với một cột trong cơ sở dữ liệu quan hệ. Tuy nhiên, không giống như các cột trong cơ sở dữ liệu quan hệ, các thuộc tính không cần được chỉ định khi tạo bảng, ngoài khóa chính sẽ được thảo luận sau trong mô-đun này. Thuộc tính có thể là các loại đơn giản như chuỗi, số nguyên hoặc Boolean hay các loại phức tạp như danh sách hoặc bản đồ.
- Khóa chính: Khóa chính là mã định danh duy nhất cho một mục duy nhất trong bảng DynamoDB. Tên và loại khóa chính phải được chỉ định khi tạo bảng và khóa chính của loại được chỉ định phải được bao gồm trong mỗi mục được ghi vào bảng. Khóa chính đơn giản bao gồm một thuộc tính duy nhất còn khóa chính tổng hợp bao gồm hai thuộc tính: khóa phân vùng và khóa sắp xếp. Ví dụ: Bạn có thể tạo một khóa chính đơn giản bằng cách sử dụng “UserID” làm mã định danh hoặc tạo một khóa chính tổng hợp bằng cách kết hợp “UserID” và “Creation_Date” làm mã định danh mục.
Khi xây dựng một ứng dụng, bạn phải luôn dành thời gian để thiết kế các mô hình dữ liệu cần thiết trong logic ứng dụng của bạn. Thiết kế mô hình dữ liệu này nên cân nhắc các nhu cầu truy cập dữ liệu sẽ cần trong ứng dụng của bạn, dành cho cả việc đọc và ghi dữ liệu.
DynamoDB là cơ sở dữ liệu phi quan hệ. Với cơ sở dữ liệu phi quan hệ, bạn không cần chỉ định trước toàn bộ sơ đồ khi tạo bảng. Bạn chỉ cần khai báo khóa chính cho bảng của mình, khóa này sẽ xác định duy nhất từng bản ghi trong bảng của bạn. Điều này giúp giảm chi phí trả trước khi thiết kế mô hình dữ liệu vì bạn có thể dễ dàng sửa đổi sơ đồ khi nhu cầu của ứng dụng thay đổi.
Như đã đề cập trong phần “Nền tảng ứng dụng” thuộc phần “Giới thiệu” trong hướng dẫn này, ứng dụng của bạn cần truy xuất một cuốn sách riêng lẻ theo tiêu đề và tác giả. Vì sự kết hợp giữa tiêu đề và tác giả là mã định danh duy nhất của một cuốn sách, bạn có thể sử dụng các thuộc tính đó làm khóa chính của bảng. Ứng dụng của bạn cũng cần lưu trữ thông tin về thể loại của cuốn sách, chẳng hạn như lịch sử hoặc tiểu sử, cũng như các định dạng có sẵn của sách — bìa cứng, bìa mềm hay sách nói — được tham chiếu tới số mặt hàng trong hệ thống hàng lưu kho của bạn.
Với những nhu cầu này, bạn có thể sử dụng sơ đồ sau cho bảng của mình:
- Tiêu đề (một chuỗi): Tiêu đề của cuốn sách
- Tác giả (một chuỗi): Tác giả của cuốn sách
- Thể loại (một chuỗi) Thể loại của cuốn sách, chẳng hạn như Lịch sử, Tiểu sử và Khoa học viễn tưởng
- Các định dạng (bản đồ): Các định dạng khác nhau mà bạn có sẵn để bán (như bìa cứng, bìa mềm và sách nói) và số mặt hàng thuộc mỗi định dạng trong hệ thống hàng lưu kho của bạn
Trong các bước sau, bạn tạo bảng bằng cách chỉ định khóa chính tổng hợp (Author và Title) của bảng. Sau đó, bạn tải một số mục vào bảng của bạn và đọc các mục riêng lẻ từ bảng.