Các đặc trưng của Amazon DynamoDB

Tại sao chọn DynamoDB?

Amazon DynamoDB là một dịch vụ cơ sở dữ liệu NoSQL phi máy chủ hỗ trợ các mô hình dữ liệu giá trị-khóa và tài liệu. Các nhà phát triển có thể sử dụng DynamoDB để xây dựng các ứng dụng hiện đại, phi máy chủ, có thể bắt đầu điều chỉnh quy mô nhỏ và quy mô toàn cầu. Với tính năng tự động tăng quy mô theo số lượng, DynamoDB điều chỉnh quy mô để hỗ trợ các bảng ở hầu hết mọi kích thước.

Tính khả dụng, độ bền và khả năng chịu lỗi được tích hợp sẵn và không thể tắt được, vậy nên bạn không cần phải thiết kế các chức năng này cho ứng dụng của mình.

DynamoDB được thiết kế để chạy các ứng dụng hiệu năng cao trên quy mô internet. Đó là các ứng dụng sẽ khiến cơ sở dữ liệu quan hệ truyền thống phải hoạt động quá mức. Với hơn mười năm đầu tư đổi mới tiên phong, DynamoDB cung cấp khả năng điều chỉnh quy mô vô hạn với hiệu suất mili giây một chữ số nhất quán và tính khả dụng lên đến 99,999%.

Để tìm hiểu về các tính năng và khả năng mới, hãy truy cập Thông báo Thông tin mới về DynamoDB.

Hiệu suất phi máy chủ với khả năng điều chỉnh quy mô vô hạn

DynamoDB hỗ trợ cả mô hình dữ liệu khóa-giá trị và tài liệu. Là một cơ sở dữ liệu NoSQL, DynamoDB có một sơ đồ linh hoạt để mỗi mục có thể có nhiều thuộc tính khác nhau. Một sơ đồ linh hoạt cho phép bạn dễ dàng điều chỉnh khi các yêu cầu về hoạt động kinh doanh thay đổi mà không cần phải xác định lại lược đồ bảng như thường làm trong cơ sở dữ liệu quan hệ.

Với DynamoDB, bạn không cần phải cung cấp, vá hoặc quản lý máy chủ, cũng như không cần phải cài đặt, duy trì hoặc vận hành phần mềm. DynamoDB không có phiên bản (chính, phụ hoặc bản vá), không có cửa sổ bảo trì và DynamoDB không cung cấp bảo trì thời gian ngừng hoạt động. Giá theo yêu cầu của DynamoDB cung cấp định giá theo mức sử dụng, có quy mô về 0 và tự động điều chỉnh quy mô bảng để điều chỉnh dung lượng và duy trì hiệu suất mà không cần quản trị.

DynamoDB được thiết kế cho khối lượng công việc then chốt, bao gồm hỗ trợ các giao tác mang tính nguyên tố, nhất quán, tách biệt và bền vững (ACID) cho tập hợp ứng dụng đòi hỏi logic công việc phức tạp. DynamoDB cung cấp dịch vụ hỗ trợ gốc phía máy chủ cho các giao tác, đơn giản hóa trải nghiệm của nhà phát triển khi thực hiện các thay đổi lớn nhỏ kết hợp cho nhiều mục, cả trong và ngoài bảng.

DynamoDB hỗ trợ 100 hành động cho mỗi giao dịch, cải thiện năng suất của nhà phát triển. Với khả năng hỗ trợ giao tác, nhà phát triển có thể mở rộng quy mô, hiệu năng và lợi ích của DynamoDB cho doanh nghiệp ra tập hợp khối lượng công việc then chốt rộng hơn.

Bảng toàn cầu của Amazon DynamoDB  cung cấp khả năng sao chép hoạt động tích cực dữ liệu của bạn trên các Khu vực AWS mà bạn lựa chọn với độ sẵn sàng 99,999%. Bảng toàn cầu đa hoạt động, có nghĩa là bạn có thể đọc và ghi từ bất kỳ bản sao nào và các ứng dụng được phân phối trên toàn cầu của bạn có thể truy cập dữ liệu cục bộ tại các Khu vực đã chọn để có được hiệu suất đọc và ghi một phần nghìn giây.

Ngoài ra, các bảng toàn cầu sẽ tự động điều chỉnh quy mô công suất để phù hợp với khối lượng công việc đa khu vực của bạn. Bảng toàn cầu cải thiện khả năng phục hồi đa khu vực của ứng dụng của bạn và nên được coi là một phần của chiến lược kinh doanh liên tục của tổ chức.

