Cơ sở dữ liệu DynamoDB cho hệ thống IoT sử dụng dịch vụ điện toán đám mây AWS

Lựa chọn dịch vụ CSDL: Khi thiết kế hệ thống IoT sử dụng dịch vụ điện toán đám mây AWS, việc lựa chọn dịch vụ CSDL phù hợp để lưu trữ các loại dữ liệu là rất quan trọng. AWS cung cấp nhiều loại CSDL cho các mục đích sử dụng khác nhau. 

Hình 1: Phân loại các dịch vụ CSDL của AWS và mục đích sử dụng (Nguồn: AWS)

Đối với dữ liệu IoT có thể phù hợp với ba loại là Key-value (DynamoDB), Document (DocumentDB) và Time series (Timestream), trong đó, tại thời điểm nghiên cứu thì Timestream là dịch vụ đang ở giai đoạn thử nghiệm nên chỉ đang ở phiên bản sử dụng thử (preview). Nhìn chung, hai CSDL DynamoDB và DocumentDB đều được AWS hỗ trợ đầy đủ các tính năng quan trọng về khả năng mở rộng, bảo mật, và cách thức truy vấn riêng. Tuy nhiên DynamoDB được phát triển, sử dụng và duy trì bởi đội ngũ phát triển AWS, được hỗ trợ đầy đủ về hạ tầng quản lý, xác thực, ủy quyền. Với DynamoDB, quản trị viên không phải định cấu hình bất kỳ cơ sở hạ tầng nào mà chỉ cần định cấu hình khả năng đọc/ghi dữ liệu sau khi tạo bảng một cách nhanh chóng. Dữ liệu được tự động sao chép trên các máy chủ khả dụng và DynamoDB tự động mở rộng khả năng lưu trữ theo yêu cầu. Vì vậy nhóm nghiên cứu sử dụng dịch vụ CSDL DynamoDB làm CSDL chính cho hệ thống nhà thông minh đã thiết kế.

Mô tả dịch vụ CSDL DynamoDB: Là dịch vụ CSDL NoSQL được cung cấp bởi nền tảng điện toán đám mây AWS, cho phép nhà phát triển giảm bớt gánh nặng quản trị của việc vận hành và mở rộng CSDL phân tán. Các thành phần cốt lõi trong DynamoDB là bảng (table), mục (item) và thuộc tính (attribute); một bảng là tập hợp của các mục và mỗi mục là tập hợp các thuộc tính [1].

DynamoDB sử dụng các khóa chính (primary key) để định danh duy nhất từng mục trong bảng và sử dụng các chỉ mục phụ (secondary index) để cung cấp tính linh hoạt khi truy vấn dữ liệu, cấu trúc tổng quát được mô tả ở Hình 2.


Hình 2: Mô tả cấu trúc DynamoDB

Tìm hiểu thêm:
Fanpage Cộng đồng Kỹ thuật TAPIT: TAPIT – Learning, Research and Sharing Community

Chuỗi bài viết được thực hiện và chia sẻ bởi LCV.Khải và Các nhóm nghiên cứu tại Cộng đồng Kỹ thuật TAPIT
Chúc các bạn thành công!

Tài liệu tham khảo
[1] AWS, “Amazon DynamoDB Developer Guide – API Version 2012-08-10”, Amazon Web Services, 2020.