Amazon SimpleDB là kho dữ liệu NoSQL có độ sẵn sàng sử dụng cao có chức năng giảm tải cho công việc quản trị cơ sở dữ liệu. Các nhà phát triển chỉ cần lưu và truy vấn mục dữ liệu bằng yêu cầu dịch vụ web và Amazon SimpleDB sẽ đảm nhiệm phần còn lại.
Không bị ràng buộc bởi các yêu cầu khắt khe của cơ sở dữ liệu quan hệ, Amazon SimpleDB được tối ưu hóa để sở hữu khả năng sử dụng và độ linh hoạt cao, mà người dùng sẽ chỉ phải chịu ít hoặc hoàn toàn không phải chịu bất kỳ gánh nặng nào về quản trị. Phía sau hậu trường, Amazon SimpleDB đảm nhiệm việc tạo và quản lý nhiều bản sao dữ liệu được phân bổ ở nhiều vùng địa lý để bảo đảm độ sẵn sàng và độ bền cao cho dữ liệu của bạn. Dịch vụ này chỉ tính phí các tài nguyên được sử dụng thực tế cho việc lưu trữ dữ liệu và phục vụ yêu cầu của bạn. Bạn có thể thay đổi mô hình dữ liệu trong quá trình vận hành và dữ liệu sẽ tự động được tạo chỉ mục cho bạn. Với Amazon SimpleDB, bạn có thể tập trung vào việc phát triển ứng dụng mà không phải lo lắng về việc cung cấp cơ sở hạ tầng, bảo đảm độ sẵn sàng cao, bảo trì phần mềm, quản lý sơ đồ và chỉ mục hay tinh chỉnh hiệu năng.
Đây là dịch vụ cho phép bạn hoàn toàn tập trung vào việc phát triển ứng dụng với giá trị gia tăng thay vì các công tác quản trị cơ sở dữ liệu tiêu tốn thời gian và công sức. Amazon SimpleDB sẽ tự động quản lý việc cung cấp cơ sở hạ tầng, bảo trì phần cứng và phần mềm, tạo bản sao và chỉ mục cho các mục dữ liệu cũng như tinh chỉnh hiệu năng.
Amazon SimpleDB có chức năng tự động tạo nhiều bản sao được phân bổ ở nhiều vùng địa lý cho từng mục dữ liệu bạn lưu trữ. Chức năng này đem lại khả năng sử dụng và độ bền cao – trong trường hợp khó có thể xảy ra là một bản sao bị hư hỏng, Amazon SimpleDB có khả năng chuyển đổi dự phòng sang bản sao khác trong hệ thống.
Khi hoạt động kinh doanh thay đổi hay ứng dụng phát triển, bạn sẽ có thể dễ dàng đưa các thay đổi này vào Amazon SimpleDB mà không phải lo lắng về việc phá vỡ sơ đồ chắc chắn hay tái cấu trúc mã – bạn chỉ cần thêm thuộc tính khác vào bộ dữ liệu Amazon SimpleDB của mình khi cần. Bạn cũng có thể chọn giữa các yêu cầu đọc nhất quán hay nhất quán cuối để đạt độ linh hoạt thích hợp với các yêu cầu về hiệu năng đọc (độ trễ và thông lượng) và độ nhất quán theo nhu cầu của ứng dụng hoặc thậm chí là từng phần khác loại bên trong ứng dụng của bạn.
Amazon SimpleDB cung cấp khả năng tổ chức hợp lý hóa quyền truy cập kho ứng dụng và nhiều chức năng truy vấn thay thế cho việc sử dụng cụm cơ sở dữ liệu quan hệ truyền thống – nhưng đã loại bỏ đi các hoạt động vận hành cơ sở dữ liệu khác có quan hệ phức tạp thường không được sử dụng đến. Dịch vụ này cho phép bạn nhanh chóng thêm dữ liệu và dễ dàng truy xuất hoặc chỉnh sửa dữ liệu thông qua bộ lệnh gọi API đơn giản.
Amazon SimpleDB được thiết kế để dễ dàng tích hợp với các dịch vụ AWS khác như Amazon S3 và EC2, cung cấp cơ sở hạ tầng để tạo ra các ứng dụng có quy mô web. Ví dụ, các nhà phát triển có thể chạy ứng dụng của mình trên Amazon EC2 và lưu đối tượng dữ liệu trên Amazon S3. Sau đó, họ có thể sử dụng Amazon SimpleDB để truy vấn siêu dữ liệu đối tượng từ bên trong ứng dụng trên Amazon EC2 và trả về các con trỏ đến các đối tượng được lưu trên Amazon S3. Các nhà phát triển cũng có thể sử dụng Amazon SimpleDB với Amazon RDS cho các ứng dụng có nhu cầu sử dụng cơ sở dữ liệu quan hệ và không quan hệ. Dữ liệu được truyền miễn phí giữa Amazon SimpleDB và các Amazon Web Services khác trong cùng Khu vực.
Amazon SimpleDB cung cấp điểm cuối https để bảo đảm kết nối bảo mật và mã hóa giữa ứng dụng của bạn hoặc ứng dụng khách và miền của bạn. Ngoài ra, thông qua khả năng tích hợp với AWS Identity and Access Management, bạn sẽ có thể thiết lập khả năng kiểm soát quyền truy cập các miền và hoạt động SimpleDB cụ thể ở cấp người dùng hoặc nhóm.
Nhờ quy mô của Amazon, bạn sẽ có được lợi ích kinh tế khi dùng Amazon SimpleDB. Bạn chỉ phải trả tiền cho tài nguyên bạn thực sự sử dụng. Đối với Amazon SimpleDB, cách tính này tương đương với việc các tác vụ đọc và ghi kho dữ liệu được tính phí theo tài nguyên điện toán được mỗi hoạt động sử dụng, bên cạnh đó, bạn sẽ không bị tính phí các tài nguyên điện toán khi không chủ động sử dụng (tức là đưa ra yêu cầu).
Do Amazon SimpleDB giúp bạn hoàn toàn giảm tải lượng yêu cầu phải thực hiện để vận hành cơ sở dữ liệu sản xuất, nhiều nhà phát triển sẽ thấy đây là lựa chọn kho dữ liệu lý tưởng và ít tốn công sức quản trị để ghi nhật ký thông tin về các điều kiện hoặc sự kiện, cập nhật tình trạng, hoạt động lặp lại, tiến trình của quy trình công việc hay trạng thái thiết bị và ứng dụng. Amazon SimpleDB đem đến cho bạn khả năng "thiết lập rồi để tự vận hành" các nhật ký dữ liệu một cách tiết kiệm chi phí rồi sử dụng cho nhiều mục đích đa dạng như:
- Theo dõi hoặc theo dấu
- Đo lường
- Phân tích xu hướng kinh doanh
- Kiểm toán
- Lưu trữ hoặc tuân thủ quy định
Sau đây là một số ví dụ về ứng dụng:
- Lưu trữ tập trung nhật ký máy chủ để giảm không gian mà các nhật ký này chiếm dụng trên từng máy chủ đang chạy
- Ghi nhật ký các chỉ số vận hành hoặc kết quả kết quả hiệu năng liên tục để phân tích về sau
- Kiểm tra các mục nhập truy cập hoặc thay đổi cấu hình cho ứng dụng hoặc thiết bị sử dụng kết nối mạng
- Ghi lại và theo dõi điều kiện môi trường (nhiệt độ, mức áp suất, độ ẩm, v.v.) ở nhiều địa điểm cũng như cảnh báo lập trình khác nhau cho nhiều điều kiện cụ thể
- Ghi nhật ký và theo dấu thông tin vị trí địa lý về đối tượng hoặc trạng thái tiến trình của hoạt động trong quy trình công việc
Nhiều thuộc tính của Amazon SimpleDB khiến dịch vụ này trở thành lựa chọn kho dữ liệu hấp dẫn cho nhật ký dữ liệu:
- Tập trung, với độ sẵn sàng cao – Nếu trước đây, nhật ký dữ liệu của bạn bị kẹt cục bộ ở nhiều thiết bị/đối tượng, ứng dụng hay kho tiến trình thì nay, bạn sẽ được tận hưởng lợi ích của khả năng truy cập tập trung dữ liệu của mình chỉ tại một nơi trên đám mây. Còn nữa, Amazon SimpleDB sẽ tự động và nhân bản ra nhiều vị trí địa lý dữ liệu của bạn để bảo đảm độ sẵn sàng cao. Nghĩa là, không giống như giải pháp tại chỗ tập trung, với Amazon SimpleDB, bạn sẽ không phải lâm vào tình trạng hư hỏng một chỗ là mất hết tất cả và dữ liệu của bạn vẫn sẽ có sẵn khi bạn cần. Toàn bộ dữ liệu có thể được lưu bằng yêu cầu dịch vụ web với chỉ một giải pháp rồi sau đó có thể truy cập bằng thiết bị bất kỳ.
- Hoàn toàn không phải quản trị – Bạn chỉ cần lưu các mục dữ liệu của mình bằng yêu cầu dịch vụ web đơn giản và Amazon Web Services sẽ đảm nhiệm phần việc còn lại. Bản chất "thiết lập rồi để tự vận hành" của dịch vụ này đồng nghĩa với việc bạn sẽ không phải tốn thời gian cho công việc quản lý cơ sở dữ liệu để lưu trữ và duy trì nhật ký dữ liệu.
- Tiết kiệm chi phí – Amazon SimpleDB tính phí cho việc lưu trữ và truy vấn nhật ký dữ liệu của bạn với mức giá không tốn kém. Do bạn chỉ thanh toán theo mức sử dụng cho tài nguyên bạn sử dụng, bạn sẽ không cần phải tự mình lập kế hoạch cho dung lượng sử dụng hay lo lắng về khả năng tải của cơ sở dữ liệu. Dịch vụ này sẽ chỉ đơn giản là phản hồi khối lượng yêu cầu vào và ra, chỉ tính phí cho lượng tài nguyên sử dụng thực tế.
Đối với các nhà phát triển trò chơi trực tuyến trên bất kỳ nền tảng nào, Amazon SimpleDB sẽ đem đến giải pháp cơ sở dữ liệu có độ sẵn sàng cao, quy mô linh hoạt và không cần phải quản trị cho dữ liệu người dùng và trò chơi.
Các loại dữ liệu mà trò chơi trực tuyến thông thường có thể lưu trữ, tạo chỉ mục và truy vấn với Amazon SimpleDB gồm có:
- Điểm số và thành tích của người dùng
- Thiết lập hoặc thiết lập ưu tiên của người dùng
- Thông tin về vật phẩm của người chơi hoặc nội dung do người dùng tạo
- Trạng thái phiên trò chơi (khi pha xử lý được lưu hoặc bị gián đoạn)
- Nội dung trò chơi động (áp dụng cấu trúc lấy dịch vụ làm trung tâm cho trò chơi của bạn đồng thời lưu trữ và cung cấp các thử thách hoặc nội dung mới cho người chơi với Amazon SimpleDB)
- Siêu dữ liệu được tạo chỉ mục cho các đối tượng lớn mà trò chơi của bạn sử dụng và lưu trữ trên Amazon S3
Nhiều thuộc tính của Amazon SimpleDB khiến dịch vụ này trở thành lựa chọn cực kỳ thích hợp để trở thành kho dữ liệu cho dữ liệu trò chơi trực tuyến:
- Độ sẵn sàng cao (tự động nhân bản ra nhiều vị trí địa lý và chuyển đổi dự phòng): Amazon SimpleDB đạt được độ sẵn sàng cao bằng cách tự động tạo ra nhiều bản sao của dữ liệu và quản lý quá trình chuyển đổi dự phòng sang bản sao có thể sử dụng trong trường hợp không thể sử dụng một bản sao. Nghĩa là, bạn sẽ tránh được sự phức tạo của việc phải thiết lập các cụm cơ sở dữ liệu nhưng trò chơi và người dùng của bạn vẫn được tận hưởng khả năng truy cập các dữ liệu chủ chốt một cách ổn định và không gián đoạn.
- Thay đổi quy mô không cần thao tác: Khi lượng người dùng tăng lên và hoạt động của người chơi có sự dao động, Amazon SimpleDB sẽ chỉ đơn giản là phản hồi với lưu lượng và khối lượng yêu cầu vào và ra mà không cần đến sự can thiệp của nhà phát triển. Bạn chỉ phải trả tiền cho tài nguyên bạn thực sự sử dụng.
- Tổng hiệu suất của việc không phải thực hiện công tác quản trị: Bạn sẽ tránh được sự phiền phức của công tác quản lý cơ sở dữ liệu và loại bỏ công việc cung cấp cơ sở dữ liệu, cài đặt phần mềm, tạo và duy trì sơ đồ, dựng chỉ mục hoặc tinh chỉnh hiệu năng truy vấn. Bạn sẽ có thể quay lại với việc xây dựng các trò chơi và tính năng thú vị cho người dùng và bỏ qua một bên công việc của người quản trị viên cơ sở dữ liệu.
Nhiều nhà phát triển sử dụng Amazon SimpleDB kết hợp với Amazon Simple Storage Service (Amazon S3). Bạn có thể sử dụng Amazon SimpleDB để lưu trữ các con trỏ đến vị trí đối tượng Amazon S3 và thông tin chi tiết về đối tượng (siêu dữ liệu), theo đó, bổ trợ cho Amazon S3 khả năng truy vấn đa dạng của cơ sở dữ liệu. Đối với các nhà phát triển lưu trữ số lượng lớn đối tượng trên Amazon S3, Amazon SimpleDB sẽ đem lại cách thức linh hoạt, quy mô linh hoạt và không tốn kém để vừa lưu trữ siêu dữ liệu đối tượng vừa giảm tải toàn bộ công việc quản trị gắn liền với công tác vận hành cơ sở dữ liệu. Một số ví dụ phổ biến về siêu dữ liệu đối tượng có thể được dễ dàng lưu trữ, tạo chỉ mục và truy vấn trên Amazon SimpleDB gồm có:
- Kiểu hoặc định dạng dữ liệu (hình ảnh, video, văn bản)
- Liên kết người dùng hoặc chỉ định quyền truy cập
- Thời điểm tạo, truy cập hoặc sửa đổi của đối tượng
- Tên hoặc địa điểm của các đối tượng liên quan
- Xếp hạng và đánh giá của người dùng
- Thẻ chủ đề hoặc hạng mục
- Thẻ vị trí địa lý
Việc lưu trữ các siêu dữ liệu như các ví dụ được liệt kê bên trên đóng vai trò quan trọng đối với việc phân phối nội dung, ứng dụng phương tiện, sao lưu và lưu trữ ứng dụng cũng nhiều loại ứng dụng khác. Amazon SimpleDB là ngôi nhà lý tưởng cho siêu dữ liệu vì dịch vụ này cung cấp:
- Thiết kế linh hoạt không sử dụng sơ đồ: Dễ dàng bổ sung thêm thuộc tính siêu dữ liệu mà không phải "phá vỡ" sơ đồ chắc chắn. Nếu muốn bắt đầu theo dõi xếp hạng đối tượng video của người dùng, bạn sẽ không phải thực hiện các thay đổi cơ sở dữ liệu tốn thời gian.
- Thuộc tính đa giá trị: Thuộc tính siêu dữ liệu có thể có nhiều giá trị. Nghĩa là, bạn có thể gắn cho ảnh thẻ của nhiều người hoặc gắn cho tệp nhạc nhiều thẻ thể loại.
- Tổng hiệu suất của việc không phải thực hiện công tác quản trị: Bên cạnh loại bỏ sự phiền phức của việc cung cấp cơ sở hạ tầng cũng như cài đặt và bảo trì phần mềm cần thiết để vận hành cơ sở hạ tầng, Amazon SimpleDB sẽ tự động tạo chỉ mục cho dữ liệu của bạn, tinh chỉnh hiệu năng truy vấn và tạo ra bản sao ở nhiều vị trí địa lý cho dữ liệu của bạn.
Amazon SimpleDB cũng sẽ đem đến khả năng thay đổi quy mô không gặp nhiều xung đột, tự động phản hồi với thay đổi trong khối lượng yêu cầu cũng như chỉ tính phí cho lượng tài nguyên bạn sử dụng thực tế với mức giá tiết kiệm.
- Hãy truy cập Thư viện và mã mẫu của chúng tôi để được xem hướng dẫn kỹ thuật từng bước về việc hoàn thành tạo chỉ mục siêu dữ liệu S3 bằng ví dụ mã