DynamoDB Streams là khả năng thu thập dữ liệu thay đổi. Bất cứ khi nào ứng dụng tạo, cập nhật hoặc xóa các mục trong bảng, DynamoDB Streams sẽ ghi lại chuỗi theo thứ tự thời gian của mọi thay đổi cấp độ mục trong thời gian gần như thực, lý tưởng cho các ứng dụng kiến trúc theo hướng sự kiện để sử dụng và thực hiện các thay đổi. Tất cả các thay đổi được khử trùng lặp và lưu trữ trong 24 giờ.

Các ứng dụng cũng có thể truy cập bản ghi này và xem các mục dữ liệu khi chúng xuất hiện trước và sau khi được sửa đổi gần như theo thời gian thực. Luồng DynamoDB đảm bảo rằng mỗi bản ghi luồng xuất hiện chính xác một lần trong luồng và đối với mỗi mục đã sửa đổi, bản ghi luồng sẽ xuất hiện theo cùng trình tự như các sửa đổi thực tế đối với mục đó.

Tương tự như tất cả các hệ thống cơ sở dữ liệu khác, bạn bắt đầu bằng cách tạo một bảng là một bộ sựu tập các mục. Với DynamoDB, mỗi mục trong bảng có khóa chính riêng. Nhiều ứng dụng cũng có thể được hưởng lợi từ việc có một hoặc nhiều khóa phụ để tìm kiếm dữ liệu hiệu quả hơn bằng cách sử dụng các thuộc tính khác. DynamoDB cung cấp tùy chọn tạo cả chỉ mục phụ toàn cầu và cục bộ, cho phép bạn truy vấn dữ liệu trong bảng bằng khóa phụ hoặc khóa thay thế.

Các chỉ mục phụ toàn cầu còn được gọi là chỉ mục rải rác. Ngoài việc cung cấp cho bạn sự linh hoạt tối đa về cách truy cập dữ liệu của mình, bạn có thể cung cấp thông lượng ghi thấp hơn với hiệu suất tuyệt vời với chi phí thấp hơn.

Bảo mật và độ tin cậy

Với DynamoDB, không có tên người dùng hoặc mật khẩu. DynamoDB sử dụng Quản lý truy cập và nhận dạng AWS (IAM) để xác thực, tạo và truy cập tài nguyên. Bạn có thể chỉ định các chính sách IAM, các chính sách dựa trên tài nguyên và điều kiện cho phép truy cập chi tiết, hạn chế quyền truy cập đọc hoặc ghi vào các mục và thuộc tính cụ thể trong bảng, dựa trên danh tính của người dùng đó. Điều này cho phép khách hàng thực thi các chính sách bảo mật ở cấp mã.

Theo mặc định, DynamoDB mã hóa mọi dữ liệu của khách hàng ở trạng thái lưu trữ. Mã hóa ở trạng thái lưu trữ giúp tăng cường bảo mật dữ liệu của bạn bằng cách sử dụng các khóa mã hóa được lưu trữ trong Dịch vụ quản lý khóa của AWS (AWS KMS). Khi thêm SDK mã hóa cơ sở dữ liệu AWS, bạn có thể thực hiện mã hóa cấp thuộc tính để thực thi thêm hoạt động kiểm soát quyền truy cập ở mức độ chi tiết đối với dữ liệu trong bảng. DynamoDB giúp bạn dựng các ứng dụng yêu cầu tính bảo mật cao, qua đó đáp ứng mức tuân thủ bảo mật nghiêm ngặt và các yêu cầu theo quy định.

Khóa mã hóa cung cấp một lớp bảo vệ dữ liệu bổ sung bằng cách bảo mật dữ liệu của bạn khỏi truy cập trái phép vào bộ nhớ bên dưới. Bạn có thể chỉ định liệu DynamoDB có nên sử dụng khóa do AWS sở hữu (loại mã hóa mặc định), khóa được AWS quản lý hay khóa do khách hàng quản lý để mã hóa dữ liệu người dùng hay không. Bạn không phải trả thêm phí cho tính năng mã hóa mặc định bằng cách sử dụng các Khóa của AWS KMS.

Tính năng phục hồi về thời điểm trước đó (PITR) giúp bảo vệ các bảng DynamoDB trước hoạt động ghi hoặc xóa do vô tình. PITR liên tục sao lưu dữ liệu bảng DynamoDB và bạn có thể khôi phục bảng đó về bất kỳ thời điểm nào trước đó trong 35 ngày trước.

PITR không sử dụng dung lượng được cung cấp và không ảnh hưởng đến hiệu suất hoặc tính khả dụng của các ứng dụng của bạn. Kích hoạt PITR hoặc bắt đầu các hoạt động sao lưu và khôi phục chỉ đơn giản như một bước trong Bảng điều khiển quản lý AWS hoặc một lệnh gọi API duy nhất.

Tính năng sao lưu và khôi phục theo yêu cầu cho phép bạn tạo các bản sao lưu hoàn chỉnh cho dữ liệu của các bảng DynamoDB để lưu trữ dữ liệu, giúp bạn đáp ứng các yêu cầu theo quy định của công ty và chính phủ. Bạn có thể sao lưu các bảng từ vài megabyte đến hàng trăm terabyte dữ liệu, mà không ảnh hưởng đến hiệu năng hoặc khả năng sử dụng các ứng dụng sản xuất. Với tích hợp Sao lưu AWS, bạn cũng có thể sao chép các bản sao lưu theo nhu cầu giữa các tài khoản và liên Khu vực, tạo gắn thẻ phân bổ chi phí cho các bản sao lưu và chuyển đổi bản sao lưu sang kho lưu trữ nguội.

DynamoDB hỗ trợ các điểm cuối cổng đám mây riêng ảo (VPC) và các điểm cuối VPC giao diện cho các kết nối trong VPC hoặc từ các trung tâm dữ liệu tại chỗ. Bạn có thể cấu hình khả năng kết nối mạng riêng từ các ứng dụng tại chỗ sang DynamoDB thông qua điểm cuối VPC giao diện được kích hoạt với AWS PrivateLink. Điều này cho phép khách hàng đơn giản hóa khả năng kết nối riêng tư với DynamoDB và duy trì sự tuân thủ.

Chi phí hợp lý

DynamoDB cung cấp các chế độ công suất cho mỗi bảng: theo nhu cầu và được cung cấp sẵn.

  • Đối với khối lượng công việc không dễ dự đoán trước và bạn không chắc rằng bạn sẽ sử dụng nhiều hay không, chế độ công suất theo nhu cầu sẽ đảm nhận việc quản lý công suất giúp bạn và bạn chỉ phải chi trả cho tài nguyên mình sử dụng.
  • Đối với các bảng sử dụng chế độ công suất được cung cấp, bạn phải đặt công suất đọc và ghi. Chế độ công suất được cung cấp sẽ tiết kiệm chi phí hơn khi bạn tin rằng mình chỉ định mức sử dụng công suất đó hợp lý. 

Đối với các bảng sử dụng chế độ công suất theo yêu cầu, DynamoDB lập tức điều chỉnh khối lượng công việc khi chúng tăng lên hoặc giảm đi cho phù hợp với bất kỳ mức lưu lượng truy cập nào đã đạt đến trước đó. Nếu mức lưu lượng truy cập của khối lượng công việc đạt giá trị đỉnh điểm mới, DynamoDB sẽ nhanh chóng điều chỉnh cho phù hợp với khối lượng công việc đó. Bạn cũng có thể tùy chọn cấu hình thông lượng đọc hoặc ghi tối đa (hoặc cả hai) cho các bảng theo nhu cầu riêng lẻ và các chỉ mục phụ liên quan, giúp dễ dàng cân bằng chi phí và hiệu năng. Bạn có thể sử dụng chế độ công suất theo yêu cầu cho cả bảng mới và bảng hiện có, đồng thời có thể tiếp tục sử dụng các API DynamoDB hiện tại mà không cần thay đổi mã.

Đối với dữ liệu được truy cập không thường xuyên, bạn có thể sử dụng lớp bảng IA tiêu chuẩn Amazon DynamoDB, giúp giảm chi phí DynamoDB lên đến 60%. Chi phí lưu trữ thấp của các bảng IA tiêu chuẩn được thiết kế để lưu trữ lâu dài dữ liệu không được truy cập thường xuyên, chẳng hạn như bản ghi ứng dụng, dữ liệu trò chơi lịch sử, bài đăng trên phương tiện truyền thông xã hội cũ và vv. Nó có cùng tính khả dụng, độ bền và hiệu suất như bảng Amazon DynamoDB Standard, đây là tùy chọn mặc định và tiết kiệm chi phí nhất cho hầu hết các khối lượng công việc.

Đối với các bảng sử dụng công suất được cung cấp, DynamoDB sẽ tự động điều chỉnh quy mô thông lượng và dung lượng lưu trữ dựa trên công suất bạn đã đặt trước đó bằng cách theo dõi mức sử dụng hiệu năng của ứng dụng.

  • Nếu lưu lượng truy cập của ứng dụng tăng lên, DynamoDB sẽ tăng thông lượng cho phù hợp với khối lượng công việc.
  • Nếu lưu lượng truy cập của ứng dụng giảm đi, DynamoDB sẽ giảm quy mô để bạn chi trả ít hơn cho công suất không sử dụng.

Tích hợp với các dịch vụ AWS

Nhập và xuất hàng loạt từ Amazon Simple Storage Service (Amazon S3) giúp bạn nhận được nhiều giá trị hơn từ dữ liệu của mình bằng cách loại bỏ nhu cầu viết mã để di chuyển, chuyển đổi và sao chép bảng DynamoDB của bạn từ ứng dụng, tài khoản hoặc khu vực này sang ứng dụng, tài khoản hoặc Khu vực khác. Nhập và xuất hàng loạt không sử dụng dung lượng đọc hoặc ghi của bảng nên bạn không cần lập kế hoạch hoặc cung cấp dung lượng bổ sung. Quá trình nhập và xuất hàng loạt được quản lý hoàn toàn bởi DynamoDB.

Nhập hàng loạt từ Amazon S3 cho phép bạn nhập dữ liệu ở mọi lần điều chỉnh quy mô, từ megabyte đến terabyte bằng các định dạng được hỗ trợ bao gồm CSV, DynamoDB JSON và Amazon Ion. Với nhập hàng loạt từ Amazon S3, khách hàng có thể tiết kiệm tới 66% so với ghi dựa trên máy khách sử dụng dung lượng được cung cấp.

Với việc xuất hàng loạt sang Amazon S3, bạn có thể xuất dữ liệu từ các bảng có bật khôi PITR cho bất kỳ thời điểm nào trong 35 ngày qua, với độ chi tiết mỗi giây. Sau khi xuất dữ liệu từ DynamoDB sang Amazon S3, bạn có thể sử dụng các dịch vụ AWS khác như Amazon Athena, Amazon SageMaker và nhiều dịch vụ khác để phân tích dữ liệu và trích xuất thông tin chi tiết có thể thao tác.

Luồng dữ liệu Amazon Kinesis dành cho DynamoDB nắm bắt các thay đổi ở cấp độ mục trong bảng DynamoDB của bạn để cấp quyền cho bảng điều khiển trực tiếp, tạo số liệu và phân phối dữ liệu vào các hồ dữ liệu. Kinesis Data Stream cho phép bạn xây dựng các ứng dụng truyền trực tuyến nâng cao, chẳng hạn như tổng hợp bản ghi trong thời gian thực, phân tích kinh doanh trong thời gian thực và nắm bắt dữ liệu của IoT.

Thông qua Luồng dữ liệu Kinesis, bạn còn có thể dùng Firehose dữ liệu Amazon Kinesis để tự động cung cấp dữ liệu DynamoDB cho các dịch vụ AWS khác, ví dụ như Amazon S3, Dịch vụ OpenSearch của Amazon và Amazon Redshift.

Để dễ dàng theo dõi hiệu suất cơ sở dữ liệu của bạn, DynamoDB được tích hợp với Amazon Cloudwatch để thu thập và xử lý dữ liệu hiệu suất cơ sở dữ liệu thô. Bạn có thể sử dụng CloudWatch để tạo các chế độ xem và bảng điều khiển tùy chỉnh về số liệu và cảnh báo cho cơ sở dữ liệu DynamoDB của bạn. Khả năng giám sát này được cung cấp theo mặc định và miễn phí. Bạn cũng có thể tạo báo động được gửi tự động cho bạn dựa trên hiệu suất số liệu.

Amazon CloudWatch Contributor Insights giúp bạn nhanh chóng xác định ai hoặc điều gì đang ảnh hưởng đến cơ sở dữ liệu và hiệu suất ứng dụng của bạn. Khả năng này giúp việc cô lập, chẩn đoán và khắc phục sự cố nhanh chóng trở nên dễ dàng hơn trong một sự kiện hoạt động.

Câu hỏi thường gặp

Các ưu điểm độc đáo của DynamoDB bao gồm việc đây là cơ sở dữ liệu phi máy chủ được điều chỉnh quy mô về 0, được quản lý hoàn toàn, cung cấp hiệu suất một phần nghìn giây và tính khả dụng lên đến 99,999%. Với hiệu suất đồng nhất khi điều chỉnh quy mô, DynamoDB cũng cung cấp độ bảo mật, độ bền và độ tin cậy tích hợp cần thiết cho các ứng dụng toàn cầu với các yêu cầu nghiêm ngặt nhất.

Với khả năng dễ sử dụng, DynamoDB thường được chọn cho cả các ứng dụng hiện đại mới và các ứng dụng quy mô internet đã được thiết lập nhằm tìm kiếm hiệu suất nhanh nhất quán với khả năng điều chỉnh quy mô vô hạn.

DynamoDB được xây dựng cho các nhà phát triển và vì phi máy chủ nên dễ dàng thiết lập bằng tài liệu kỹ thuật của chúng tôi.